f2c ライブラリの機能説明


1. f2c ライブラリ概要

2. f2c ライブラリの関数説明

 

1. f2c ライブラリ概要

f2c は Fortran77 ソースコードをC言語のソースコードに変換するツールである。 しかし、 f2cで変換されたC言語のソースコードを実行するために、f2c の Fortran77のサポート ライブラリ( libf2c4dcl.a )が必要である。
DCLのC言語化ライブラリでは、DCLで使用している41個の f2cサポートライブラリの関数 を独自で作成し、それらをあつめて、DCL用の libf2c4dcl.a を作成した。


2. f2c ライブラリの関数説明

※ この関数説明中、以下のリテラルはf2c.hで定義されている。 ftnlen, integer, real, doublereal, inlist, olist, cllist, cilist, alist, ftnint, icilist.

1

関数名

s_copy

呼出形式

void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)

a ― 文字列コピー先

b ― 文字列コピー元

la ― aの長さ

lb ― bの長さ

戻り値

なし

機能

文字列bからaにコピーする。

a<=b の時、la文字数をコピーする。

a>b の時、lb文字数をコピーする、残りの部分にホワイトスペースを加える。

2

関数名

s_cmp

呼出形式

integer s_cmp(char *a0, char *b0, ftnlen la, ftnlen lb)

a0 ― 文字列

b0 ― 文字列

la ― aの長さ

lb ― bの長さ

戻り値

a0<b0 の時、戻り値 < 0

a0>b0 の時、戻り値 > 0

a0==b0 の時、戻り値 = 0

機能

文字列を比較する。

3

関数名

s_cat

呼出形式

void s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll)

lp―追加先

rpp―追加する文字列の配列

rnp―追加する各文字列の長さ

np―配列の長さ

ll―追加先の長さ

戻り値

なし

機能

複数文字列を追加する。

np個複数の文字列rpp[0]、rpp[1]…をlpという新文字列に追加する。

4

関数名

i_indx

呼出形式

integer i_indx(char *a, char *b, ftnlen la, ftnlen lb)

a ―検索対象文字列

b ― 検索文字列

la ― aの長さ

lb ― bの長さ

戻り値

bがa内に最初の位置を返す。先頭を1とする。見つからない時0を返す。

機能

部分文字列を検索する。

5

関数名

i_len

呼出形式

integer i_len(char *s, ftnlen n)

s―文字列

n―文字列の長さ

戻り値

文字列sの長さを返す。

機能

文字列の長さを取得する。

6

関数名

i_sign

呼出形式

integer i_sign(integer *a, integer *b)

a―整数

b―整数

戻り値

戻り値の符号は整数aの符号で、絶対値は整数bの絶対値。

機能

 

7

関数名

r_sign

呼出形式

real r_sign(real *a, real *b)

a―real型数

b―real型数

戻り値

戻り値の符号はaの符号で、絶対値はbの絶対値。

機能

 

8

関数名

r_lg10

呼出形式

real r_lg10(real *x)

x―対数計算の対象

戻り値

xの対数を返す。

機能

10を底とするxの対数を計算する。

9

関数名

r_mod

呼出形式

real r_mod(real *x, real *y)

x― real型数

y― real型数

戻り値

xから整数個yを除いて、その剰余値を返す。

機能

 

10

関数名

i_nint

呼出形式

integer i_nint(real *x)

x― real型数

戻り値

xに一番近い整数を返す。

機能

 

11

関数名

pow_dd

呼出形式

double pow_dd(double *ap, double *bp)

ap―底

bp―指数

戻り値

apのbp乗の値を返す。

機能

apのbp乗を計算する。

12

関数名

pow_di

呼出形式

double pow_di(double *ap, integer *bp)

ap―底

bp―指数

戻り値

apのbp乗の値を返す。

機能

apのbp乗を計算する。

13

関数名

pow_ii

呼出形式

integer pow_ii(integer *ap, integer *bp)

ap―底

bp―指数

戻り値

apのbp乗の値を返す。

機能

apのbp乗を計算する。

14

関数名

pow_ri

呼出形式

double pow_ri(real *ap, integer *bp)

ap―底

bp―指数

戻り値

apのbp乗の値を返す。

機能

apのbp乗を計算する。 

15

関数名

f_inqu

呼出形式

