
没有,直到fortran2003为止,有类似宏的,但比宏能表达更复杂表达式的ASSOCIATE语句,主要用于编程上,对于复杂表达式的替换。对于运行速度提高没有太多帮助。
内联函数,fortran没有,fortran主要是面向数值计算和科学计算的编程语言,没有像C那样的面向底层开发,没有内联函数的功能。
后期的fortran引入的变量指针,过程指针和面向对象的功能,还引入了 *** 作符重载,便于编程开发。但没有引入C语言的底层特性,如内联函数
此子程序是一 f 文件,可以将一个字符串中的小写字母转换为大写字母。FORTRAN中并没有直接转换字母大小写的内部函数,必须使用内码转换,即先把字母的ACSII码读出,然后减去32,再转换为字母,就达到目的了
c
c
c ###############################################################
c ## ##
c ## subroutine upcase -- convert string to all upper case ##
c ## ##
c ###############################################################
c
c
c "upcase" converts a text string to all upper case letters
c
c
subroutine upcase (string)
implicit none
integer i,size,len
integer code,ichar
character1 char
character1 letter
character() string
c
c
c convert lower case to upper case one letter at a time
c
size = len(string)
do i = 1, size
letter = string(i:i)
code = ichar(letter)
if (letterge'a' and letterle'z')
& string(i:i) = char(code-32)
end do
return
end
ABS, AIMAG, AINT, AMAX0, AMIN0, ANINT, CEILING, CMPLX, CONJG, DBLE, DCMPLX, DFLOAT, DIM, DPROD, DREAL, FLOAT, FLOOR, IFIX, IMAG, INT, MAX, MAX1, MIN, MIN1, MOD, MODULO, NINT, QCMPLX, QEXT, QFLOAT, QREAL, RAN, REAL, SIGN, SNGL, ZEXT
EXPONENT, FRACTION, NEAREST, RRSPACING, SCALE, SET_EXPONENT, SPACING
DIGITS, EPSILON, HUGE, ILEN, MAXEXPONENT, MINEXPONENT, PRECISION, RADIX, RANGE, SIZEOF, TINY
DOT_PRODUCT, MATMUL
PROCESSORS_SHAPE, NWORKERS, NUMBER_OF_PROCESSORS, SECNDS
KIND, SELECTED_INT_KIND, SELECTED_REAL_KIND
ACOS, ACOSD, ASIN, ASIND, ATAN, ATAND, ATAN2, ATAN2D, COS, COSD, COSH, COTAN, COTAND, EXP, LOG, LOG10, SIN, SIND, SINH, SQRT, TAN, TAND, TANH
AND, BTEST, IAND, IBCHNG, IBCLR, IBITS, IBSET, IEOR, IOR, ISHA, ISHC, ISHFT, ISHFTC, ISHL, LSHIFT, NOT, OR, RSHIFT, XOR
BIT_SIZE
LEADZ, POPCNT, POPPAR, TRAILZ
LGE, LGT, LLE, LLT
ACHAR, CHAR, IACHAR, ICHAR
ADJUSTL, ADJUSTR, INDEX, LEN_TRIM, REPEAT, SCAN, TRIM, VERIFY
LEN
MERGE, PACK, SPREAD, UNPACK
ALLOCATED, LBOUND, SHAPE, SIZE, UBOUND
MAXLOC, MINLOC
CSHIFT, EOSHIFT, RESHAPE, TRANSPOSE
ALL, ANY, COUNT, MAXVAL, MINVAL, PRODUCT
常用数学函数使用方法
Y=INT(X) 转换为整数 ALL(所有型态) INTEGER
Y=REAL(X) 转换为实数 INTEGER REAL
Y=DREAL(X) 取复数实部(倍精度) COMPLEX16 REAL8
Y=DIMAG(X) 取复数虚部(倍精度) COMPLEX16 REAL8
Y=CONJG(X) 共轭复数 COMPLEX COMPLEX
Y=DCONJG(X) 共轭倍精度复数 COMPLEX16 COMPLEX16
Y=DBLE(X) 转换为倍精度实数 ALL REAL8
Y=CMPLX(X1,X2) 转换为复数 ALL,ALL COMPLEX
Y=DCMPLX(X1,X2) 转换为倍精度复数 ALL,ALL COMPLEX16
Y=IABS(X) 整数绝对值 INTEGER INTEGER
Y=DABS(X) 倍精度实数绝对值 REAL8 REAL8
Y=CDABS(X) 倍精度复数绝对值 COMPLEX16 REAL8
Y=MOD(X1,X2) 整数X1/X2之余数 INTEGER,INTEGER INTEGER
Y=DMOD(X1,X2) 倍精度实数X1/X2之余数 REAL8,REAL8 REAL8
Y=ISIGN(X1,X2) 取X1之值与X2之正负号 INTEGER,INTEGER INTEGER
Y=SIGN(X1,X2) 取X1之值与X2之正负号 REAL,REAL REAL
Y=DSIGN(X,Y) 取X1之值与X2之正负号 REAL8,REAL8 REAL8
Y=DSQRT(X) X的倍精度平方根 REAL8 REAL8
Y=CDSQRT(X) X的倍精度复数平方根 COMPLEX16 COMPLEX16
Y=DEXP(X) X的倍精度指数 REAL8 REAL8
Y=CDEXP(X) X的倍精度复数指数 COMPLEX16 COMPLEX16
Y=DLOG(X) X的倍精度自然对数 REAL8 REAL8
Y=CDLOG(X) X的倍精度复数自然对数 COMPLEX16 COMPLEX167
Y=DLOG10(X) X的倍精度常用对数 REAL8 REAL8
Y=DSIN(X) X的倍精度正弦函数 REAL8 REAL8
Y=DCOS(X) X的倍精度余弦函数 REAL8 REAL8
Y=DTAN(X) X的倍精度正切函数 REAL8 REAL8
Y=DASIN(X) X的倍精度正弦反函数 REAL8 REAL8
Y=DACOS(X) X的倍精度余弦反函数 REAL8 REAL8
Y=DATAN(X) X的倍精度正切反函数 REAL8 REAL8
Y=DSINH(X) X的倍精度双曲正弦函数 REAL8 REAL8
Y=DCOSH(X) X的倍精度双曲余弦函数 REAL8 REAL8
Y=DTANH(X) X的倍精度双曲正切函数 REAL8 REAL8
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)