Gcc GMP是否与gfortran一起工作?Silverfrost Fortran是否有任意精度的算术选项?

Gcc GMP是否与gfortran一起工作?Silverfrost Fortran是否有任意精度的算术选项?,gcc,fortran,gfortran,bigdecimal,silverfrost-fortran,Gcc,Fortran,Gfortran,Bigdecimal,Silverfrost Fortran,我正在研究一些Fortran的东西,可能是Fortran 90或Fortran 95,我想知道GMP是否能与gfortran编译器一起工作。如果是这样,人们将如何使用gfortran中的任意精度算法?另外,Silverfrost Fortran编译器是否具有任意算术选项?gfortran或Silverfrost是否支持类似Java的BigDecimal?我不知道fortran的版本需要多久,但可以使用GMP。您需要手动翻译您关心的gmp.h片段(至少是mpz_t的定义和一些函数的声明)iso_c

我正在研究一些Fortran的东西,可能是Fortran 90或Fortran 95,我想知道GMP是否能与gfortran编译器一起工作。如果是这样,人们将如何使用gfortran中的任意精度算法?另外,Silverfrost Fortran编译器是否具有任意算术选项?gfortran或Silverfrost是否支持类似Java的BigDecimal?

我不知道fortran的版本需要多久,但可以使用GMP。您需要手动翻译您关心的gmp.h片段(至少是
mpz_t
的定义和一些函数的声明)
iso_c_binding
bind(c)
可以帮助您在此网站上找到重复项(不特定于GMP)。@marglisse,mpz_t是根据u mpz_struct定义的,它使用
unsigned int
unsigned long
。ISO C绑定不包括
未签名的
类型。这里不允许要求推荐。但是,如果您需要任意[precision entities在Netlib上查找David Bailly的Fortran库。@evets我认为您可以使用带符号的类型来代替。最重要的是获得与u mpz_struct相同大小的内容,但您永远不会直接从Fortran查看内部。我不知道Fortran版本需要有多新,但您可以使用GMP。您需要手动翻译您关心的gmp.h片段(至少是
mpz\u t
的定义和一些函数的声明)。
iso\u c\u binding
bind(c)
可以帮助您在此网站上找到重复的内容(不特定于gmp)@marglisse,mpz_t是根据u_mpz_struct定义的,它使用
无符号int
无符号long
。ISO C绑定不包括
无符号
类型。这里不允许请求推荐。但是,如果您需要任意[precision entities在Netlib上查找David Bailly的Fortran库。@evets我认为您可以使用带符号的类型来代替。最重要的部分是获得与u mpz_struct大小相同的内容,但您永远不会直接从Fortran查看内部。