integer f_inqu(inlist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

ファイル情報を取得する。

16

関数名

f_open

呼出形式

integer f_open(olist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

aのファイルを開く。

17

関数名

f_clos

呼出形式

integer f_clos(cllist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

aのファイルを閉じる。

18

関数名

f_rew

呼出形式

integer f_rew(alist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

ファイルポイントを先頭に移動する。

19

関数名

do_fio

呼出形式

integer do_fio(ftnint *number, char *ptr, ftnlen len)

number―I/Oの回数

ptr― I/Oする時データの格納場所

len―データの長さ

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

number回の書式指定のI/Oをする。

20

関数名

s_rsle

呼出形式

integer s_rsle(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

リストの外部ファイルから読み出しを開始する。

21

関数名

s_wsle

呼出形式

integer s_wsle(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

リストの外部ファイルに書き込みを開始する。

22

関数名

e_rsle

呼出形式

integer e_rsle(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

リストの外部ファイルから読み出しを終了する。 

23

関数名

e_wsle

呼出形式

integer e_wsle(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

リストの外部ファイルに書き込みを終了する。 

24

関数名

do_lio

呼出形式

integer do_lio(ftnint *type, ftnint *number, char *ptr, ftnlen len)

type―I/Oの種類

number―I/Oの回数

ptr―I/Oのデータ格納場所

len―データの長さ

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

リストの外部ファイルにI/Oをする。

25

関数名

s_wsue

呼出形式

integer s_wsue(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

unformattedな外部ファイルに書き込みを開始する。

26

関数名

s_rsue

呼出形式

integer s_rsue(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

unformattedな外部ファイルから読み出しを開始する。

27

関数名

e_rsue

呼出形式

integer e_rsue(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

unformattedな外部ファイルから読み出しを終了する。

28

関数名

e_wsue

呼出形式

integer e_wsue(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

unformattedな外部ファイルに書き込みを終了する。

29

関数名

do_uio

呼出形式

integer do_uio(ftnint *number, char *ptr, ftnlen len)

number―I/Oの項目数

ptr―データ格納場所

len―データの長さ

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

unformattedな外部ファイルのI/Oをする。

30

関数名

s_rsfe

呼出形式

integer s_rsfe(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた外部ファイルから読み出しを開始する。

31

関数名

s_wsfe

呼出形式

integer s_wsfe(cilist *a)

a―ファイル構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた外部ファイルに書き込みを開始する。

32

関数名

e_wsfe

呼出形式

integer e_wsfe(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた外部ファイルに書き込みを終了する。

33

関数名

e_rsfe

呼出形式

integer e_rsfe(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた外部ファイルから読み出しを終了する。

34

関数名

s_rsfi

呼出形式

integer s_rsfi(icilist *a)

a―内部I/O構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた内部I/Oの読み出しを開始する。

35

関数名

s_wsfi

呼出形式

integer s_wsfi(icilist *a)

a―内部I/O構造体

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた内部I/Oの書き込みを開始する。

36

関数名

e_wsfi

呼出形式

integer e_wsfi(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされた内部I/Oの書き込みを終了する。 

37

関数名

e_rsfi

呼出形式

integer e_rsfi(void)

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

formatされたファイル内部I/Oの読み出しを終了する。 

38

関数名

main

呼出形式

main(int argc, char **argv)

argc―プログラムの引数の数

argv―プログラムの引数

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

プログラムを開始する。

シグナル関数を指定し、プログラムを終止する前に呼び出す関数を指定する。それに、ユーザの関数MAIN__()を呼び出す。

39

関数名

s_stop

呼出形式

int s_stop(char *s, ftnlen n)

s―エラーメッセージ

n―sの長さ

戻り値

正常終了時、0を返す。異常終了時、そのエラーコードを返す。

機能

エラーが発生したとき、エラーメッセージを出す。そして、プログラムを終止する。

40

関数名

getarg_

呼出形式

void getarg_(ftnint *n, register char *s, ftnlen ls)

n― n番めの引数

s― その引数の格納場所

ls―sの長さ

戻り値

なし

機能

プログラムのn番目の引数を取得する。

41

関数名

iargc_

呼出形式

ftnint iargc_(void)

戻り値

プログラムの引数の数を返す

機能

プログラムの引数の数を取得する。

戻る


Copyright (C) by GFD-Dennou Club, 1999-2000. All rights reserved.