CライブラリのFortranバインディングを書いています。C言語のFortran 2003バインディング:enumsと#definesをどのように翻訳するのですか?
例えば、列挙を使用して(ライブラリヘッダで)定義されている定数を翻訳上のベストプラクティス何ですか使用
typedef enum cufftType_t {
CUFFT_R2C = 0x2a, // Real to Complex (interleaved)
CUFFT_C2R = 0x2c, // Complex (interleaved) to Real
CUFFT_C2C = 0x29, // Complex to Complex, interleaved
CUFFT_D2Z = 0x6a, // Double to Double-Complex
CUFFT_Z2D = 0x6c, // Double-Complex to Double
CUFFT_Z2Z = 0x69 // Double-Complex to Double-Complex
} cufftType;
及びどの変換定数に#define
、例えばそれら
typedef enum cufftCompatibility_t {
CUFFT_COMPATIBILITY_NATIVE = 0x00,
CUFFT_COMPATIBILITY_FFTW_PADDING = 0x01, // The default value
CUFFT_COMPATIBILITY_FFTW_ASYMMETRIC = 0x02,
CUFFT_COMPATIBILITY_FFTW_ALL = 0x03
} cufftCompatibility;
#define CUFFT_COMPATIBILITY_DEFAULT CUFFT_COMPATIBILITY_FFTW_PADDING
の
#define CUFFT_FORWARD -1 // Forward FFT
#define CUFFT_INVERSE 1 // Inverse FFT
またはそれらの組み合わせ、この情報は、-Dを、または単にUSE-Dモジュールに、別のファイルにあるべき?