ruby-dcl 1.7.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/ext/numru/math1_vialib.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 *);
|
|
@@ -102,7 +105,7 @@ dcl_vifna(obj, ix, n, jx, jy, ifna)
|
|
|
102
105
|
|
|
103
106
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
vifna__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ifna);
|
|
106
109
|
|
|
107
110
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
108
111
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -154,7 +157,7 @@ dcl_vifna0(obj, ix, n, jx, jy, ifna)
|
|
|
154
157
|
|
|
155
158
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
156
159
|
|
|
157
|
-
|
|
160
|
+
vifna0__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ifna);
|
|
158
161
|
|
|
159
162
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
160
163
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -206,7 +209,7 @@ dcl_vifna1(obj, ix, n, jx, jy, ifna)
|
|
|
206
209
|
|
|
207
210
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
208
211
|
|
|
209
|
-
|
|
212
|
+
vifna1__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ifna);
|
|
210
213
|
|
|
211
214
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
212
215
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -258,7 +261,7 @@ dcl_viinc(obj, ix, n, jx, jy, ii)
|
|
|
258
261
|
|
|
259
262
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
260
263
|
|
|
261
|
-
|
|
264
|
+
viinc__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
262
265
|
|
|
263
266
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
264
267
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -310,7 +313,7 @@ dcl_viinc0(obj, ix, n, jx, jy, ii)
|
|
|
310
313
|
|
|
311
314
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
312
315
|
|
|
313
|
-
|
|
316
|
+
viinc0__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
314
317
|
|
|
315
318
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
316
319
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -362,7 +365,7 @@ dcl_viinc1(obj, ix, n, jx, jy, ii)
|
|
|
362
365
|
|
|
363
366
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
364
367
|
|
|
365
|
-
|
|
368
|
+
viinc1__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
366
369
|
|
|
367
370
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
368
371
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -414,7 +417,7 @@ dcl_vifct(obj, ix, n, jx, jy, ii)
|
|
|
414
417
|
|
|
415
418
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
416
419
|
|
|
417
|
-
|
|
420
|
+
vifct__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
418
421
|
|
|
419
422
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
420
423
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -466,7 +469,7 @@ dcl_vifct0(obj, ix, n, jx, jy, ii)
|
|
|
466
469
|
|
|
467
470
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
468
471
|
|
|
469
|
-
|
|
472
|
+
vifct0__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
470
473
|
|
|
471
474
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
472
475
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -518,7 +521,7 @@ dcl_vifct1(obj, ix, n, jx, jy, ii)
|
|
|
518
521
|
|
|
519
522
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
520
523
|
|
|
521
|
-
|
|
524
|
+
vifct1__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
522
525
|
|
|
523
526
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
524
527
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -570,7 +573,7 @@ dcl_vicon(obj, ix, n, jx, jy, ii)
|
|
|
570
573
|
|
|
571
574
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
572
575
|
|
|
573
|
-
|
|
576
|
+
vicon__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
574
577
|
|
|
575
578
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
576
579
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -622,7 +625,7 @@ dcl_vicon0(obj, ix, n, jx, jy, ii)
|
|
|
622
625
|
|
|
623
626
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
624
627
|
|
|
625
|
-
|
|
628
|
+
vicon0__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
626
629
|
|
|
627
630
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
628
631
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -674,7 +677,7 @@ dcl_vicon1(obj, ix, n, jx, jy, ii)
|
|
|
674
677
|
|
|
675
678
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
676
679
|
|
|
677
|
-
|
|
680
|
+
vicon1__(i_ix, o_iy, &i_n, &i_jx, &i_jy, &i_ii);
|
|
678
681
|
|
|
679
682
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
680
683
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -721,7 +724,7 @@ dcl_viset(obj, ix, n, jx, jy)
|
|
|
721
724
|
|
|
722
725
|
o_iy= ALLOCA_N(integer, i_jy*(i_n-1)+1);
|
|
723
726
|
|
|
724
|
-
|
|
727
|
+
viset__(i_ix, o_iy, &i_n, &i_jx, &i_jy);
|
|
725
728
|
|
|
726
729
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
727
730
|
iy = dcl_cintegerary2obj(o_iy, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -765,7 +768,7 @@ dcl_iadd(obj, ix, n, jx, ii)
|
|
|
765
768
|
io_ix = dcl_obj2cintegerary(ix);
|
|
766
769
|
|
|
767
770
|
|
|
768
|
-
|
|
771
|
+
iadd__(io_ix, &i_n, &i_jx, &i_ii);
|
|
769
772
|
|
|
770
773
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
771
774
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -809,7 +812,7 @@ dcl_iadd0(obj, ix, n, jx, ii)
|
|
|
809
812
|
io_ix = dcl_obj2cintegerary(ix);
|
|
810
813
|
|
|
811
814
|
|
|
812
|
-
|
|
815
|
+
iadd0__(io_ix, &i_n, &i_jx, &i_ii);
|
|
813
816
|
|
|
814
817
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
815
818
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -853,7 +856,7 @@ dcl_iadd1(obj, ix, n, jx, ii)
|
|
|
853
856
|
io_ix = dcl_obj2cintegerary(ix);
|
|
854
857
|
|
|
855
858
|
|
|
856
|
-
|
|
859
|
+
iadd1__(io_ix, &i_n, &i_jx, &i_ii);
|
|
857
860
|
|
|
858
861
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
859
862
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -897,7 +900,7 @@ dcl_imlt(obj, ix, n, jx, ii)
|
|
|
897
900
|
io_ix = dcl_obj2cintegerary(ix);
|
|
898
901
|
|
|
899
902
|
|
|
900
|
-
|
|
903
|
+
imlt__(io_ix, &i_n, &i_jx, &i_ii);
|
|
901
904
|
|
|
902
905
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
903
906
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -941,7 +944,7 @@ dcl_imlt0(obj, ix, n, jx, ii)
|
|
|
941
944
|
io_ix = dcl_obj2cintegerary(ix);
|
|
942
945
|
|
|
943
946
|
|
|
944
|
-
|
|
947
|
+
imlt0__(io_ix, &i_n, &i_jx, &i_ii);
|
|
945
948
|
|
|
946
949
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
947
950
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -985,7 +988,7 @@ dcl_imlt1(obj, ix, n, jx, ii)
|
|
|
985
988
|
io_ix = dcl_obj2cintegerary(ix);
|
|
986
989
|
|
|
987
990
|
|
|
988
|
-
|
|
991
|
+
imlt1__(io_ix, &i_n, &i_jx, &i_ii);
|
|
989
992
|
|
|
990
993
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
991
994
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1029,7 +1032,7 @@ dcl_iset(obj, ix, n, jx, ii)
|
|
|
1029
1032
|
io_ix = dcl_obj2cintegerary(ix);
|
|
1030
1033
|
|
|
1031
1034
|
|
|
1032
|
-
|
|
1035
|
+
iset__(io_ix, &i_n, &i_jx, &i_ii);
|
|
1033
1036
|
|
|
1034
1037
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1035
1038
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1073,7 +1076,7 @@ dcl_iset0(obj, ix, n, jx, ii)
|
|
|
1073
1076
|
io_ix = dcl_obj2cintegerary(ix);
|
|
1074
1077
|
|
|
1075
1078
|
|
|
1076
|
-
|
|
1079
|
+
iset0__(io_ix, &i_n, &i_jx, &i_ii);
|
|
1077
1080
|
|
|
1078
1081
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1079
1082
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1117,7 +1120,7 @@ dcl_iset1(obj, ix, n, jx, ii)
|
|
|
1117
1120
|
io_ix = dcl_obj2cintegerary(ix);
|
|
1118
1121
|
|
|
1119
1122
|
|
|
1120
|
-
|
|
1123
|
+
iset1__(io_ix, &i_n, &i_jx, &i_ii);
|
|
1121
1124
|
|
|
1122
1125
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1123
1126
|
ix = dcl_cintegerary2obj(io_ix, i_jx*(i_n-1)+1, 1, array_shape);
|
data/ext/numru/math1_viblib.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 *);
|
|
@@ -116,7 +119,7 @@ dcl_vifnb(obj, ix, iy, n, jx, jy, jz, ifnb)
|
|
|
116
119
|
|
|
117
120
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
118
121
|
|
|
119
|
-
|
|
122
|
+
vifnb__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz, &i_ifnb);
|
|
120
123
|
|
|
121
124
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
122
125
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -183,7 +186,7 @@ dcl_vifnb0(obj, ix, iy, n, jx, jy, jz, ifnb)
|
|
|
183
186
|
|
|
184
187
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
185
188
|
|
|
186
|
-
|
|
189
|
+
vifnb0__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz, &i_ifnb);
|
|
187
190
|
|
|
188
191
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
189
192
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -250,7 +253,7 @@ dcl_vifnb1(obj, ix, iy, n, jx, jy, jz, ifnb)
|
|
|
250
253
|
|
|
251
254
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
252
255
|
|
|
253
|
-
|
|
256
|
+
vifnb1__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz, &i_ifnb);
|
|
254
257
|
|
|
255
258
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
256
259
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -312,7 +315,7 @@ dcl_viadd(obj, ix, iy, n, jx, jy, jz)
|
|
|
312
315
|
|
|
313
316
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
314
317
|
|
|
315
|
-
|
|
318
|
+
viadd__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
316
319
|
|
|
317
320
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
318
321
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -374,7 +377,7 @@ dcl_viadd0(obj, ix, iy, n, jx, jy, jz)
|
|
|
374
377
|
|
|
375
378
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
376
379
|
|
|
377
|
-
|
|
380
|
+
viadd0__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
378
381
|
|
|
379
382
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
380
383
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -436,7 +439,7 @@ dcl_viadd1(obj, ix, iy, n, jx, jy, jz)
|
|
|
436
439
|
|
|
437
440
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
438
441
|
|
|
439
|
-
|
|
442
|
+
viadd1__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
440
443
|
|
|
441
444
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
442
445
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -498,7 +501,7 @@ dcl_visub(obj, ix, iy, n, jx, jy, jz)
|
|
|
498
501
|
|
|
499
502
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
500
503
|
|
|
501
|
-
|
|
504
|
+
visub__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
502
505
|
|
|
503
506
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
504
507
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -560,7 +563,7 @@ dcl_visub0(obj, ix, iy, n, jx, jy, jz)
|
|
|
560
563
|
|
|
561
564
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
562
565
|
|
|
563
|
-
|
|
566
|
+
visub0__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
564
567
|
|
|
565
568
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
566
569
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -622,7 +625,7 @@ dcl_visub1(obj, ix, iy, n, jx, jy, jz)
|
|
|
622
625
|
|
|
623
626
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
624
627
|
|
|
625
|
-
|
|
628
|
+
visub1__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
626
629
|
|
|
627
630
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
628
631
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -684,7 +687,7 @@ dcl_vimlt(obj, ix, iy, n, jx, jy, jz)
|
|
|
684
687
|
|
|
685
688
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
686
689
|
|
|
687
|
-
|
|
690
|
+
vimlt__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
688
691
|
|
|
689
692
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
690
693
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -746,7 +749,7 @@ dcl_vimlt0(obj, ix, iy, n, jx, jy, jz)
|
|
|
746
749
|
|
|
747
750
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
748
751
|
|
|
749
|
-
|
|
752
|
+
vimlt0__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
750
753
|
|
|
751
754
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
752
755
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -808,7 +811,7 @@ dcl_vimlt1(obj, ix, iy, n, jx, jy, jz)
|
|
|
808
811
|
|
|
809
812
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
810
813
|
|
|
811
|
-
|
|
814
|
+
vimlt1__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
812
815
|
|
|
813
816
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
814
817
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -870,7 +873,7 @@ dcl_vidiv(obj, ix, iy, n, jx, jy, jz)
|
|
|
870
873
|
|
|
871
874
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
872
875
|
|
|
873
|
-
|
|
876
|
+
vidiv__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
874
877
|
|
|
875
878
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
876
879
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -932,7 +935,7 @@ dcl_vidiv0(obj, ix, iy, n, jx, jy, jz)
|
|
|
932
935
|
|
|
933
936
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
934
937
|
|
|
935
|
-
|
|
938
|
+
vidiv0__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
936
939
|
|
|
937
940
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
938
941
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -994,7 +997,7 @@ dcl_vidiv1(obj, ix, iy, n, jx, jy, jz)
|
|
|
994
997
|
|
|
995
998
|
o_iz= ALLOCA_N(integer, i_jz*(i_n-1)+1);
|
|
996
999
|
|
|
997
|
-
|
|
1000
|
+
vidiv1__(i_ix, i_iy, o_iz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
998
1001
|
|
|
999
1002
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
1000
1003
|
iz = dcl_cintegerary2obj(o_iz, i_jz*(i_n-1)+1, 1, array_shape);
|
data/ext/numru/math1_vralib.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 *);
|
|
@@ -102,7 +105,7 @@ dcl_vrfna(obj, rx, n, jx, jy, rfna)
|
|
|
102
105
|
|
|
103
106
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
vrfna__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rfna);
|
|
106
109
|
|
|
107
110
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
108
111
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -154,7 +157,7 @@ dcl_vrfna0(obj, rx, n, jx, jy, rfna)
|
|
|
154
157
|
|
|
155
158
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
156
159
|
|
|
157
|
-
|
|
160
|
+
vrfna0__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rfna);
|
|
158
161
|
|
|
159
162
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
160
163
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -206,7 +209,7 @@ dcl_vrfna1(obj, rx, n, jx, jy, rfna)
|
|
|
206
209
|
|
|
207
210
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
208
211
|
|
|
209
|
-
|
|
212
|
+
vrfna1__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rfna);
|
|
210
213
|
|
|
211
214
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
212
215
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -258,7 +261,7 @@ dcl_vrinc(obj, rx, n, jx, jy, rr)
|
|
|
258
261
|
|
|
259
262
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
260
263
|
|
|
261
|
-
|
|
264
|
+
vrinc__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
262
265
|
|
|
263
266
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
264
267
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -310,7 +313,7 @@ dcl_vrinc0(obj, rx, n, jx, jy, rr)
|
|
|
310
313
|
|
|
311
314
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
312
315
|
|
|
313
|
-
|
|
316
|
+
vrinc0__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
314
317
|
|
|
315
318
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
316
319
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -362,7 +365,7 @@ dcl_vrinc1(obj, rx, n, jx, jy, rr)
|
|
|
362
365
|
|
|
363
366
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
364
367
|
|
|
365
|
-
|
|
368
|
+
vrinc1__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
366
369
|
|
|
367
370
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
368
371
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -414,7 +417,7 @@ dcl_vrfct(obj, rx, n, jx, jy, rr)
|
|
|
414
417
|
|
|
415
418
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
416
419
|
|
|
417
|
-
|
|
420
|
+
vrfct__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
418
421
|
|
|
419
422
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
420
423
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -466,7 +469,7 @@ dcl_vrfct0(obj, rx, n, jx, jy, rr)
|
|
|
466
469
|
|
|
467
470
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
468
471
|
|
|
469
|
-
|
|
472
|
+
vrfct0__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
470
473
|
|
|
471
474
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
472
475
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -518,7 +521,7 @@ dcl_vrfct1(obj, rx, n, jx, jy, rr)
|
|
|
518
521
|
|
|
519
522
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
520
523
|
|
|
521
|
-
|
|
524
|
+
vrfct1__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
522
525
|
|
|
523
526
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
524
527
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -570,7 +573,7 @@ dcl_vrcon(obj, rx, n, jx, jy, rr)
|
|
|
570
573
|
|
|
571
574
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
572
575
|
|
|
573
|
-
|
|
576
|
+
vrcon__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
574
577
|
|
|
575
578
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
576
579
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -622,7 +625,7 @@ dcl_vrcon0(obj, rx, n, jx, jy, rr)
|
|
|
622
625
|
|
|
623
626
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
624
627
|
|
|
625
|
-
|
|
628
|
+
vrcon0__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
626
629
|
|
|
627
630
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
628
631
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -674,7 +677,7 @@ dcl_vrcon1(obj, rx, n, jx, jy, rr)
|
|
|
674
677
|
|
|
675
678
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
676
679
|
|
|
677
|
-
|
|
680
|
+
vrcon1__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_rr);
|
|
678
681
|
|
|
679
682
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
680
683
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -721,7 +724,7 @@ dcl_vrset(obj, rx, n, jx, jy)
|
|
|
721
724
|
|
|
722
725
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
723
726
|
|
|
724
|
-
|
|
727
|
+
vrset__(i_rx, o_ry, &i_n, &i_jx, &i_jy);
|
|
725
728
|
|
|
726
729
|
{int array_shape[1] = {i_jy*(i_n-1)+1};
|
|
727
730
|
ry = dcl_crealary2obj(o_ry, i_jy*(i_n-1)+1, 1, array_shape);
|
|
@@ -765,7 +768,7 @@ dcl_radd(obj, rx, n, jx, rr)
|
|
|
765
768
|
io_rx = dcl_obj2crealary(rx);
|
|
766
769
|
|
|
767
770
|
|
|
768
|
-
|
|
771
|
+
radd__(io_rx, &i_n, &i_jx, &i_rr);
|
|
769
772
|
|
|
770
773
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
771
774
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -809,7 +812,7 @@ dcl_radd0(obj, rx, n, jx, rr)
|
|
|
809
812
|
io_rx = dcl_obj2crealary(rx);
|
|
810
813
|
|
|
811
814
|
|
|
812
|
-
|
|
815
|
+
radd0__(io_rx, &i_n, &i_jx, &i_rr);
|
|
813
816
|
|
|
814
817
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
815
818
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -853,7 +856,7 @@ dcl_radd1(obj, rx, n, jx, rr)
|
|
|
853
856
|
io_rx = dcl_obj2crealary(rx);
|
|
854
857
|
|
|
855
858
|
|
|
856
|
-
|
|
859
|
+
radd1__(io_rx, &i_n, &i_jx, &i_rr);
|
|
857
860
|
|
|
858
861
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
859
862
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -897,7 +900,7 @@ dcl_rmlt(obj, rx, n, jx, rr)
|
|
|
897
900
|
io_rx = dcl_obj2crealary(rx);
|
|
898
901
|
|
|
899
902
|
|
|
900
|
-
|
|
903
|
+
rmlt__(io_rx, &i_n, &i_jx, &i_rr);
|
|
901
904
|
|
|
902
905
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
903
906
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -941,7 +944,7 @@ dcl_rmlt0(obj, rx, n, jx, rr)
|
|
|
941
944
|
io_rx = dcl_obj2crealary(rx);
|
|
942
945
|
|
|
943
946
|
|
|
944
|
-
|
|
947
|
+
rmlt0__(io_rx, &i_n, &i_jx, &i_rr);
|
|
945
948
|
|
|
946
949
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
947
950
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -985,7 +988,7 @@ dcl_rmlt1(obj, rx, n, jx, rr)
|
|
|
985
988
|
io_rx = dcl_obj2crealary(rx);
|
|
986
989
|
|
|
987
990
|
|
|
988
|
-
|
|
991
|
+
rmlt1__(io_rx, &i_n, &i_jx, &i_rr);
|
|
989
992
|
|
|
990
993
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
991
994
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1029,7 +1032,7 @@ dcl_rset(obj, rx, n, jx, rr)
|
|
|
1029
1032
|
io_rx = dcl_obj2crealary(rx);
|
|
1030
1033
|
|
|
1031
1034
|
|
|
1032
|
-
|
|
1035
|
+
rset__(io_rx, &i_n, &i_jx, &i_rr);
|
|
1033
1036
|
|
|
1034
1037
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1035
1038
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1073,7 +1076,7 @@ dcl_rset0(obj, rx, n, jx, rr)
|
|
|
1073
1076
|
io_rx = dcl_obj2crealary(rx);
|
|
1074
1077
|
|
|
1075
1078
|
|
|
1076
|
-
|
|
1079
|
+
rset0__(io_rx, &i_n, &i_jx, &i_rr);
|
|
1077
1080
|
|
|
1078
1081
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1079
1082
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -1117,7 +1120,7 @@ dcl_rset1(obj, rx, n, jx, rr)
|
|
|
1117
1120
|
io_rx = dcl_obj2crealary(rx);
|
|
1118
1121
|
|
|
1119
1122
|
|
|
1120
|
-
|
|
1123
|
+
rset1__(io_rx, &i_n, &i_jx, &i_rr);
|
|
1121
1124
|
|
|
1122
1125
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
1123
1126
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|