ここで入手可能な球体でNavier-Stokesを解決するプロジェクトをコンパイルしようとしていました: https://fms.gfdl.noaa.gov/gf/
使用されるデフォルトのコンパイラは ifort であり、gfortran を使用したかったのは、それを使用したい人が最終的に利用できるようにしたいからです。
コードのいくつかのポイントで、次のようなステートメントがあります
if (x == y)
ここで、x と y は両方とも、整数、実数、およびポインターを含む派生型 (domain1d/2d と呼ばれます) です。gfortran は、比較は非数値と終了の間であると不平を言います。
その後、ifort の試用版をダウンロードしたところ、問題なくコンパイルされました。
それで、これが型/構造体の各メンバーの実際の比較に対するある種の ifort の省略形なのか (C の用語の方が快適です!)、それとも基本的な何かが欠けているのか、fortran に慣れていないのか知りたいと思いました。
派生型を比較することはあまり意味がないことは理解していますが、ここでは、両方が同じ情報を保持しているかどうかを単純にチェックしているように見えます。
ありがとう、ジョイ