內(nèi)部函數(shù)為Fortran語言提供一些常見和重要的功能。我們已經(jīng)討論過陣列,字符和字符串一些函數(shù)。
內(nèi)部函數(shù)可歸類為:
我們在陣列章討論的陣列功能。在下面的章節(jié)中,提供了與其他類別的所有這些功能的簡要說明。
函數(shù)名稱列,
Function | 描述 |
---|---|
ABS (A) | 返回A的絕對值 |
AIMAG (Z) | 返回復(fù)數(shù)Z的虛部 |
AINT (A [, KIND]) | 截?cái)郱小數(shù)部分接近零,返回一個(gè)實(shí)數(shù)。 |
ANINT (A [, KIND]) | 返回一個(gè)實(shí)數(shù)值,最接近的整數(shù)或整數(shù)。 |
CEILING (A [, KIND]) | 返回比最小整數(shù)大于或等于數(shù)A. |
CMPLX (X [, Y, KIND]) | 其轉(zhuǎn)換實(shí)數(shù)變量X和Y的一些復(fù)數(shù)X + iY; 如果Y不存在,則使用0。 |
CONJG (Z) | 返回復(fù)數(shù)Z的復(fù)共軛 |
DBLE (A) | 轉(zhuǎn)換A成到雙精度實(shí)數(shù)。 |
DIM (X, Y) | 返回X和Y的正差 |
DPROD (X, Y) | 返回實(shí)數(shù) X 和 Y 產(chǎn)生的雙精度 |
FLOOR (A [, KIND]) | 提供了比最大的整數(shù)小于或等于數(shù)A. |
INT (A [, KIND]) | 將其轉(zhuǎn)換為數(shù)字(真實(shí)或整數(shù))為整數(shù),截?cái)嘞蛄愕膶?shí)部。 |
MAX (A1, A2 [, A3,...]) | 返回的參數(shù)的最大值,相同類型 |
MIN (A1, A2 [, A3,...]) | 返回的參數(shù)的最小值,相同類型 |
MOD (A, P) | 返回用P除以A余數(shù)部分,這兩個(gè)參數(shù)類型相同 (A-INT(A/P)*P) |
MODULO (A, P) | 返回一個(gè)模P:(A-FLOOR(A/P)*P) |
NINT (A [, KIND]) | 返回一個(gè)最接近整數(shù)A的數(shù) |
REAL (A [, KIND]) | 將其轉(zhuǎn)換為實(shí)數(shù)類型 |
SIGN (A, B) | 返回一個(gè)乘以P. 符號(hào)的絕對值基本上它轉(zhuǎn)移B的標(biāo)志為A. |
示例
program numericFunctions implicit none ! define constants ! define variables real :: a, b complex :: z ! values for a, b a = 15.2345 b = -20.7689 write(*,*) 'abs(a): ',abs(a),' abs(b): ',abs(b) write(*,*) 'aint(a): ',aint(a),' aint(b): ',aint(b) write(*,*) 'ceiling(a): ',ceiling(a),' ceiling(b): ',ceiling(b) write(*,*) 'floor(a): ',floor(a),' floor(b): ',floor(b) z = cmplx(a, b) write(*,*) 'z: ',z end program numericFunctions
當(dāng)編譯并執(zhí)行上述程序,它會(huì)產(chǎn)生以下結(jié)果:
abs(a): 15.2344999 abs(b): 20.7688999 aint(a): 15.0000000 aint(b): -20.0000000 ceiling(a): 16 ceiling(b): -20 floor(a): 15 floor(b): -21 z: (15.2344999, -20.7688999)
函數(shù) | 描述 |
---|---|
ACOS (X) | 返回該反余弦在范圍(0,π),以弧度的形式。 |
ASIN (X) | 返回該反正弦在范圍(-π/ 2,π/ 2),單位為弧度。 |
ATAN (X) | 返回反正切的范圍(-π/ 2,π/ 2),單位為弧度。 |
ATAN2 (Y, X) | 返回反正切的范圍(-π,π),以弧度表示。 |
COS (X) | 返回參數(shù)的弧度的余弦值。 |
COSH (X) | 返回參數(shù)的弧度的雙曲余弦值。 |
EXP (X) | 返回X的指數(shù)值 |
LOG (X) | 返回X的自然對數(shù)值 |
LOG10 (X) | 返回常用對數(shù)(10為基數(shù))X的值 |
SIN (X) | 返回參數(shù)的弧度的正弦值。 |
SINH (X) | 返回參數(shù)的弧度雙曲正弦。 |
SQRT (X) | 返回X的平方根 |
TAN (X) | 返回參數(shù)的弧度的切線。 |
TANH (X) | 返回參數(shù)弧度的雙曲正切值。 |
示例
下列程序計(jì)算水平和垂直位置x和y表示拋射時(shí)間,t:
這里, x = u t cos a 以及 y = u t sin a - g t2 / 2
program projectileMotion implicit none ! define constants real, parameter :: g = 9.8 real, parameter :: pi = 3.1415927 !define variables real :: a, t, u, x, y !values for a, t, and u a = 45.0 t = 20.0 u = 10.0 ! convert angle to radians a = a * pi / 180.0 x = u * cos(a) * t y = u * sin(a) * t - 0.5 * g * t * t write(*,*) 'x: ',x,' y: ',y end program projectileMotion
當(dāng)編譯并執(zhí)行上述程序,它會(huì)產(chǎn)生以下結(jié)果:
x: 141.421356 y: -1818.57861
這些函數(shù)的工作在整數(shù)模型和浮點(diǎn)運(yùn)算。該函數(shù)返回相同的種類作為變量X,它可以是實(shí)數(shù),在某些情況下,擁有整數(shù)的性質(zhì)。
函數(shù) | 描述 |
---|---|
DIGITS (X) | 返回顯著模型的位數(shù)。 |
EPSILON (X) | 返回相比一個(gè)是幾乎可以忽略不計(jì)的數(shù)目。換句話說,它返回最小值,使得REAL( 1.0, KIND(X)) + EPSILON(X)為不等于REAL( 1.0, KIND(X))。 |
HUGE (X) | 返回模型最多數(shù)量 |
MAXEXPONENT (X) | 返回該模型的最大指數(shù) |
MINEXPONENT (X) | 返回該模型的最小指數(shù) |
PRECISION (X) | 返回小數(shù)精度 |
RADIX (X) | 返回該模型的基數(shù) |
RANGE (X) | 返回十進(jìn)制指數(shù)范圍 |
TINY (X) | 返回該模型的最小正數(shù) |
函數(shù) | 描述 |
---|---|
EXPONENT (X) | 返回一個(gè)模型數(shù)的指數(shù)部分 |
FRACTION (X) | 返回一個(gè)數(shù)的小數(shù)部分 |
NEAREST (X, S) | 返回給定的方向最近的不同處理器編號(hào) |
RRSPACING (X) | 返回型號(hào)的鄰近給定數(shù)量的相對間隔的倒數(shù) |
SCALE (X, I) | 乘以一個(gè)實(shí)數(shù)由基數(shù)的整數(shù)次冪 |
SET_EXPONENT (X, I) | 返回一個(gè)數(shù)的指數(shù)部分 |
SPACING (X) | 返回型號(hào)的絕對間隔接近指定數(shù)值 |
函數(shù) | 描述 |
---|---|
BIT_SIZE (I) | 返回該模型的比特?cái)?shù) |
BTEST (I, POS) | 位測試 |
IAND (I, J) | 邏輯與 |
IBCLR (I, POS) | 清除位 |
IBITS (I, POS, LEN) | 位提取 |
IBSET (I, POS) | 設(shè)置位 |
IEOR (I, J) | 異或 |
IOR (I, J) | 包括或 |
ISHFT (I, SHIFT) | 邏輯移位 |
ISHFTC (I, SHIFT [, SIZE]) | 循環(huán)移位 |
NOT (I) | 邏輯補(bǔ) |
函數(shù) | 描述 |
---|---|
ACHAR (I) | 它返回ASCII整理序列中的第i個(gè)字符。 |
ADJUSTL (STRING) | 它通過調(diào)節(jié)刪除任何前導(dǎo)空格和插入尾隨空白留下的字符串 |
ADJUSTR (STRING) | 它去除右尾隨空白和插入前導(dǎo)空格調(diào)整字符串。 |
CHAR (I [, KIND]) | 它返回特定機(jī)器整理序列中的第i個(gè)字符 |
IACHAR (C) | 它返回字符的ASCII碼排序序列中的位置。 |
ICHAR (C) | 它返回字符在機(jī)器(處理器)特定排序序列中的位置。 |
INDEX (STRING, SUBSTRING [, BACK]) | 它返回SUBSTRING內(nèi)STRING最左邊(最右邊如果返回.TRUE。)起始位置。 |
LEN (STRING) | 它返回字符串的長度。 |
LEN_TRIM (STRING) | 它返回一個(gè)字符串的長度沒有結(jié)尾的空白字符。 |
LGE (STRING_A, STRING_B) | 詞匯上大于或等于 |
LGT (STRING_A, STRING_B) | 詞匯上大于 |
LLE (STRING_A, STRING_B) | 詞匯上大于或等于以下 |
LLT (STRING_A, STRING_B) | 詞匯上小于 |
REPEAT (STRING, NCOPIES) | 重復(fù)并置 |
SCAN (STRING, SET [, BACK]) | 它返回STRING屬于集,或者0,如果都不屬于最左邊(最右邊如果返回.TRUE。)字符的索引。 |
TRIM (STRING) | 刪除結(jié)尾的空白字符 |
VERIFY (STRING, SET [, BACK]) | 驗(yàn)證字符集的字符串 |