2 * Functions and Variables for f90::
5 @node Functions and Variables for f90, , f90, f90
6 @section Functions and Variables for f90
9 @deffn {関数} f90 (@var{expr_1}, ..., @var{expr_n})
11 1つ以上の式@var{expr_1}, ..., @var{expr_n}を
12 Fortran 90プログラムとして印字します。
16 Fortran 90のいわゆる「自由形式」入力フォーマットで出力を印字します:
19 アンパサンド@code{&}継続文字で固定幅に分割されます。
21 @code{load(f90)}はこの関数をロードします。
27 @c foo : expand ((xxx + yyy + 7)^4);
32 (%i2) foo : expand ((xxx + yyy + 7)^4);
34 (%o2) yyy + 4 xxx yyy + 28 yyy + 6 xxx yyy + 84 xxx yyy
36 + 294 yyy + 4 xxx yyy + 84 xxx yyy + 588 xxx yyy + 1372 yyy
38 + xxx + 28 xxx + 294 xxx + 1372 xxx + 2401
39 (%i3) f90 ('foo = foo);
40 foo = yyy**4+4*xxx*yyy**3+28*yyy**3+6*xxx**2*yyy**2+84*xxx*yyy**2&
41 +294*yyy**2+4*xxx**3*yyy+84*xxx**2*yyy+588*xxx*yyy+1372*yyy+xxx**&
42 4+28*xxx**3+294*xxx**2+1372*xxx+2401
47 @code{with_stdout}関数を介して標準出力をファイルにとらえます。
51 @c foo : sin (3*x + 1) - cos (7*x - 2);
52 @c with_stdout ("foo.f90", f90 (x = 0.25, y = 0.625, 'foo = foo, 'stop, 'end));
53 @c printfile ("foo.f90");
57 (%i2) foo : sin (3*x + 1) - cos (7*x - 2);
58 (%o2) sin(3 x + 1) - cos(7 x - 2)
59 (%i3) with_stdout ("foo.f90",
60 f90 (x = 0.25, y = 0.625, 'foo = foo, 'stop, 'end));
62 (%i4) printfile ("foo.f90");
65 foo = sin(3*x+1)-cos(7*x-2)
72 @category{Translation and compilation} @category{Share packages} @category{Package f90}