打印来自fortran的复数

时间:2016-07-05 23:09:45

标签: c fortran

所以我有一个以

开头的数组

COMPLEX(KIND=GP), ALLOCATABLE, DIMENSION (:,:,:) :: C1,C2

fortran中的

(不是我的代码),我只是尝试使用c代码打印这个数组的元素。

这是我的c代码,

    #include <stdio.h>

typedef struct com{
long double r, i;
} x;

void printfunc_(x* k){

        printf("Reading from fortran: %Le\t %Le\n", k->r, k->i);
}

在fortran中我打电话:

CALL printFUNC(C1(k,j,i))

k,j,我是我的。

但我只得到0.000000e + 00

我不知道GP是什么,但是从查找fortran代码看起来它可能是4,8或16个。

我尝试了c代码,结构为float,double和long double。有了这两个前者我得到-0.000000和0.000000。我知道通过查看实际输出应该有值:小的单精度浮点数。

0 个答案:

没有答案