ruby-dcl 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +321 -0
- data/GenWrapper/Makefile +14 -0
- data/GenWrapper/cproto2init.rb +41 -0
- data/GenWrapper/dcl_narrayed_funcs.rb +181 -0
- data/GenWrapper/dcl_rb_footing +29 -0
- data/GenWrapper/dcl_rb_heading +129 -0
- data/GenWrapper/def.rb +20 -0
- data/GenWrapper/elim_ary_size.rb +398 -0
- data/GenWrapper/etc/Mk_proto +375 -0
- data/GenWrapper/etc/dcl_gen +13 -0
- data/GenWrapper/etc/p_header +63 -0
- data/GenWrapper/etc/p_init +410 -0
- data/GenWrapper/pparse.rb +137 -0
- data/GenWrapper/proto/Makefile +35 -0
- data/GenWrapper/proto/grph1_00 +17 -0
- data/GenWrapper/proto/grph1_csgi.fp +27 -0
- data/GenWrapper/proto/grph1_scpack.fp +442 -0
- data/GenWrapper/proto/grph1_sgpack.fp +1406 -0
- data/GenWrapper/proto/grph1_slpack.fp +316 -0
- data/GenWrapper/proto/grph1_stpack.fp +411 -0
- data/GenWrapper/proto/grph1_swpack.fp +746 -0
- data/GenWrapper/proto/grph2_00 +16 -0
- data/GenWrapper/proto/grph2_grpack.fp +139 -0
- data/GenWrapper/proto/grph2_ucpack.fp +522 -0
- data/GenWrapper/proto/grph2_udpack.fp +692 -0
- data/GenWrapper/proto/grph2_uepack.fp +601 -0
- data/GenWrapper/proto/grph2_ugpack.fp +436 -0
- data/GenWrapper/proto/grph2_uhpack.fp +246 -0
- data/GenWrapper/proto/grph2_ulpack.fp +516 -0
- data/GenWrapper/proto/grph2_umpack.fp +676 -0
- data/GenWrapper/proto/grph2_uspack.fp +989 -0
- data/GenWrapper/proto/grph2_uupack.fp +663 -0
- data/GenWrapper/proto/grph2_uvpack.fp +246 -0
- data/GenWrapper/proto/grph2_uwpack.fp +203 -0
- data/GenWrapper/proto/grph2_uxpack.fp +295 -0
- data/GenWrapper/proto/grph2_uypack.fp +295 -0
- data/GenWrapper/proto/grph2_uzpack.fp +574 -0
- data/GenWrapper/proto/math1_00 +12 -0
- data/GenWrapper/proto/math1_blklib.fp +58 -0
- data/GenWrapper/proto/math1_chrlib.fp +83 -0
- data/GenWrapper/proto/math1_fnclib.fp +79 -0
- data/GenWrapper/proto/math1_gnmlib.fp +118 -0
- data/GenWrapper/proto/math1_gt2dlib.fp +144 -0
- data/GenWrapper/proto/math1_ifalib.fp +123 -0
- data/GenWrapper/proto/math1_indxlib.fp +222 -0
- data/GenWrapper/proto/math1_intlib.fp +46 -0
- data/GenWrapper/proto/math1_lrllib.fp +276 -0
- data/GenWrapper/proto/math1_maplib.fp +24 -0
- data/GenWrapper/proto/math1_oslib.fp +28 -0
- data/GenWrapper/proto/math1_rfalib.fp +420 -0
- data/GenWrapper/proto/math1_rfblib.fp +51 -0
- data/GenWrapper/proto/math1_sublib.fp +60 -0
- data/GenWrapper/proto/math1_syslib.fp +767 -0
- data/GenWrapper/proto/math1_vialib.fp +339 -0
- data/GenWrapper/proto/math1_viblib.fp +264 -0
- data/GenWrapper/proto/math1_vralib.fp +339 -0
- data/GenWrapper/proto/math1_vrblib.fp +264 -0
- data/GenWrapper/proto/math1_xfclib.fp +68 -0
- data/GenWrapper/proto/math2_00 +12 -0
- data/GenWrapper/proto/math2_fftlib.fp +803 -0
- data/GenWrapper/proto/math2_intrlib.fp +32 -0
- data/GenWrapper/proto/math2_odelib.fp_notused +568 -0
- data/GenWrapper/proto/math2_rnmlib.fp +54 -0
- data/GenWrapper/proto/math2_shtlib.fp +1292 -0
- data/GenWrapper/proto/math2_shtlib.fp_old +1294 -0
- data/GenWrapper/proto/math2_vstlib.fp +84 -0
- data/GenWrapper/proto/misc1_00 +17 -0
- data/GenWrapper/proto/misc1_chnlib.fp +47 -0
- data/GenWrapper/proto/misc1_datelib.fp +352 -0
- data/GenWrapper/proto/misc1_fmtlib.fp +19 -0
- data/GenWrapper/proto/misc1_misclib.fp +26 -0
- data/GenWrapper/proto/misc1_randlib.fp +36 -0
- data/GenWrapper/proto/misc1_timelib.fp +151 -0
- data/GenWrapper/proto2c.rb +13 -0
- data/GenWrapper/prototype.rb +209 -0
- data/GenWrapper/util.rb +9 -0
- data/GenWrapper/variable.rb +671 -0
- data/README +29 -0
- data/Rakefile +44 -0
- data/ToDo +2 -0
- data/dcl_cary2obj.c +354 -0
- data/dcl_narrayed_funcs.c +518 -0
- data/dcl_obj2cary.c +512 -0
- data/dcl_rubydcloriginal.c +129 -0
- data/demo/gokuraku/hop/hop.rb +26 -0
- data/demo/gokuraku/jump/jump1.rb +64 -0
- data/demo/gokuraku/jump/jump2.rb +50 -0
- data/demo/gokuraku/layout/lay1.rb +46 -0
- data/demo/gokuraku/layout/lay2.rb +44 -0
- data/demo/gokuraku/step/step0.rb +34 -0
- data/demo/gokuraku/step/step1.rb +84 -0
- data/demo/gokuraku/step/step2.rb +62 -0
- data/demo/gokuraku/u1d/u1d1.rb +37 -0
- data/demo/gokuraku/u1d/u1d2.rb +50 -0
- data/demo/gokuraku/u2d/u2d1.rb +46 -0
- data/demo/gokuraku/u2d/u2d2.rb +49 -0
- data/demo/gokuraku/u2d/u2d3.rb +45 -0
- data/demo/gokuraku/u2d/u2d4.rb +61 -0
- data/demo/grph1/scpack/scpkt2.rb +40 -0
- data/demo/grph1/scpack/scpkt3.rb +102 -0
- data/demo/grph1/scpack/scpkt6.rb +84 -0
- data/demo/grph1/scpack/scpkt7.rb +59 -0
- data/demo/grph1/scpack/scpkt8.rb +60 -0
- data/demo/grph1/scpack/t810630.dat +296 -0
- data/demo/grph1/scpack/t811231.dat +296 -0
- data/demo/grph1/sgpack/sgfont.rb +52 -0
- data/demo/grph1/sgpack/sgfonz.rb +53 -0
- data/demo/grph1/sgpack/sgksx1.rb +44 -0
- data/demo/grph1/sgpack/sgksx2.rb +90 -0
- data/demo/grph1/sgpack/sgksx3.rb +75 -0
- data/demo/grph1/sgpack/sglidx.rb +40 -0
- data/demo/grph1/sgpack/sgltyp.rb +48 -0
- data/demo/grph1/sgpack/sgpk01.rb +39 -0
- data/demo/grph1/sgpack/sgpk02.rb +79 -0
- data/demo/grph1/sgpack/sgpk03.rb +107 -0
- data/demo/grph1/sgpack/sgpk04.rb +86 -0
- data/demo/grph1/sgpack/sgpk05.rb +66 -0
- data/demo/grph1/sgpack/sgpk06.rb +91 -0
- data/demo/grph1/sgpack/sgpk07.rb +66 -0
- data/demo/grph1/sgpack/sgpk08.rb +67 -0
- data/demo/grph1/sgpack/sgpk09.rb +61 -0
- data/demo/grph1/sgpack/sgpk10.rb +58 -0
- data/demo/grph1/sgpack/sgtclr.rb +59 -0
- data/demo/grph1/sgpack/sgtone.rb +70 -0
- data/demo/grph1/sgpack/sgtonz.rb +66 -0
- data/demo/grph1/slpack/slpk01.rb +37 -0
- data/demo/grph1/slpack/slpk02.rb +29 -0
- data/demo/grph1/slpack/slpk03.rb +36 -0
- data/demo/grph1/slpack/slpk04.rb +36 -0
- data/demo/grph2/g2pack/g2pk01.rb +78 -0
- data/demo/grph2/g2pack/g2pk02.rb +75 -0
- data/demo/grph2/grpack/grpk01.rb +65 -0
- data/demo/grph2/ucpack/ucpk01.rb +95 -0
- data/demo/grph2/ucpack/ucpk02.rb +95 -0
- data/demo/grph2/udegpk/u2df01.rb +50 -0
- data/demo/grph2/udegpk/u2df02.rb +76 -0
- data/demo/grph2/udegpk/u2df03.rb +80 -0
- data/demo/grph2/udegpk/u2df04.rb +52 -0
- data/demo/grph2/udegpk/u2df05.rb +70 -0
- data/demo/grph2/udegpk/u2df06.rb +59 -0
- data/demo/grph2/udegpk/u2df07.rb +68 -0
- data/demo/grph2/udegpk/u2df08.rb +91 -0
- data/demo/grph2/udegpk/u2df09b.rb +88 -0
- data/demo/grph2/udegpk/u2df09c.rb +89 -0
- data/demo/grph2/udegpk/u2df09e.rb +88 -0
- data/demo/grph2/udegpk/u2df09f.rb +89 -0
- data/demo/grph2/ulpack/ulpk01.rb +111 -0
- data/demo/grph2/ulpack/ulpk01n.rb +111 -0
- data/demo/grph2/ulpack/ulpk02.rb +111 -0
- data/demo/grph2/ulpack/ulpk02n.rb +111 -0
- data/demo/grph2/umpack/t811231.dat +296 -0
- data/demo/grph2/umpack/test01.rb +69 -0
- data/demo/grph2/umpack/test02.rb +64 -0
- data/demo/grph2/umpack/test03.rb +84 -0
- data/demo/grph2/umpack/test04.rb +54 -0
- data/demo/grph2/umpack/test05.rb +85 -0
- data/demo/grph2/umpack/test06.rb +44 -0
- data/demo/grph2/umpack/test07.rb +43 -0
- data/demo/grph2/umpack/test08.rb +37 -0
- data/demo/grph2/umpack/test09.rb +86 -0
- data/demo/grph2/umpack/test10.rb +52 -0
- data/demo/grph2/umpack/umpk01.rb +65 -0
- data/demo/grph2/umpack/umpk02.rb +54 -0
- data/demo/grph2/umpack/umpk03.rb +46 -0
- data/demo/grph2/umpack/umpk04.rb +65 -0
- data/demo/grph2/umpack/umpk05.rb +84 -0
- data/demo/grph2/uspack/uspk01.rb +39 -0
- data/demo/grph2/uspack/uspk02.rb +47 -0
- data/demo/grph2/uspack/uspk03.rb +38 -0
- data/demo/grph2/uspack/uspk04.rb +64 -0
- data/demo/grph2/uspack/uspk05.rb +68 -0
- data/demo/grph2/uspack/uspk06.rb +43 -0
- data/demo/grph2/uspack/uspk07.rb +62 -0
- data/demo/grph2/uspack/uspk08.rb +46 -0
- data/demo/grph2/uspack/uspk09.rb +89 -0
- data/demo/grph2/uspack/uspk10.rb +48 -0
- data/demo/grph2/uspack/uspk11.rb +71 -0
- data/demo/grph2/uspack/uspk12.rb +51 -0
- data/demo/grph2/uupack/uupk01.rb +50 -0
- data/demo/grph2/uupack/uupk02.rb +74 -0
- data/demo/grph2/uupack/uupk03.rb +56 -0
- data/demo/grph2/uupack/uupk04.rb +84 -0
- data/demo/grph2/uupack/uupk05.rb +74 -0
- data/demo/grph2/uupack/uupk06.rb +77 -0
- data/demo/grph2/uupack/uupk07.rb +88 -0
- data/demo/grph2/uxyzpk/uxyz01.rb +38 -0
- data/demo/grph2/uxyzpk/uxyz02.rb +36 -0
- data/demo/grph2/uxyzpk/uxyz03.rb +37 -0
- data/demo/grph2/uxyzpk/uxyz04.rb +54 -0
- data/demo/grph2/uxyzpk/uxyz05.rb +41 -0
- data/demo/grph2/uxyzpk/uxyz06.rb +42 -0
- data/demo/grph2/uxyzpk/uxyz07.rb +38 -0
- data/demo/grph2/uxyzpk/uxyz08.rb +60 -0
- data/demo/grph2/uxyzpk/uxyz09.rb +52 -0
- data/demo/grph2/uxyzpk/uxyz10.rb +57 -0
- data/demo/grph2/ximage/MEMO +23 -0
- data/demo/grph2/ximage/tomsclm.dat +1344 -0
- data/demo/grph2/ximage/ximg01.rb +145 -0
- data/demo/math1/gt2dlib/gt2d01.rb +33 -0
- data/demo/math2/fftlib/fftl01.rb +28 -0
- data/demo/math2/fftlib/fftl02.rb +224 -0
- data/demo/math2/intrlib/intr01.rb +22 -0
- data/demo/math2/rnmlib/rnml01.rb +21 -0
- data/demo/math2/vstlib/vstl01.rb +29 -0
- data/demo/math2/vstlib/vstl02.rb +38 -0
- data/demo/rakuraku/color/color1.rb +61 -0
- data/demo/rakuraku/color/color2.rb +57 -0
- data/demo/rakuraku/color/color3.rb +81 -0
- data/demo/rakuraku/kihon/kihon1.rb +39 -0
- data/demo/rakuraku/kihon/kihon2.rb +56 -0
- data/demo/rakuraku/kihon/kihon3.rb +57 -0
- data/demo/rakuraku/kihon/kihon4.rb +70 -0
- data/demo/rakuraku/kihon/kihon5.rb +56 -0
- data/demo/rakuraku/kihon/kihon6.rb +40 -0
- data/demo/rakuraku/kihon/kihon7.rb +98 -0
- data/demo/rakuraku/kihon/kihon8.rb +93 -0
- data/demo/rakuraku/kihon/kihon9.rb +77 -0
- data/demo/rakuraku/kihon/kihona.rb +123 -0
- data/demo/rakuraku/kihon/kihonb.rb +73 -0
- data/demo/rakuraku/kihon/kihonc.rb +110 -0
- data/demo/rakuraku/layout/lay1.rb +29 -0
- data/demo/rakuraku/layout/lay2.rb +28 -0
- data/demo/rakuraku/layout/lay3.rb +29 -0
- data/demo/rakuraku/map3d/map3d1.rb +68 -0
- data/demo/rakuraku/map3d/map3d2.rb +67 -0
- data/demo/rakuraku/map3d/map3d3.rb +66 -0
- data/demo/rakuraku/map3d/map3d4.rb +107 -0
- data/demo/rakuraku/map3d/map3d5.rb +118 -0
- data/demo/rakuraku/map3d/map3d6.rb +96 -0
- data/demo/rakuraku/map3d/map3d7.rb +98 -0
- data/demo/rakuraku/miss/miss1.rb +76 -0
- data/demo/rakuraku/miss/miss2.rb +60 -0
- data/demo/rakuraku/quick/quick1.rb +35 -0
- data/demo/rakuraku/quick/quick2.rb +33 -0
- data/demo/rakuraku/quick/quick3.rb +46 -0
- data/demo/rakuraku/quick/quick4.rb +47 -0
- data/demo/rakuraku/quick/quick5.rb +46 -0
- data/demo/rakuraku/u2d/u2d1.rb +50 -0
- data/demo/rakuraku/u2d/u2d2.rb +51 -0
- data/demo/rakuraku/u2d/u2d3.rb +70 -0
- data/demo/rakuraku/u2d/u2d4.rb +59 -0
- data/demo/rakuraku/u2d/u2d5.rb +61 -0
- data/demo/rakuraku/u2d/u2d6.rb +57 -0
- data/demo/rakuraku/u2d/u2d7.rb +103 -0
- data/demo/rakuraku/uspack/uspac1.rb +35 -0
- data/demo/rakuraku/uspack/uspac2.rb +66 -0
- data/demo/rakuraku/uspack/uspac3.rb +37 -0
- data/demo/rakuraku/uspack/uspac4.rb +49 -0
- data/demo/rakuraku/uxyz/uxyz1.rb +37 -0
- data/demo/rakuraku/uxyz/uxyz2.rb +35 -0
- data/demo/rakuraku/uxyz/uxyz3.rb +38 -0
- data/demo/rakuraku/uxyz/uxyz4.rb +36 -0
- data/demo/rakuraku/uxyz/uxyz5.rb +57 -0
- data/demo/rakuraku/uxyz/uxyz6.rb +43 -0
- data/demo/rakuraku/uxyz/uxyz7.rb +39 -0
- data/demo/rakuraku/uxyz/uxyz8.rb +56 -0
- data/demo/rubydcloriginal/uemrkz1.rb +37 -0
- data/dummy.c +9 -0
- data/extconf.rb +133 -0
- data/grph1_csgi.c +119 -0
- data/grph1_scpack.c +1388 -0
- data/grph1_sgpack.c +3876 -0
- data/grph1_slpack.c +432 -0
- data/grph1_stpack.c +1044 -0
- data/grph1_swpack.c +1922 -0
- data/grph1_zgpack.c.org +141 -0
- data/grph2_grpack.c +368 -0
- data/grph2_ucpack.c +1232 -0
- data/grph2_udpack.c +1404 -0
- data/grph2_uepack.c +1443 -0
- data/grph2_ugpack.c +1073 -0
- data/grph2_uhpack.c +943 -0
- data/grph2_ulpack.c +1304 -0
- data/grph2_umpack.c +1540 -0
- data/grph2_uspack.c +2481 -0
- data/grph2_uupack.c +1689 -0
- data/grph2_uvpack.c +943 -0
- data/grph2_uwpack.c +552 -0
- data/grph2_uxpack.c +555 -0
- data/grph2_uypack.c +555 -0
- data/grph2_uzpack.c +1455 -0
- data/init.c.default +187 -0
- data/init.c.gtk +189 -0
- data/lib/dcl.rb +5084 -0
- data/math1_blklib.c +227 -0
- data/math1_chrlib.c +239 -0
- data/math1_fnclib.c +254 -0
- data/math1_gnmlib.c +356 -0
- data/math1_gt2dlib.c +514 -0
- data/math1_ifalib.c +427 -0
- data/math1_indxlib.c +709 -0
- data/math1_intlib.c +167 -0
- data/math1_lrllib.c +817 -0
- data/math1_maplib.c +172 -0
- data/math1_oslib.c +111 -0
- data/math1_rfalib.c +1417 -0
- data/math1_rfblib.c +232 -0
- data/math1_sublib.c +221 -0
- data/math1_syslib.c +2025 -0
- data/math1_vialib.c +1156 -0
- data/math1_viblib.c +1027 -0
- data/math1_vralib.c +1156 -0
- data/math1_vrblib.c +1027 -0
- data/math1_xfclib.c +142 -0
- data/math2_fftlib.c +833 -0
- data/math2_intrlib.c +138 -0
- data/math2_rnmlib.c +226 -0
- data/math2_shtlib.c +1568 -0
- data/math2_vstlib.c +366 -0
- data/misc1_chnlib.c +179 -0
- data/misc1_datelib.c +953 -0
- data/misc1_fmtlib.c +99 -0
- data/misc1_misclib.c +118 -0
- data/misc1_randlib.c +142 -0
- data/misc1_timelib.c +380 -0
- data/obsolete/README +2 -0
- data/obsolete/dcl_ext.html +112 -0
- data/obsolete/dcl_ext.rb +313 -0
- metadata +433 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
/*
|
2
|
+
* misc1_fmtlib.fp
|
3
|
+
*
|
4
|
+
* $Id: misc1_fmtlib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
|
5
|
+
*/
|
6
|
+
|
7
|
+
/*****************************************************
|
8
|
+
* misc1/fmtlib/chval.f
|
9
|
+
****************************************************/
|
10
|
+
/*
|
11
|
+
* SUBROUTINE CHVAL(CFMT,VAL,CVAL)
|
12
|
+
* CHARACTER CFMT*(*),CVAL*(*)
|
13
|
+
*/
|
14
|
+
SUBROUTINE CHVAL(
|
15
|
+
CHARACTER*(*) CFMT
|
16
|
+
REAL VAL
|
17
|
+
CHARACTER*(*) o CVAL
|
18
|
+
)
|
19
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
* misc1_misclib.fp
|
3
|
+
*
|
4
|
+
* $Id: misc1_misclib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
|
5
|
+
*/
|
6
|
+
|
7
|
+
/*****************************************************
|
8
|
+
* misc1/misclib/cns.f
|
9
|
+
****************************************************/
|
10
|
+
/*
|
11
|
+
* CHARACTER*1 FUNCTION CNS(INS)
|
12
|
+
*/
|
13
|
+
CHARACTER*1 FUNCTION CNS(
|
14
|
+
INTEGER INS
|
15
|
+
)
|
16
|
+
|
17
|
+
/*****************************************************
|
18
|
+
* misc1/misclib/cdblk.f
|
19
|
+
****************************************************/
|
20
|
+
/*
|
21
|
+
* SUBROUTINE CDBLK(CHR)
|
22
|
+
* CHARACTER CHR*(*)
|
23
|
+
*/
|
24
|
+
SUBROUTINE CDBLK(
|
25
|
+
CHARACTER*(*) io CHR
|
26
|
+
)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/*
|
2
|
+
* misc1_randlib.fp
|
3
|
+
*
|
4
|
+
* $Id: misc1_randlib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
|
5
|
+
*/
|
6
|
+
|
7
|
+
/*****************************************************
|
8
|
+
* misc1/randlib/rngu1.f
|
9
|
+
****************************************************/
|
10
|
+
/*
|
11
|
+
* REAL FUNCTION RNGU1(ISEED)
|
12
|
+
*/
|
13
|
+
REAL FUNCTION RNGU1(
|
14
|
+
INTEGER io ISEED
|
15
|
+
)
|
16
|
+
|
17
|
+
/*****************************************************
|
18
|
+
* misc1/randlib/rngu2.f
|
19
|
+
****************************************************/
|
20
|
+
/*
|
21
|
+
* REAL FUNCTION RNGU2(ISEED)
|
22
|
+
*/
|
23
|
+
REAL FUNCTION RNGU2(
|
24
|
+
INTEGER io ISEED
|
25
|
+
)
|
26
|
+
|
27
|
+
/*****************************************************
|
28
|
+
* misc1/randlib/rngu3.f
|
29
|
+
****************************************************/
|
30
|
+
/*
|
31
|
+
* REAL FUNCTION RNGU3(ISEED)
|
32
|
+
*/
|
33
|
+
REAL FUNCTION RNGU3(
|
34
|
+
INTEGER io ISEED
|
35
|
+
)
|
36
|
+
|
@@ -0,0 +1,151 @@
|
|
1
|
+
/*
|
2
|
+
* misc1_timelib.fp
|
3
|
+
*
|
4
|
+
* $Id: misc1_timelib.fp,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
|
5
|
+
*/
|
6
|
+
|
7
|
+
/*****************************************************
|
8
|
+
* misc1/timelib/time12.f
|
9
|
+
****************************************************/
|
10
|
+
/*
|
11
|
+
* SUBROUTINE TIME12(ITIME,ITT)
|
12
|
+
*/
|
13
|
+
SUBROUTINE TIME12(
|
14
|
+
INTEGER ITIME
|
15
|
+
INTEGER o ITT
|
16
|
+
)
|
17
|
+
|
18
|
+
/*****************************************************
|
19
|
+
* misc1/timelib/time13.f
|
20
|
+
****************************************************/
|
21
|
+
/*
|
22
|
+
* SUBROUTINE TIME13(ITIME,IH,IM,IS)
|
23
|
+
*/
|
24
|
+
SUBROUTINE TIME13(
|
25
|
+
INTEGER ITIME
|
26
|
+
INTEGER o IH
|
27
|
+
INTEGER o IM
|
28
|
+
INTEGER o IS
|
29
|
+
)
|
30
|
+
|
31
|
+
/*****************************************************
|
32
|
+
* misc1/timelib/time21.f
|
33
|
+
****************************************************/
|
34
|
+
/*
|
35
|
+
* SUBROUTINE TIME21(ITIME,ITT)
|
36
|
+
*/
|
37
|
+
SUBROUTINE TIME21(
|
38
|
+
INTEGER o ITIME
|
39
|
+
INTEGER ITT
|
40
|
+
)
|
41
|
+
|
42
|
+
/*****************************************************
|
43
|
+
* misc1/timelib/time23.f
|
44
|
+
****************************************************/
|
45
|
+
/*
|
46
|
+
* SUBROUTINE TIME23(IH,IM,IS,ITT)
|
47
|
+
*/
|
48
|
+
SUBROUTINE TIME23(
|
49
|
+
INTEGER o IH
|
50
|
+
INTEGER o IM
|
51
|
+
INTEGER o IS
|
52
|
+
INTEGER ITT
|
53
|
+
)
|
54
|
+
|
55
|
+
/*****************************************************
|
56
|
+
* misc1/timelib/time31.f
|
57
|
+
****************************************************/
|
58
|
+
/*
|
59
|
+
* SUBROUTINE TIME31(ITIME,IH,IM,IS)
|
60
|
+
*/
|
61
|
+
SUBROUTINE TIME31(
|
62
|
+
INTEGER o ITIME
|
63
|
+
INTEGER IH
|
64
|
+
INTEGER IM
|
65
|
+
INTEGER IS
|
66
|
+
)
|
67
|
+
|
68
|
+
/*****************************************************
|
69
|
+
* misc1/timelib/time32.f
|
70
|
+
****************************************************/
|
71
|
+
/*
|
72
|
+
* SUBROUTINE TIME32(IH,IM,IS,ITT)
|
73
|
+
*/
|
74
|
+
SUBROUTINE TIME32(
|
75
|
+
INTEGER IH
|
76
|
+
INTEGER IM
|
77
|
+
INTEGER IS
|
78
|
+
INTEGER o ITT
|
79
|
+
)
|
80
|
+
|
81
|
+
/*****************************************************
|
82
|
+
* misc1/timelib/timec1.f
|
83
|
+
****************************************************/
|
84
|
+
/*
|
85
|
+
* SUBROUTINE TIMEC1(CFORM,ITIME)
|
86
|
+
* CHARACTER CFORM*(*)
|
87
|
+
*/
|
88
|
+
SUBROUTINE TIMEC1(
|
89
|
+
CHARACTER*(*) io CFORM
|
90
|
+
INTEGER ITIME
|
91
|
+
)
|
92
|
+
|
93
|
+
/*****************************************************
|
94
|
+
* misc1/timelib/timec2.f
|
95
|
+
****************************************************/
|
96
|
+
/*
|
97
|
+
* SUBROUTINE TIMEC2(CFORM,ITT)
|
98
|
+
* CHARACTER CFORM*(*)
|
99
|
+
*/
|
100
|
+
SUBROUTINE TIMEC2(
|
101
|
+
CHARACTER*(*) io CFORM
|
102
|
+
INTEGER ITT
|
103
|
+
)
|
104
|
+
|
105
|
+
/*****************************************************
|
106
|
+
* misc1/timelib/timec3.f
|
107
|
+
****************************************************/
|
108
|
+
/*
|
109
|
+
* SUBROUTINE TIMEC3(CFORM,IH,IM,IS)
|
110
|
+
* CHARACTER CFORM*(*)
|
111
|
+
*/
|
112
|
+
SUBROUTINE TIMEC3(
|
113
|
+
CHARACTER*(*) io CFORM
|
114
|
+
INTEGER IH
|
115
|
+
INTEGER IM
|
116
|
+
INTEGER IS
|
117
|
+
)
|
118
|
+
|
119
|
+
/*****************************************************
|
120
|
+
* misc1/timelib/timeq1.f
|
121
|
+
****************************************************/
|
122
|
+
/*
|
123
|
+
* SUBROUTINE TIMEQ1(ITIME)
|
124
|
+
*/
|
125
|
+
SUBROUTINE TIMEQ1(
|
126
|
+
INTEGER o ITIME
|
127
|
+
)
|
128
|
+
|
129
|
+
/*****************************************************
|
130
|
+
* misc1/timelib/timeq2.f
|
131
|
+
****************************************************/
|
132
|
+
/*
|
133
|
+
* SUBROUTINE TIMEQ2(ITT)
|
134
|
+
*/
|
135
|
+
SUBROUTINE TIMEQ2(
|
136
|
+
INTEGER o ITT
|
137
|
+
)
|
138
|
+
|
139
|
+
/*****************************************************
|
140
|
+
* misc1/timelib/timeq3.c
|
141
|
+
****************************************************/
|
142
|
+
/*
|
143
|
+
* void timeq3_(ih, im, is)
|
144
|
+
*/
|
145
|
+
/*
|
146
|
+
SUBROUTINE TIMEQ3(
|
147
|
+
INTEGER o IH
|
148
|
+
INTEGER o IM
|
149
|
+
INTEGER o IS
|
150
|
+
)
|
151
|
+
*/
|
@@ -0,0 +1,209 @@
|
|
1
|
+
# prototype.rb
|
2
|
+
# $Id: prototype.rb,v 1.1.1.1 2011-02-23 07:21:28 horinout Exp $
|
3
|
+
|
4
|
+
require "./util"
|
5
|
+
require "./variable"
|
6
|
+
|
7
|
+
class Prototype
|
8
|
+
INDENT = " "*4
|
9
|
+
|
10
|
+
def indent(n=1)
|
11
|
+
INDENT*n
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize(type_or_module, name, args, rtn)
|
15
|
+
@vtype = (type_or_module == :module ? nil : type_or_module)
|
16
|
+
@name = name
|
17
|
+
@args = args
|
18
|
+
@rtnval = rtn
|
19
|
+
@lenvar = []
|
20
|
+
@rtnlenvar =[]
|
21
|
+
|
22
|
+
# check output array size
|
23
|
+
chk = @rtnval.find_all{|o| o.ary}
|
24
|
+
chk += @args.find_all{|o| (o.ary && !o.output?)}
|
25
|
+
chk.each{|o|
|
26
|
+
size = []
|
27
|
+
o.ary.split(",").each do |i|
|
28
|
+
case i
|
29
|
+
when "*"
|
30
|
+
size.push "DFLT_SIZE"
|
31
|
+
next
|
32
|
+
when /^\d+$/
|
33
|
+
size.push i
|
34
|
+
next
|
35
|
+
when /^(\d+):(\d+)$/
|
36
|
+
size.push($2.to_i - $1.to_i + 1)
|
37
|
+
next
|
38
|
+
end
|
39
|
+
|
40
|
+
wk = i.gsub(/[a-z]+[a-z0-9]*/){|j|
|
41
|
+
sz = @args.find{|x| x.name == j}
|
42
|
+
if sz
|
43
|
+
sz.localvariable[1]
|
44
|
+
else
|
45
|
+
"DFLT_SIZE"
|
46
|
+
end
|
47
|
+
}
|
48
|
+
|
49
|
+
case wk
|
50
|
+
when /(.+):(.+)/
|
51
|
+
ed = ($2 == "*" ? "DFLT_SIZE" : $2)
|
52
|
+
size.push( "(" + (ed + "-" + $1 + "+1").
|
53
|
+
gsub("--", "+").gsub("-0","").
|
54
|
+
gsub("[-]1[+]1", "").gsub("[+]1[+]1", "+2") +
|
55
|
+
")" )
|
56
|
+
else
|
57
|
+
size.push wk
|
58
|
+
end
|
59
|
+
end
|
60
|
+
o.setarysize(size)
|
61
|
+
p ["Prototype:1", @name, o.ary, size, o.arysize] if $DEBUG
|
62
|
+
}
|
63
|
+
|
64
|
+
# set @lenvar
|
65
|
+
@args.each{|i|
|
66
|
+
j = i.ftnlen
|
67
|
+
@lenvar.push j if j
|
68
|
+
}
|
69
|
+
|
70
|
+
# set @rtnlenvar
|
71
|
+
if @vtype
|
72
|
+
@rtnval.each{|i|
|
73
|
+
j = i.ftnlen
|
74
|
+
@rtnlenvar.push j if j
|
75
|
+
}
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
def to_s
|
81
|
+
buf = head
|
82
|
+
defvar = defvar()
|
83
|
+
buf << defvar
|
84
|
+
buf << initialization
|
85
|
+
buf << call
|
86
|
+
buf << result
|
87
|
+
buf << tail
|
88
|
+
end
|
89
|
+
|
90
|
+
def head
|
91
|
+
vstr = @args.find_all{|i| i.input?}.
|
92
|
+
collect{|i| i.name}.unshift("obj").join(", ")
|
93
|
+
buf = "static VALUE\n"
|
94
|
+
buf << format("dcl_%s(%s)\n", @name, vstr)
|
95
|
+
buf << format("%sVALUE %s;\n{\n", indent, vstr)
|
96
|
+
end
|
97
|
+
|
98
|
+
def defvar
|
99
|
+
buf = ""
|
100
|
+
vars = @args + (@vtype ? @rtnval : [])
|
101
|
+
vars.each{|i|
|
102
|
+
t, n = i.localvariable
|
103
|
+
if /\*$/ =~ t
|
104
|
+
buf << format("%s%s%s;\n", indent, t, n)
|
105
|
+
else
|
106
|
+
buf << format("%s%s %s;\n", indent, t, n)
|
107
|
+
end
|
108
|
+
}
|
109
|
+
|
110
|
+
@rtnval.each{|i|
|
111
|
+
buf << format("%s%s %s;\n", indent, "VALUE", i.name) if !i.input?
|
112
|
+
}
|
113
|
+
buf << "\n" unless buf.empty?
|
114
|
+
buf
|
115
|
+
end
|
116
|
+
|
117
|
+
def initialization
|
118
|
+
buf = ""
|
119
|
+
@args.find_all{|i| i.input?}.each{|i|
|
120
|
+
j = i.checktype
|
121
|
+
buf << j.gsub(/^/, indent) if j
|
122
|
+
}
|
123
|
+
buf << "\n" unless buf.empty?
|
124
|
+
|
125
|
+
@args.find_all{|i| i.input? && !i.ary}.each{|i|
|
126
|
+
j = i.initialization
|
127
|
+
buf << j.gsub(/^/, indent) if j
|
128
|
+
}
|
129
|
+
@args.find_all{|i| i.input? && i.ary}.each{|i|
|
130
|
+
j = i.initialization
|
131
|
+
buf << j.gsub(/^/, indent) if j
|
132
|
+
}
|
133
|
+
buf << "\n" unless buf.empty?
|
134
|
+
|
135
|
+
wk = @rtnval.find_all{|i| !i.input?} +
|
136
|
+
@args.find_all{|i| i.work?}
|
137
|
+
wk.each{|i|
|
138
|
+
j = i.allocworkingarea
|
139
|
+
buf << j.gsub(/^/, indent) if j
|
140
|
+
}
|
141
|
+
buf << "\n" unless buf.empty?
|
142
|
+
|
143
|
+
buf
|
144
|
+
end
|
145
|
+
|
146
|
+
def call
|
147
|
+
buf = ""
|
148
|
+
buf << indent
|
149
|
+
if @vtype
|
150
|
+
if ( @vtype =~ /CHARACTER|COMPLEX/)
|
151
|
+
wk = [@rtnval[0].arg_name] + @rtnlenvar +
|
152
|
+
@args.collect{|i| i.arg_name} + @lenvar
|
153
|
+
else
|
154
|
+
buf << (@rtnval[0].prefix + @rtnval[0].name + " = ")
|
155
|
+
wk = @args.collect{|i| i.arg_name} + @lenvar
|
156
|
+
end
|
157
|
+
else
|
158
|
+
wk = @args.collect{|i| i.arg_name} + @lenvar
|
159
|
+
end
|
160
|
+
buf << format("%s_(%s);\n", @name, wk.join(", "))
|
161
|
+
buf << "\n" unless buf.empty?
|
162
|
+
buf
|
163
|
+
end
|
164
|
+
|
165
|
+
def result
|
166
|
+
buf = ""
|
167
|
+
if @vtype
|
168
|
+
buf << indent + @rtnval[0].getresult
|
169
|
+
else
|
170
|
+
@rtnval.each{|i|
|
171
|
+
buf << (indent + i.getresult)
|
172
|
+
}
|
173
|
+
end
|
174
|
+
buf << "\n" unless buf.empty?
|
175
|
+
|
176
|
+
# free area allocated at initialization
|
177
|
+
@args.find_all{|i| i.input?}.each{|i|
|
178
|
+
j = i.freecary
|
179
|
+
buf << j.gsub(/^/, indent) if j
|
180
|
+
}
|
181
|
+
|
182
|
+
# free area allocated at allocworkingarea
|
183
|
+
wk = @rtnval.find_all{|i| !i.input?} +
|
184
|
+
@args.find_all{|i| i.work?}
|
185
|
+
wk.each{|i|
|
186
|
+
j = i.freeworkingarea
|
187
|
+
buf << j.gsub(/^/, indent) if j
|
188
|
+
}
|
189
|
+
buf << "\n" unless buf.empty?
|
190
|
+
|
191
|
+
if (@vtype || (@rtnval.size == 1))
|
192
|
+
buf << indent +
|
193
|
+
format("return %s;\n", @rtnval[0].name)
|
194
|
+
elsif ( @rtnval.size == 0 )
|
195
|
+
buf << indent + "return Qnil;\n"
|
196
|
+
else
|
197
|
+
vars = @rtnval.collect{|i| i.name}
|
198
|
+
buf << indent +
|
199
|
+
format("return rb_ary_new3(%d, %s);\n",
|
200
|
+
vars.size, vars.join(", "))
|
201
|
+
end
|
202
|
+
buf << "\n" unless buf.empty?
|
203
|
+
buf
|
204
|
+
end
|
205
|
+
|
206
|
+
def tail
|
207
|
+
"}\n"
|
208
|
+
end
|
209
|
+
end
|