ruby-dcl 1.7.1 → 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ChangeLog +1149 -365
- data/LICENSE.txt +1 -1
- data/Rakefile +7 -11
- data/demo/gokuraku/hop/hop.rb +1 -2
- data/demo/gokuraku/jump/jump1.rb +1 -2
- data/demo/gokuraku/jump/jump2.rb +2 -3
- data/demo/gokuraku/layout/lay1.rb +1 -2
- data/demo/gokuraku/layout/lay2.rb +1 -2
- data/demo/gokuraku/step/step0.rb +1 -2
- data/demo/gokuraku/step/step1.rb +1 -2
- data/demo/gokuraku/step/step2.rb +1 -2
- data/demo/gokuraku/u1d/u1d1.rb +1 -2
- data/demo/gokuraku/u1d/u1d2.rb +1 -2
- data/demo/gokuraku/u2d/u2d1.rb +1 -2
- data/demo/gokuraku/u2d/u2d2.rb +1 -2
- data/demo/gokuraku/u2d/u2d3.rb +1 -2
- data/demo/gokuraku/u2d/u2d4.rb +1 -2
- data/demo/grph1/scpack/scpkt2.rb +1 -2
- data/demo/grph1/scpack/scpkt3.rb +1 -2
- data/demo/grph1/scpack/scpkt6.rb +1 -2
- data/demo/grph1/scpack/scpkt7.rb +1 -2
- data/demo/grph1/scpack/scpkt8.rb +1 -2
- data/demo/grph1/sgpack/sgfont.rb +2 -3
- data/demo/grph1/sgpack/sgfonz.rb +2 -3
- data/demo/grph1/sgpack/sgksx1.rb +1 -2
- data/demo/grph1/sgpack/sgksx2.rb +1 -2
- data/demo/grph1/sgpack/sgksx3.rb +1 -2
- data/demo/grph1/sgpack/sglidx.rb +1 -2
- data/demo/grph1/sgpack/sgltyp.rb +1 -2
- data/demo/grph1/sgpack/sgpk01.rb +1 -2
- data/demo/grph1/sgpack/sgpk02.rb +1 -2
- data/demo/grph1/sgpack/sgpk03.rb +1 -2
- data/demo/grph1/sgpack/sgpk04.rb +1 -2
- data/demo/grph1/sgpack/sgpk05.rb +1 -2
- data/demo/grph1/sgpack/sgpk06.rb +1 -2
- data/demo/grph1/sgpack/sgpk07.rb +9 -8
- data/demo/grph1/sgpack/sgpk08.rb +1 -2
- data/demo/grph1/sgpack/sgpk09.rb +1 -2
- data/demo/grph1/sgpack/sgpk10.rb +1 -2
- data/demo/grph1/sgpack/sgtclr.rb +1 -2
- data/demo/grph1/sgpack/sgtone.rb +1 -2
- data/demo/grph1/sgpack/sgtonz.rb +1 -2
- data/demo/grph1/slpack/slpk01.rb +1 -2
- data/demo/grph1/slpack/slpk02.rb +1 -2
- data/demo/grph1/slpack/slpk03.rb +1 -2
- data/demo/grph1/slpack/slpk04.rb +2 -3
- data/demo/grph2/grpack/grpk01.rb +1 -2
- data/demo/grph2/ucpack/ucpk01.rb +1 -2
- data/demo/grph2/ucpack/ucpk02.rb +1 -2
- data/demo/grph2/udegpk/u2df01.rb +1 -2
- data/demo/grph2/udegpk/u2df02.rb +1 -2
- data/demo/grph2/udegpk/u2df03.rb +3 -4
- data/demo/grph2/udegpk/u2df04.rb +1 -2
- data/demo/grph2/udegpk/u2df05.rb +1 -2
- data/demo/grph2/udegpk/u2df06.rb +1 -2
- data/demo/grph2/udegpk/u2df07.rb +1 -2
- data/demo/grph2/udegpk/u2df08.rb +1 -2
- data/demo/grph2/udegpk/u2df09b.rb +0 -1
- data/demo/grph2/udegpk/u2df09c.rb +0 -1
- data/demo/grph2/udegpk/u2df09e.rb +0 -1
- data/demo/grph2/udegpk/u2df09f.rb +0 -1
- data/demo/grph2/uipack/uipk01.rb +1 -2
- data/demo/grph2/uipack/uipk02.rb +26 -18
- data/demo/grph2/uipack/uipk03.rb +50 -0
- data/demo/grph2/ulpack/ulpk01.rb +1 -2
- data/demo/grph2/ulpack/ulpk01n.rb +1 -2
- data/demo/grph2/ulpack/ulpk02.rb +1 -2
- data/demo/grph2/ulpack/ulpk02n.rb +1 -2
- data/demo/grph2/umpack/test01.rb +1 -2
- data/demo/grph2/umpack/test02.rb +1 -2
- data/demo/grph2/umpack/test03.rb +1 -2
- data/demo/grph2/umpack/test04.rb +2 -3
- data/demo/grph2/umpack/test05.rb +1 -2
- data/demo/grph2/umpack/test05r.rb +86 -0
- data/demo/grph2/umpack/test06.rb +1 -2
- data/demo/grph2/umpack/test07.rb +1 -2
- data/demo/grph2/umpack/test08.rb +1 -2
- data/demo/grph2/umpack/test10.rb +0 -1
- data/demo/grph2/umpack/umpk01.rb +1 -2
- data/demo/grph2/umpack/umpk02.rb +1 -2
- data/demo/grph2/umpack/umpk03.rb +1 -2
- data/demo/grph2/umpack/umpk04.rb +1 -2
- data/demo/grph2/umpack/umpk05.rb +1 -2
- data/demo/grph2/uspack/uspk01.rb +1 -2
- data/demo/grph2/uspack/uspk02.rb +1 -2
- data/demo/grph2/uspack/uspk03.rb +1 -2
- data/demo/grph2/uspack/uspk04.rb +1 -2
- data/demo/grph2/uspack/uspk05.rb +1 -2
- data/demo/grph2/uspack/uspk06.rb +2 -3
- data/demo/grph2/uspack/uspk07.rb +1 -2
- data/demo/grph2/uspack/uspk08.rb +2 -3
- data/demo/grph2/uspack/uspk09.rb +1 -2
- data/demo/grph2/uspack/uspk10.rb +1 -2
- data/demo/grph2/uspack/uspk11.rb +1 -2
- data/demo/grph2/uspack/uspk12.rb +1 -2
- data/demo/grph2/uupack/uupk01.rb +1 -2
- data/demo/grph2/uupack/uupk02.rb +1 -2
- data/demo/grph2/uupack/uupk03.rb +1 -2
- data/demo/grph2/uupack/uupk04.rb +1 -2
- data/demo/grph2/uupack/uupk05.rb +1 -2
- data/demo/grph2/uupack/uupk06.rb +1 -2
- data/demo/grph2/uupack/uupk07.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz01.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz02.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz03.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz04.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz05.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz06.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz07.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz08.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz09.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz10.rb +1 -2
- data/demo/grph2/ximage/ximg01.rb +2 -3
- data/demo/math1/clsplib/cslb01.rb +1 -2
- data/demo/math2/fftlib/fftl01.rb +1 -2
- data/demo/math2/fftlib/fftl02.rb +1 -2
- data/demo/math2/intrlib/intr01.rb +1 -2
- data/demo/math2/rnmlib/rnml01.rb +1 -2
- data/demo/math2/vstlib/vstl01.rb +1 -2
- data/demo/math2/vstlib/vstl02.rb +1 -2
- data/demo/misc2/tmpack/tmpk01.rb +46 -0
- data/demo/misc2/tmpack/tmpk02.rb +58 -0
- data/demo/misc2/tmpack/tmpk03.rb +56 -0
- data/demo/rakuraku/color/color1.rb +1 -2
- data/demo/rakuraku/color/color2.rb +5 -5
- data/demo/rakuraku/color/color3.rb +1 -2
- data/demo/rakuraku/kihon/kihon1.rb +1 -2
- data/demo/rakuraku/kihon/kihon2.rb +1 -2
- data/demo/rakuraku/kihon/kihon3.rb +1 -2
- data/demo/rakuraku/kihon/kihon4.rb +1 -2
- data/demo/rakuraku/kihon/kihon5.rb +1 -2
- data/demo/rakuraku/kihon/kihon6.rb +1 -2
- data/demo/rakuraku/kihon/kihon7.rb +10 -5
- data/demo/rakuraku/kihon/kihon8.rb +1 -2
- data/demo/rakuraku/kihon/kihon9.rb +1 -2
- data/demo/rakuraku/kihon/kihona.rb +1 -2
- data/demo/rakuraku/kihon/kihonb.rb +12 -11
- data/demo/rakuraku/kihon/kihonc.rb +1 -2
- data/demo/rakuraku/layout/lay1.rb +1 -2
- data/demo/rakuraku/layout/lay2.rb +1 -2
- data/demo/rakuraku/layout/lay3.rb +1 -2
- data/demo/rakuraku/map3d/map3d1.rb +1 -2
- data/demo/rakuraku/map3d/map3d2.rb +1 -2
- data/demo/rakuraku/map3d/map3d3.rb +1 -2
- data/demo/rakuraku/map3d/map3d4.rb +1 -2
- data/demo/rakuraku/map3d/map3d5.rb +1 -2
- data/demo/rakuraku/map3d/map3d6.rb +0 -1
- data/demo/rakuraku/map3d/map3d7.rb +0 -1
- data/demo/rakuraku/miss/miss1.rb +1 -2
- data/demo/rakuraku/miss/miss2.rb +1 -2
- data/demo/rakuraku/quick/quick1.rb +1 -2
- data/demo/rakuraku/quick/quick2.rb +1 -2
- data/demo/rakuraku/quick/quick3.rb +1 -2
- data/demo/rakuraku/quick/quick4.rb +1 -2
- data/demo/rakuraku/quick/quick5.rb +1 -2
- data/demo/rakuraku/u2d/u2d1.rb +1 -2
- data/demo/rakuraku/u2d/u2d2.rb +1 -2
- data/demo/rakuraku/u2d/u2d3.rb +1 -2
- data/demo/rakuraku/u2d/u2d4.rb +1 -2
- data/demo/rakuraku/u2d/u2d5.rb +1 -2
- data/demo/rakuraku/u2d/u2d6.rb +1 -2
- data/demo/rakuraku/u2d/u2d7.rb +1 -2
- data/demo/rakuraku/uspack/uspac1.rb +2 -3
- data/demo/rakuraku/uspack/uspac2.rb +1 -2
- data/demo/rakuraku/uspack/uspac3.rb +2 -3
- data/demo/rakuraku/uspack/uspac4.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz1.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz2.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz3.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz4.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz5.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz6.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz7.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz8.rb +1 -2
- data/demo/rubydcloriginal/uemrkz1.rb +0 -1
- data/ext/numru/dcl_cary2obj.c +29 -24
- data/ext/numru/dcl_narrayed_funcs.c +21 -21
- data/ext/numru/dcl_obj2cary.c +9 -5
- data/ext/numru/dcl_rubydcloriginal.c +14 -5
- data/ext/numru/extconf.rb +73 -61
- data/ext/numru/grph1_csgi.c +38 -8
- data/ext/numru/grph1_scpack.c +49 -46
- data/ext/numru/grph1_sgpack.c +167 -164
- data/ext/numru/grph1_slpack.c +23 -20
- data/ext/numru/grph1_stpack.c +44 -41
- data/ext/numru/grph1_swpack.c +155 -92
- data/ext/numru/grph2_grpack.c +22 -19
- data/ext/numru/grph2_ucpack.c +55 -52
- data/ext/numru/grph2_udpack.c +61 -58
- data/ext/numru/grph2_uepack.c +60 -57
- data/ext/numru/grph2_ugpack.c +49 -46
- data/ext/numru/grph2_uhpack.c +25 -22
- data/ext/numru/grph2_uipack.c +57 -54
- data/ext/numru/grph2_ulpack.c +59 -56
- data/ext/numru/grph2_umpack.c +75 -72
- data/ext/numru/grph2_uspack.c +97 -94
- data/ext/numru/grph2_uupack.c +78 -75
- data/ext/numru/grph2_uvpack.c +25 -22
- data/ext/numru/grph2_uwpack.c +30 -27
- data/ext/numru/grph2_uxpack.c +23 -20
- data/ext/numru/grph2_uypack.c +23 -20
- data/ext/numru/grph2_uzpack.c +69 -66
- data/ext/numru/init.c.default +6 -2
- data/ext/numru/math1_blklib.c +13 -10
- data/ext/numru/math1_chrlib.c +16 -13
- data/ext/numru/math1_clsplib.c +13 -10
- data/ext/numru/math1_fnclib.c +16 -13
- data/ext/numru/math1_gnmlib.c +21 -18
- data/ext/numru/math1_gt2dlib.c +18 -15
- data/ext/numru/math1_ifalib.c +18 -15
- data/ext/numru/math1_indxlib.c +24 -21
- data/ext/numru/math1_intlib.c +13 -10
- data/ext/numru/math1_lrllib.c +33 -30
- data/ext/numru/math1_maplib.c +14 -11
- data/ext/numru/math1_oslib.c +11 -8
- data/ext/numru/math1_rfalib.c +39 -36
- data/ext/numru/math1_rfblib.c +12 -9
- data/ext/numru/math1_sublib.c +13 -10
- data/ext/numru/math1_syslib.c +82 -79
- data/ext/numru/math1_vialib.c +31 -28
- data/ext/numru/math1_viblib.c +24 -21
- data/ext/numru/math1_vralib.c +31 -28
- data/ext/numru/math1_vrblib.c +24 -21
- data/ext/numru/math1_xfclib.c +12 -9
- data/ext/numru/math2_fftlib.c +28 -25
- data/ext/numru/math2_intrlib.c +11 -8
- data/ext/numru/math2_rnmlib.c +12 -9
- data/ext/numru/math2_shtlib.c +34 -31
- data/ext/numru/math2_vstlib.c +15 -12
- data/ext/numru/misc1_chnlib.c +12 -9
- data/ext/numru/misc1_datelib.c +36 -33
- data/ext/numru/misc1_fmtlib.c +10 -7
- data/ext/numru/misc1_misclib.c +11 -8
- data/ext/numru/misc1_randlib.c +13 -10
- data/ext/numru/misc1_timelib.c +20 -17
- data/ext/numru/misc2_tmpack.c +1200 -0
- data/lib/numru/dcl/dcl.rb +5676 -0
- data/lib/numru/dcl/version.rb +5 -0
- data/lib/numru/dcl.rb +6 -5580
- data/ruby-dcl.gemspec +13 -9
- metadata +25 -99
- data/.gitignore +0 -13
- data/.rspec +0 -2
- data/.travis.yml +0 -3
- data/GenWrapper/Makefile +0 -15
- data/GenWrapper/cproto2init.rb +0 -41
- data/GenWrapper/dcl_narrayed_funcs.rb +0 -181
- data/GenWrapper/dcl_rb_footing +0 -29
- data/GenWrapper/dcl_rb_heading +0 -123
- data/GenWrapper/def.rb +0 -20
- data/GenWrapper/elim_ary_size.rb +0 -398
- data/GenWrapper/etc/p_header +0 -64
- data/GenWrapper/pparse.rb +0 -137
- data/GenWrapper/proto/Makefile +0 -36
- data/GenWrapper/proto/grph1_00 +0 -17
- data/GenWrapper/proto/grph1_csgi.fp +0 -27
- data/GenWrapper/proto/grph1_scpack.fp +0 -442
- data/GenWrapper/proto/grph1_sgpack.fp +0 -1772
- data/GenWrapper/proto/grph1_slpack.fp +0 -316
- data/GenWrapper/proto/grph1_stpack.fp +0 -455
- data/GenWrapper/proto/grph1_swpack.fp +0 -826
- data/GenWrapper/proto/grph2_00 +0 -16
- data/GenWrapper/proto/grph2_grpack.fp +0 -139
- data/GenWrapper/proto/grph2_ucpack.fp +0 -522
- data/GenWrapper/proto/grph2_udpack.fp +0 -692
- data/GenWrapper/proto/grph2_uepack.fp +0 -601
- data/GenWrapper/proto/grph2_ugpack.fp +0 -436
- data/GenWrapper/proto/grph2_uhpack.fp +0 -246
- data/GenWrapper/proto/grph2_uipack.fp +0 -508
- data/GenWrapper/proto/grph2_ulpack.fp +0 -516
- data/GenWrapper/proto/grph2_umpack.fp +0 -676
- data/GenWrapper/proto/grph2_uspack.fp +0 -989
- data/GenWrapper/proto/grph2_uupack.fp +0 -663
- data/GenWrapper/proto/grph2_uvpack.fp +0 -246
- data/GenWrapper/proto/grph2_uwpack.fp +0 -203
- data/GenWrapper/proto/grph2_uxpack.fp +0 -295
- data/GenWrapper/proto/grph2_uypack.fp +0 -295
- data/GenWrapper/proto/grph2_uzpack.fp +0 -574
- data/GenWrapper/proto/math1_00 +0 -12
- data/GenWrapper/proto/math1_blklib.fp +0 -58
- data/GenWrapper/proto/math1_chrlib.fp +0 -83
- data/GenWrapper/proto/math1_clsplib.fp +0 -74
- data/GenWrapper/proto/math1_fnclib.fp +0 -79
- data/GenWrapper/proto/math1_gnmlib.fp +0 -118
- data/GenWrapper/proto/math1_gt2dlib.fp +0 -144
- data/GenWrapper/proto/math1_ifalib.fp +0 -123
- data/GenWrapper/proto/math1_indxlib.fp +0 -222
- data/GenWrapper/proto/math1_intlib.fp +0 -46
- data/GenWrapper/proto/math1_lrllib.fp +0 -276
- data/GenWrapper/proto/math1_maplib.fp +0 -24
- data/GenWrapper/proto/math1_oslib.fp +0 -28
- data/GenWrapper/proto/math1_rfalib.fp +0 -420
- data/GenWrapper/proto/math1_rfblib.fp +0 -51
- data/GenWrapper/proto/math1_sublib.fp +0 -60
- data/GenWrapper/proto/math1_syslib.fp +0 -767
- data/GenWrapper/proto/math1_vialib.fp +0 -339
- data/GenWrapper/proto/math1_viblib.fp +0 -264
- data/GenWrapper/proto/math1_vralib.fp +0 -339
- data/GenWrapper/proto/math1_vrblib.fp +0 -264
- data/GenWrapper/proto/math1_xfclib.fp +0 -68
- data/GenWrapper/proto/math2_00 +0 -12
- data/GenWrapper/proto/math2_fftlib.fp +0 -803
- data/GenWrapper/proto/math2_intrlib.fp +0 -32
- data/GenWrapper/proto/math2_odelib.fp_notused +0 -568
- data/GenWrapper/proto/math2_rnmlib.fp +0 -54
- data/GenWrapper/proto/math2_shtlib.fp +0 -1292
- data/GenWrapper/proto/math2_vstlib.fp +0 -84
- data/GenWrapper/proto/misc1_00 +0 -17
- data/GenWrapper/proto/misc1_chnlib.fp +0 -47
- data/GenWrapper/proto/misc1_datelib.fp +0 -352
- data/GenWrapper/proto/misc1_fmtlib.fp +0 -19
- data/GenWrapper/proto/misc1_misclib.fp +0 -26
- data/GenWrapper/proto/misc1_randlib.fp +0 -50
- data/GenWrapper/proto/misc1_timelib.fp +0 -151
- data/GenWrapper/proto2c.rb +0 -13
- data/GenWrapper/prototype.rb +0 -209
- data/GenWrapper/util.rb +0 -9
- data/GenWrapper/variable.rb +0 -671
- data/README +0 -29
- data/ToDo +0 -2
- data/bin/console +0 -14
- data/bin/setup +0 -7
- data/demo/grph2/ximage/MEMO +0 -23
- data/obsolete/README +0 -2
- data/obsolete/dcl_ext.html +0 -112
- data/obsolete/dcl_ext.rb +0 -313
data/demo/rakuraku/uxyz/uxyz7.rb
CHANGED
data/demo/rakuraku/uxyz/uxyz8.rb
CHANGED
data/ext/numru/dcl_cary2obj.c
CHANGED
@@ -1,20 +1,25 @@
|
|
1
1
|
/*
|
2
2
|
* dcl_cary2obj.c
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*/
|
5
5
|
|
6
6
|
#include <math.h>
|
7
7
|
#include "ruby.h"
|
8
|
-
#include "
|
8
|
+
#include "cdcl.h"
|
9
9
|
#include "narray.h" /* kuro: depend on numarray.so */
|
10
10
|
|
11
|
+
#ifndef NARRAY_BIGMEM
|
12
|
+
typedef int na_shape_t;
|
13
|
+
#endif
|
11
14
|
|
12
15
|
/* functions */
|
13
16
|
VALUE dcl_ccharary2obj(char *, int, int);
|
14
|
-
VALUE dcl_cintegerary2obj(integer *,
|
15
|
-
VALUE dcl_crealary2obj(real *,
|
16
|
-
|
17
|
-
VALUE
|
17
|
+
VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
|
18
|
+
VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
|
19
|
+
/* not implemented
|
20
|
+
VALUE dcl_ccomplexary2obj(complex *, na_shape_t, int, na_shape_t *);
|
21
|
+
*/
|
22
|
+
VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
|
18
23
|
|
19
24
|
static VALUE ccharary2ary(char *, int, int);
|
20
25
|
static VALUE cintegerary2ary(integer *, int);
|
@@ -25,9 +30,9 @@ static VALUE ccomplexary2ary(complex *, int);
|
|
25
30
|
*/
|
26
31
|
|
27
32
|
/* kuro: depend on numarray.so */
|
28
|
-
static VALUE crealary2na(real *,
|
29
|
-
static VALUE clogicalary2na(logical *,
|
30
|
-
static VALUE cintegerary2na(integer *,
|
33
|
+
static VALUE crealary2na(real *, na_shape_t, int, na_shape_t *);
|
34
|
+
static VALUE clogicalary2na(logical *, na_shape_t, int, na_shape_t *);
|
35
|
+
static VALUE cintegerary2na(integer *, na_shape_t, int, na_shape_t *);
|
31
36
|
/* not implemented
|
32
37
|
static VALUE ccomplexary2na(complex *, int, char *);
|
33
38
|
*/
|
@@ -57,9 +62,9 @@ dcl_ccharary2obj(cary, size, len)
|
|
57
62
|
VALUE
|
58
63
|
dcl_cintegerary2obj(cary, size, rank, shape)
|
59
64
|
integer *cary;
|
60
|
-
|
65
|
+
na_shape_t size;
|
61
66
|
int rank;
|
62
|
-
|
67
|
+
na_shape_t *shape;
|
63
68
|
{
|
64
69
|
VALUE obj;
|
65
70
|
|
@@ -75,9 +80,9 @@ dcl_cintegerary2obj(cary, size, rank, shape)
|
|
75
80
|
VALUE
|
76
81
|
dcl_crealary2obj(cary, size, rank, shape)
|
77
82
|
real *cary;
|
78
|
-
|
83
|
+
na_shape_t size;
|
79
84
|
int rank;
|
80
|
-
|
85
|
+
na_shape_t *shape;
|
81
86
|
{
|
82
87
|
VALUE obj;
|
83
88
|
|
@@ -112,9 +117,9 @@ dcl_ccomplexary2obj(cary, size, type)
|
|
112
117
|
VALUE
|
113
118
|
dcl_clogicalary2obj(cary, size, rank, shape)
|
114
119
|
logical *cary;
|
115
|
-
|
120
|
+
na_shape_t size;
|
116
121
|
int rank;
|
117
|
-
|
122
|
+
na_shape_t *shape;
|
118
123
|
{
|
119
124
|
VALUE obj;
|
120
125
|
|
@@ -271,13 +276,13 @@ clogicalary2ary(cary, size)
|
|
271
276
|
static VALUE
|
272
277
|
crealary2na(cary, size, rank, shape)
|
273
278
|
real *cary;
|
274
|
-
|
279
|
+
na_shape_t size;
|
275
280
|
int rank;
|
276
|
-
|
281
|
+
na_shape_t *shape;
|
277
282
|
{
|
278
283
|
VALUE obj;
|
279
284
|
struct NARRAY *na;
|
280
|
-
|
285
|
+
na_shape_t i;
|
281
286
|
float *ptr;
|
282
287
|
|
283
288
|
if (cary == NULL)
|
@@ -299,13 +304,13 @@ crealary2na(cary, size, rank, shape)
|
|
299
304
|
static VALUE
|
300
305
|
cintegerary2na(cary, size, rank, shape)
|
301
306
|
integer *cary;
|
302
|
-
|
307
|
+
na_shape_t size;
|
303
308
|
int rank;
|
304
|
-
|
309
|
+
na_shape_t *shape;
|
305
310
|
{
|
306
311
|
VALUE obj;
|
307
312
|
struct NARRAY *na;
|
308
|
-
|
313
|
+
na_shape_t i;
|
309
314
|
int32_t *ptr;
|
310
315
|
|
311
316
|
if (cary == NULL)
|
@@ -327,13 +332,13 @@ cintegerary2na(cary, size, rank, shape)
|
|
327
332
|
static VALUE
|
328
333
|
clogicalary2na(cary, size, rank, shape)
|
329
334
|
logical *cary;
|
330
|
-
|
335
|
+
na_shape_t size;
|
331
336
|
int rank;
|
332
|
-
|
337
|
+
na_shape_t *shape;
|
333
338
|
{
|
334
339
|
VALUE obj;
|
335
340
|
struct NARRAY *na;
|
336
|
-
|
341
|
+
na_shape_t i;
|
337
342
|
u_int8_t *ptr;
|
338
343
|
|
339
344
|
if (cary == NULL)
|
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
#include <stdio.h>
|
10
10
|
#include "ruby.h"
|
11
|
-
#include "
|
11
|
+
#include "cdcl.h"
|
12
12
|
#include "narray.h"
|
13
13
|
|
14
14
|
/* for compatibility with ruby 1.6 */
|
@@ -38,29 +38,29 @@ extern void dcl_freeclogicalary(logical *);
|
|
38
38
|
|
39
39
|
/* for functions which return real */
|
40
40
|
/* fnclib */
|
41
|
-
extern real
|
42
|
-
extern real
|
43
|
-
extern real
|
44
|
-
extern real
|
45
|
-
extern real
|
41
|
+
extern real rd2r__(real *);
|
42
|
+
extern real rr2d__(real *);
|
43
|
+
extern real rexp__(real *, integer *, integer *);
|
44
|
+
extern real rfpi__(void);
|
45
|
+
extern real rmod__(real *, real *);
|
46
46
|
/* gnmlib */
|
47
|
-
extern real
|
48
|
-
extern real
|
49
|
-
extern real
|
50
|
-
extern real
|
47
|
+
extern real rgnlt__(real *);
|
48
|
+
extern real rgnle__(real *);
|
49
|
+
extern real rgngt__(real *);
|
50
|
+
extern real rgnge__(real *);
|
51
51
|
/* rfalib */
|
52
|
-
extern real
|
53
|
-
extern real
|
54
|
-
extern real
|
55
|
-
extern real
|
56
|
-
extern real
|
57
|
-
extern real
|
58
|
-
extern real
|
59
|
-
extern real
|
52
|
+
extern real rmax__(real *, integer *, integer *);
|
53
|
+
extern real rmin__(real *, integer *, integer *);
|
54
|
+
extern real rsum__(real *, integer *, integer *);
|
55
|
+
extern real rave__(real *, integer *, integer *);
|
56
|
+
extern real rvar__(real *, integer *, integer *);
|
57
|
+
extern real rstd__(real *, integer *, integer *);
|
58
|
+
extern real rrms__(real *, integer *, integer *);
|
59
|
+
extern real ramp__(real *, integer *, integer *);
|
60
60
|
/* rfblib */
|
61
|
-
extern real
|
62
|
-
extern real
|
63
|
-
extern real
|
61
|
+
extern real rprd__(real *, real *, integer *, integer *, integer *);
|
62
|
+
extern real rcov__(real *, real *, integer *, integer *, integer *);
|
63
|
+
extern real rcor__(real *, real *, integer *, integer *, integer *);
|
64
64
|
|
65
65
|
|
66
66
|
extern int stftrf_(real*,real*,real*,real*);
|
data/ext/numru/dcl_obj2cary.c
CHANGED
@@ -1,13 +1,17 @@
|
|
1
1
|
/*
|
2
2
|
* dcl_obj2cary.c
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*/
|
5
5
|
|
6
6
|
#include <math.h>
|
7
7
|
#include "ruby.h"
|
8
|
-
#include "
|
8
|
+
#include "cdcl.h"
|
9
9
|
#include "narray.h"
|
10
10
|
|
11
|
+
#ifndef NARRAY_BIGMEM
|
12
|
+
typedef int na_shape_t;
|
13
|
+
#endif
|
14
|
+
|
11
15
|
/* for compatibility with ruby 1.6 */
|
12
16
|
#ifndef RFLOAT_VALUE
|
13
17
|
#define RFLOAT_VALUE(x) ((real)(RFLOAT(x)->value))
|
@@ -427,7 +431,7 @@ na2crealary(src)
|
|
427
431
|
VALUE src;
|
428
432
|
{
|
429
433
|
VALUE chk;
|
430
|
-
|
434
|
+
na_shape_t len, i;
|
431
435
|
real *rtn;
|
432
436
|
float *ptr;
|
433
437
|
struct NARRAY *na;
|
@@ -455,7 +459,7 @@ na2cintegerary(src)
|
|
455
459
|
VALUE src;
|
456
460
|
{
|
457
461
|
VALUE chk;
|
458
|
-
|
462
|
+
na_shape_t len, i;
|
459
463
|
integer *rtn;
|
460
464
|
int32_t *ptr;
|
461
465
|
struct NARRAY *na;
|
@@ -485,7 +489,7 @@ na2clogicalary(src)
|
|
485
489
|
{
|
486
490
|
VALUE chk;
|
487
491
|
struct NARRAY *na;
|
488
|
-
|
492
|
+
na_shape_t len, i;
|
489
493
|
logical *rtn;
|
490
494
|
unsigned char *ptr;
|
491
495
|
|
@@ -4,11 +4,20 @@
|
|
4
4
|
|
5
5
|
#include <stdio.h>
|
6
6
|
#include "ruby.h"
|
7
|
-
#include "libtinyf2c.h"
|
8
7
|
#include "narray.h"
|
8
|
+
#include "cdcl.h"
|
9
|
+
|
10
|
+
/* for compatibility with ruby 1.6 */
|
11
|
+
#ifndef StringValuePtr
|
12
|
+
#define StringValuePtr(s) STR2CSTR(s)
|
13
|
+
#endif
|
9
14
|
|
10
15
|
#define DFLT_SIZE 32
|
11
16
|
|
17
|
+
#ifndef NARRAY_BIGMEM
|
18
|
+
typedef int na_shape_t;
|
19
|
+
#endif
|
20
|
+
|
12
21
|
extern char *dcl_obj2ccharary(VALUE, int, int);
|
13
22
|
extern integer *dcl_obj2cintegerary(VALUE);
|
14
23
|
extern real *dcl_obj2crealary(VALUE);
|
@@ -16,10 +25,10 @@ extern complex *dcl_obj2ccomplexary(VALUE);
|
|
16
25
|
extern logical *dcl_obj2clogicalary(VALUE);
|
17
26
|
|
18
27
|
extern VALUE dcl_ccharary2obj(char *, int, int);
|
19
|
-
extern VALUE dcl_cintegerary2obj(integer *,
|
20
|
-
extern VALUE dcl_crealary2obj(real *,
|
21
|
-
extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
|
22
|
-
extern VALUE dcl_clogicalary2obj(logical *,
|
28
|
+
extern VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
|
29
|
+
extern VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
|
30
|
+
/* extern VALUE dcl_ccomplexary2obj(complex *, int, char *); */
|
31
|
+
extern VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
|
23
32
|
|
24
33
|
extern void dcl_freeccharary(char *);
|
25
34
|
extern void dcl_freecintegerary(integer *);
|
data/ext/numru/extconf.rb
CHANGED
@@ -2,30 +2,68 @@ require "rubygems" unless defined?(Gem)
|
|
2
2
|
|
3
3
|
require "mkmf"
|
4
4
|
require "rbconfig"
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
so = RbConfig::CONFIG["DLEXT"]
|
6
|
+
|
7
|
+
raise("Your gem is too old") unless Gem.respond_to?(:find_files)
|
8
|
+
|
9
|
+
env = ENV['NARRAY_TYPE']
|
10
|
+
if env == "NArray" || env == "narray"
|
11
|
+
na_type = "narray"
|
12
|
+
elsif env == "NumRu::NArray" || env == "numru-narray"
|
13
|
+
na_type = "numru-narray"
|
14
|
+
elsif !env.nil?
|
15
|
+
raise "Unsupported value for the environment variable NARRAY_TYPE: #{env}"
|
16
|
+
else
|
17
|
+
if Gem.find_files("narray.h").length > 0
|
18
|
+
na_type = "narray"
|
19
|
+
elsif Gem.find_files("numru/narray/narray.h").length > 0
|
20
|
+
na_type = "numru-narray"
|
12
21
|
end
|
13
22
|
end
|
14
23
|
|
15
|
-
|
16
|
-
|
17
|
-
so = RbConfig::CONFIG["DLEXT"]
|
24
|
+
case na_type
|
25
|
+
when "narray"
|
18
26
|
narray_include = File.expand_path(File.dirname(Gem.find_files("narray.h")[0]))
|
19
|
-
|
20
|
-
|
21
|
-
gem_home=(`gem environment GEM_HOME`).chomp
|
22
|
-
narray_dir = Dir.glob("#{gem_home}/gems/narray-*").sort[-1]
|
23
|
-
if narray_dir
|
24
|
-
narray_include = narray_lib = narray_dir
|
27
|
+
if `ruby -v`.include?("mingw")
|
28
|
+
narray_lib = File.expand_path(File.dirname(Gem.find_files("src/libnarray.a")[0]))
|
25
29
|
else
|
26
|
-
|
30
|
+
narray_lib = File.expand_path(File.dirname(Gem.find_files("narray." + so)[0]))
|
31
|
+
end
|
32
|
+
File.open("../../lib/numru/dcl/narray_type.rb","w"){|f| f.puts <<EOS
|
33
|
+
module NumRu
|
34
|
+
module DCL
|
35
|
+
SUPPORT_BIGMEM = false
|
27
36
|
end
|
28
37
|
end
|
38
|
+
EOS
|
39
|
+
}
|
40
|
+
when "numru-narray"
|
41
|
+
narray_include = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray.h")[0]))
|
42
|
+
if `ruby -v`.include?("mingw")
|
43
|
+
narray_lib = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray.a")[0]))
|
44
|
+
else
|
45
|
+
narray_lib = File.expand_path(File.dirname(Gem.find_files("numru/narray/narray." + so)[0]))
|
46
|
+
end
|
47
|
+
File.open("../../lib/numru/dcl/narray_type.rb","w"){|f| f.puts <<EOS
|
48
|
+
module NumRu
|
49
|
+
module DCL
|
50
|
+
SUPPORT_BIGMEM = true
|
51
|
+
end
|
52
|
+
end
|
53
|
+
EOS
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
### disabled (for very old gem, perhaps <= 1.2) -->
|
58
|
+
# gem_home=(`gem environment GEM_HOME`).chomp
|
59
|
+
# narray_dir = Dir.glob("#{gem_home}/gems/narray-*/ext/narray").sort[-1]
|
60
|
+
# if narray_dir
|
61
|
+
# narray_include = narray_lib = narray_dir
|
62
|
+
# else
|
63
|
+
# narray_include = narray_lib = [ $sitearchdir, $vendorarchdir]
|
64
|
+
# end
|
65
|
+
### <-- disabled
|
66
|
+
|
29
67
|
dir_config('narray', narray_include, narray_lib)
|
30
68
|
if ( ! ( have_header("narray.h") && have_header("narray_config.h") ) ) then
|
31
69
|
print <<-EOS
|
@@ -42,12 +80,20 @@ end
|
|
42
80
|
initcfile_default = $srcdir+"/init.c.default"
|
43
81
|
initcfile = $srcdir+"/init.c"
|
44
82
|
|
45
|
-
if(xsystem("which
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
83
|
+
if(xsystem("which dclconfig"))
|
84
|
+
if `ruby -v`.include?("mingw")
|
85
|
+
cflags = `sh dclconfig --cflags`.gsub(/\n/, " ")
|
86
|
+
ldflags = `sh dclconfig --ldflags`.gsub(/\n/, " ")
|
87
|
+
ldlibs = `sh dclconfig --ldlibs`.gsub(/-R.*?\s/, " ").gsub(/\n/, " ")
|
88
|
+
print "checking DCL version... "
|
89
|
+
dclversion = `sh dclconfig --dclversion`.strip
|
90
|
+
else
|
91
|
+
cflags = `dclconfig --cflags`.gsub(/\n/, " ")
|
92
|
+
ldflags = `dclconfig --ldflags`.gsub(/\n/, " ")
|
93
|
+
ldlibs = `dclconfig --ldlibs`.gsub(/-R.*?\s/, " ").gsub(/\n/, " ")
|
94
|
+
print "checking DCL version... "
|
95
|
+
dclversion = `dclconfig --dclversion`.strip
|
96
|
+
end
|
51
97
|
print "DCL Version: #{dclversion}\n"
|
52
98
|
dclver = dclversion.gsub(/\./,'')
|
53
99
|
dclver = dclver+'0' if dclver.length <= 2 # 53 --> 530 etc
|
@@ -59,6 +105,9 @@ if(xsystem("which cdclconfig"))
|
|
59
105
|
$CFLAGS += ' '+cflags + dclversionmacro
|
60
106
|
$LOCAL_LIBS += ' ' + ldflags
|
61
107
|
$LOCAL_LIBS += ldlibs
|
108
|
+
if `ruby -v`.include?("mingw")
|
109
|
+
$LOCAL_LIBS += ldlibs + " -lnarray"
|
110
|
+
end
|
62
111
|
|
63
112
|
fin = File.open(initcfile_default)
|
64
113
|
fout = File.open(initcfile,'w')
|
@@ -69,44 +118,7 @@ if(xsystem("which cdclconfig"))
|
|
69
118
|
fin.close
|
70
119
|
|
71
120
|
else
|
72
|
-
|
73
|
-
dcllibname = "cdcl52"
|
74
|
-
f2clibname = "f2c4dcl"
|
75
|
-
xlibname = "X11"
|
76
|
-
dcllibdir = "-L/usr/local/lib"
|
77
|
-
f2clibdir = "-L/usr/local/lib"
|
78
|
-
xlibdir = "-L/usr/local/X11R6/lib"
|
79
|
-
f2cincdir = "-I/usr/local/include"
|
80
|
-
$CFLAGS += f2cincdir
|
81
|
-
if(dcllibdir != f2clibdir)
|
82
|
-
libdir = " "+dcllibdir
|
83
|
-
else
|
84
|
-
libdir = " "+dcllibdir+" "+f2clibdir
|
85
|
-
end
|
86
|
-
$LOCAL_LIBS += " "+libdir+" "+xlibdir
|
87
|
-
$LOCAL_LIBS += " -l"+dcllibname+" -l"+f2clibname+" -l"+xlibname+" -lsocket -lnsl"
|
88
|
-
|
89
|
-
FileUtils.copy(initcfile_default, initcfile)
|
90
|
-
end
|
91
|
-
|
92
|
-
if /cygwin|mingw/ =~ RUBY_PLATFORM
|
93
|
-
have_library("narray") || raise("ERROR: narray import library is not found")
|
121
|
+
raise "dclconfig is not found."
|
94
122
|
end
|
95
123
|
|
96
124
|
create_makefile("numru/dcl_raw")
|
97
|
-
|
98
|
-
###### Modify Makefile: #######
|
99
|
-
File.rename("Makefile","Makefile.orig")
|
100
|
-
oldmkfl = File.open("Makefile.orig")
|
101
|
-
newmkfl = File.open("Makefile","w")
|
102
|
-
oldmkfl.each_line{ |line|
|
103
|
-
case(line)
|
104
|
-
when /^distclean:/
|
105
|
-
newmkfl.puts(line)
|
106
|
-
newmkfl.puts("\t\t@$(RM) Makefile.orig")
|
107
|
-
newmkfl.puts("\t\t@$(RM) init.c")
|
108
|
-
else
|
109
|
-
newmkfl.puts(line)
|
110
|
-
end
|
111
|
-
}
|
112
|
-
newmkfl.close
|
data/ext/numru/grph1_csgi.c
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
/*
|
2
|
-
* $Id
|
2
|
+
* $Id$
|
3
3
|
*/
|
4
4
|
|
5
5
|
#include <stdio.h>
|
6
6
|
#include "ruby.h"
|
7
|
-
#include "libtinyf2c.h"
|
8
7
|
#include "narray.h"
|
9
8
|
#include "cdcl.h"
|
10
9
|
|
@@ -15,6 +14,10 @@
|
|
15
14
|
|
16
15
|
#define DFLT_SIZE 32
|
17
16
|
|
17
|
+
#ifndef NARRAY_BIGMEM
|
18
|
+
typedef int na_shape_t;
|
19
|
+
#endif
|
20
|
+
|
18
21
|
extern char *dcl_obj2ccharary(VALUE, int, int);
|
19
22
|
extern integer *dcl_obj2cintegerary(VALUE);
|
20
23
|
extern real *dcl_obj2crealary(VALUE);
|
@@ -22,10 +25,10 @@ extern complex *dcl_obj2ccomplexary(VALUE);
|
|
22
25
|
extern logical *dcl_obj2clogicalary(VALUE);
|
23
26
|
|
24
27
|
extern VALUE dcl_ccharary2obj(char *, int, int);
|
25
|
-
extern VALUE dcl_cintegerary2obj(integer *,
|
26
|
-
extern VALUE dcl_crealary2obj(real *,
|
27
|
-
extern VALUE dcl_ccomplexary2obj(complex *, int, char *);
|
28
|
-
extern VALUE dcl_clogicalary2obj(logical *,
|
28
|
+
extern VALUE dcl_cintegerary2obj(integer *, na_shape_t, int, na_shape_t *);
|
29
|
+
extern VALUE dcl_crealary2obj(real *, na_shape_t, int, na_shape_t *);
|
30
|
+
/* extern VALUE dcl_ccomplexary2obj(complex *, int, char *); */
|
31
|
+
extern VALUE dcl_clogicalary2obj(logical *, na_shape_t, int, na_shape_t *);
|
29
32
|
|
30
33
|
extern void dcl_freeccharary(char *);
|
31
34
|
extern void dcl_freecintegerary(integer *);
|
@@ -79,7 +82,7 @@ dcl_csgi(obj, ic)
|
|
79
82
|
o_rtn_val= ALLOCA_N(char, (2));
|
80
83
|
memset(o_rtn_val, '\0', 2);
|
81
84
|
|
82
|
-
|
85
|
+
csgi__(o_rtn_val, (ftnlen)1, &i_ic);
|
83
86
|
|
84
87
|
rtn_val = rb_str_new2(o_rtn_val);
|
85
88
|
|
@@ -103,11 +106,37 @@ dcl_isgc(obj, ch)
|
|
103
106
|
i_ch = StringValuePtr(ch);
|
104
107
|
|
105
108
|
|
106
|
-
o_rtn_val =
|
109
|
+
o_rtn_val = isgc__(i_ch, (ftnlen)strlen(i_ch));
|
107
110
|
|
108
111
|
rtn_val = INT2NUM(o_rtn_val);
|
109
112
|
|
110
113
|
|
114
|
+
return rtn_val;
|
115
|
+
|
116
|
+
}
|
117
|
+
|
118
|
+
static VALUE
|
119
|
+
dcl_usgi(obj, ic)
|
120
|
+
VALUE obj, ic;
|
121
|
+
{
|
122
|
+
integer i_ic;
|
123
|
+
char *o_rtn_val;
|
124
|
+
VALUE rtn_val;
|
125
|
+
|
126
|
+
if ((TYPE(ic) != T_BIGNUM) || (TYPE(ic) != T_FIXNUM)) {
|
127
|
+
ic = rb_funcall(ic, rb_intern("to_i"), 0);
|
128
|
+
}
|
129
|
+
|
130
|
+
i_ic = NUM2INT(ic);
|
131
|
+
|
132
|
+
o_rtn_val= ALLOCA_N(char, (3+1));
|
133
|
+
memset(o_rtn_val, '\0', 3+1);
|
134
|
+
|
135
|
+
usgi__(o_rtn_val, (ftnlen)3, &i_ic);
|
136
|
+
|
137
|
+
rtn_val = rb_str_new2(o_rtn_val);
|
138
|
+
|
139
|
+
|
111
140
|
return rtn_val;
|
112
141
|
|
113
142
|
}
|
@@ -117,4 +146,5 @@ VALUE mDCL;
|
|
117
146
|
{
|
118
147
|
rb_define_module_function(mDCL, "csgi", dcl_csgi, 1);
|
119
148
|
rb_define_module_function(mDCL, "isgc", dcl_isgc, 1);
|
149
|
+
rb_define_module_function(mDCL, "usgi", dcl_usgi, 1);
|
120
150
|
}
|