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_vrblib.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_vrfnb(obj, rx, ry, n, jx, jy, jz, rfnb)
|
|
|
116
119
|
|
|
117
120
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
118
121
|
|
|
119
|
-
|
|
122
|
+
vrfnb__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz, &i_rfnb);
|
|
120
123
|
|
|
121
124
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
122
125
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -183,7 +186,7 @@ dcl_vrfnb0(obj, rx, ry, n, jx, jy, jz, rfnb)
|
|
|
183
186
|
|
|
184
187
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
185
188
|
|
|
186
|
-
|
|
189
|
+
vrfnb0__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz, &i_rfnb);
|
|
187
190
|
|
|
188
191
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
189
192
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -250,7 +253,7 @@ dcl_vrfnb1(obj, rx, ry, n, jx, jy, jz, rfnb)
|
|
|
250
253
|
|
|
251
254
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
252
255
|
|
|
253
|
-
|
|
256
|
+
vrfnb1__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz, &i_rfnb);
|
|
254
257
|
|
|
255
258
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
256
259
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -312,7 +315,7 @@ dcl_vradd(obj, rx, ry, n, jx, jy, jz)
|
|
|
312
315
|
|
|
313
316
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
314
317
|
|
|
315
|
-
|
|
318
|
+
vradd__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
316
319
|
|
|
317
320
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
318
321
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -374,7 +377,7 @@ dcl_vradd0(obj, rx, ry, n, jx, jy, jz)
|
|
|
374
377
|
|
|
375
378
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
376
379
|
|
|
377
|
-
|
|
380
|
+
vradd0__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
378
381
|
|
|
379
382
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
380
383
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -436,7 +439,7 @@ dcl_vradd1(obj, rx, ry, n, jx, jy, jz)
|
|
|
436
439
|
|
|
437
440
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
438
441
|
|
|
439
|
-
|
|
442
|
+
vradd1__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
440
443
|
|
|
441
444
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
442
445
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -498,7 +501,7 @@ dcl_vrsub(obj, rx, ry, n, jx, jy, jz)
|
|
|
498
501
|
|
|
499
502
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
500
503
|
|
|
501
|
-
|
|
504
|
+
vrsub__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
502
505
|
|
|
503
506
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
504
507
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -560,7 +563,7 @@ dcl_vrsub0(obj, rx, ry, n, jx, jy, jz)
|
|
|
560
563
|
|
|
561
564
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
562
565
|
|
|
563
|
-
|
|
566
|
+
vrsub0__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
564
567
|
|
|
565
568
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
566
569
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -622,7 +625,7 @@ dcl_vrsub1(obj, rx, ry, n, jx, jy, jz)
|
|
|
622
625
|
|
|
623
626
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
624
627
|
|
|
625
|
-
|
|
628
|
+
vrsub1__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
626
629
|
|
|
627
630
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
628
631
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -684,7 +687,7 @@ dcl_vrmlt(obj, rx, ry, n, jx, jy, jz)
|
|
|
684
687
|
|
|
685
688
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
686
689
|
|
|
687
|
-
|
|
690
|
+
vrmlt__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
688
691
|
|
|
689
692
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
690
693
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -746,7 +749,7 @@ dcl_vrmlt0(obj, rx, ry, n, jx, jy, jz)
|
|
|
746
749
|
|
|
747
750
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
748
751
|
|
|
749
|
-
|
|
752
|
+
vrmlt0__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
750
753
|
|
|
751
754
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
752
755
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -808,7 +811,7 @@ dcl_vrmlt1(obj, rx, ry, n, jx, jy, jz)
|
|
|
808
811
|
|
|
809
812
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
810
813
|
|
|
811
|
-
|
|
814
|
+
vrmlt1__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
812
815
|
|
|
813
816
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
814
817
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -870,7 +873,7 @@ dcl_vrdiv(obj, rx, ry, n, jx, jy, jz)
|
|
|
870
873
|
|
|
871
874
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
872
875
|
|
|
873
|
-
|
|
876
|
+
vrdiv__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
874
877
|
|
|
875
878
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
876
879
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -932,7 +935,7 @@ dcl_vrdiv0(obj, rx, ry, n, jx, jy, jz)
|
|
|
932
935
|
|
|
933
936
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
934
937
|
|
|
935
|
-
|
|
938
|
+
vrdiv0__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
936
939
|
|
|
937
940
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
938
941
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
|
@@ -994,7 +997,7 @@ dcl_vrdiv1(obj, rx, ry, n, jx, jy, jz)
|
|
|
994
997
|
|
|
995
998
|
o_rz= ALLOCA_N(real, i_jz*(i_n-1)+1);
|
|
996
999
|
|
|
997
|
-
|
|
1000
|
+
vrdiv1__(i_rx, i_ry, o_rz, &i_n, &i_jx, &i_jy, &i_jz);
|
|
998
1001
|
|
|
999
1002
|
{int array_shape[1] = {i_jz*(i_n-1)+1};
|
|
1000
1003
|
rz = dcl_crealary2obj(o_rz, i_jz*(i_n-1)+1, 1, array_shape);
|
data/ext/numru/math1_xfclib.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 *);
|
|
@@ -77,7 +80,7 @@ dcl_ifromc(obj, cx)
|
|
|
77
80
|
i_cx = StringValuePtr(cx);
|
|
78
81
|
|
|
79
82
|
|
|
80
|
-
o_rtn_val =
|
|
83
|
+
o_rtn_val = ifromc__(i_cx, (ftnlen)strlen(i_cx));
|
|
81
84
|
|
|
82
85
|
rtn_val = INT2NUM(o_rtn_val);
|
|
83
86
|
|
|
@@ -101,7 +104,7 @@ dcl_lfromc(obj, cx)
|
|
|
101
104
|
i_cx = StringValuePtr(cx);
|
|
102
105
|
|
|
103
106
|
|
|
104
|
-
o_rtn_val =
|
|
107
|
+
o_rtn_val = lfromc__(i_cx, (ftnlen)strlen(i_cx));
|
|
105
108
|
|
|
106
109
|
rtn_val = (o_rtn_val == FALSE_) ? Qfalse : Qtrue;
|
|
107
110
|
|
|
@@ -125,7 +128,7 @@ dcl_rfromc(obj, cx)
|
|
|
125
128
|
i_cx = StringValuePtr(cx);
|
|
126
129
|
|
|
127
130
|
|
|
128
|
-
o_rtn_val =
|
|
131
|
+
o_rtn_val = rfromc__(i_cx, (ftnlen)strlen(i_cx));
|
|
129
132
|
|
|
130
133
|
rtn_val = rb_float_new((double)o_rtn_val);
|
|
131
134
|
|
data/ext/numru/math2_fftlib.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 *);
|
|
@@ -93,7 +96,7 @@ dcl_cfftb(obj, n, c, wsave)
|
|
|
93
96
|
i_wsave = dcl_obj2crealary(wsave);
|
|
94
97
|
|
|
95
98
|
|
|
96
|
-
|
|
99
|
+
cfftb__(&i_n, io_c, i_wsave);
|
|
97
100
|
|
|
98
101
|
{int array_shape[1] = {2*i_n};
|
|
99
102
|
c = dcl_crealary2obj(io_c, (2*i_n), 1, array_shape);
|
|
@@ -137,7 +140,7 @@ dcl_cfftf(obj, n, c, wsave)
|
|
|
137
140
|
i_wsave = dcl_obj2crealary(wsave);
|
|
138
141
|
|
|
139
142
|
|
|
140
|
-
|
|
143
|
+
cfftf__(&i_n, io_c, i_wsave);
|
|
141
144
|
|
|
142
145
|
{int array_shape[1] = {2*i_n};
|
|
143
146
|
c = dcl_crealary2obj(io_c, (2*i_n), 1, array_shape);
|
|
@@ -166,7 +169,7 @@ dcl_cffti(obj, n)
|
|
|
166
169
|
|
|
167
170
|
o_wsave= ALLOCA_N(real, (4*i_n+15));
|
|
168
171
|
|
|
169
|
-
|
|
172
|
+
cffti__(&i_n, o_wsave);
|
|
170
173
|
|
|
171
174
|
{int array_shape[1] = {4*i_n+15};
|
|
172
175
|
wsave = dcl_crealary2obj(o_wsave, (4*i_n+15), 1, array_shape);
|
|
@@ -208,7 +211,7 @@ dcl_cosqb(obj, n, x, wsave)
|
|
|
208
211
|
i_wsave = dcl_obj2crealary(wsave);
|
|
209
212
|
|
|
210
213
|
|
|
211
|
-
|
|
214
|
+
cosqb__(&i_n, io_x, i_wsave);
|
|
212
215
|
|
|
213
216
|
{int array_shape[1] = {i_n};
|
|
214
217
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -252,7 +255,7 @@ dcl_cosqf(obj, n, x, wsave)
|
|
|
252
255
|
i_wsave = dcl_obj2crealary(wsave);
|
|
253
256
|
|
|
254
257
|
|
|
255
|
-
|
|
258
|
+
cosqf__(&i_n, io_x, i_wsave);
|
|
256
259
|
|
|
257
260
|
{int array_shape[1] = {i_n};
|
|
258
261
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -281,7 +284,7 @@ dcl_cosqi(obj, n)
|
|
|
281
284
|
|
|
282
285
|
o_wsave= ALLOCA_N(real, (3*i_n+15));
|
|
283
286
|
|
|
284
|
-
|
|
287
|
+
cosqi__(&i_n, o_wsave);
|
|
285
288
|
|
|
286
289
|
{int array_shape[1] = {3*i_n+15};
|
|
287
290
|
wsave = dcl_crealary2obj(o_wsave, (3*i_n+15), 1, array_shape);
|
|
@@ -323,7 +326,7 @@ dcl_cost(obj, n, x, wsave)
|
|
|
323
326
|
i_wsave = dcl_obj2crealary(wsave);
|
|
324
327
|
|
|
325
328
|
|
|
326
|
-
|
|
329
|
+
cost__(&i_n, io_x, i_wsave);
|
|
327
330
|
|
|
328
331
|
{int array_shape[1] = {i_n};
|
|
329
332
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -352,7 +355,7 @@ dcl_costi(obj, n)
|
|
|
352
355
|
|
|
353
356
|
o_wsave= ALLOCA_N(real, (3*i_n+15));
|
|
354
357
|
|
|
355
|
-
|
|
358
|
+
costi__(&i_n, o_wsave);
|
|
356
359
|
|
|
357
360
|
{int array_shape[1] = {3*i_n+15};
|
|
358
361
|
wsave = dcl_crealary2obj(o_wsave, (3*i_n+15), 1, array_shape);
|
|
@@ -411,7 +414,7 @@ dcl_ezfftb(obj, n, azero, a, b, wsave)
|
|
|
411
414
|
|
|
412
415
|
o_r= ALLOCA_N(real, (i_n));
|
|
413
416
|
|
|
414
|
-
|
|
417
|
+
ezfftb__(&i_n, o_r, &i_azero, i_a, i_b, i_wsave);
|
|
415
418
|
|
|
416
419
|
{int array_shape[1] = {i_n};
|
|
417
420
|
r = dcl_crealary2obj(o_r, (i_n), 1, array_shape);
|
|
@@ -464,7 +467,7 @@ dcl_ezfftf(obj, n, r, wsave)
|
|
|
464
467
|
o_a= ALLOCA_N(real, (i_n/2));
|
|
465
468
|
o_b= ALLOCA_N(real, (i_n/2));
|
|
466
469
|
|
|
467
|
-
|
|
470
|
+
ezfftf__(&i_n, i_r, &o_azero, o_a, o_b, i_wsave);
|
|
468
471
|
|
|
469
472
|
azero = rb_float_new((double)o_azero);
|
|
470
473
|
{int array_shape[1] = {i_n/2};
|
|
@@ -497,7 +500,7 @@ dcl_ezffti(obj, n)
|
|
|
497
500
|
|
|
498
501
|
o_wsave= ALLOCA_N(real, (3*i_n+15));
|
|
499
502
|
|
|
500
|
-
|
|
503
|
+
ezffti__(&i_n, o_wsave);
|
|
501
504
|
|
|
502
505
|
{int array_shape[1] = {3*i_n+15};
|
|
503
506
|
wsave = dcl_crealary2obj(o_wsave, (3*i_n+15), 1, array_shape);
|
|
@@ -539,7 +542,7 @@ dcl_rfftb(obj, n, r, wsave)
|
|
|
539
542
|
i_wsave = dcl_obj2crealary(wsave);
|
|
540
543
|
|
|
541
544
|
|
|
542
|
-
|
|
545
|
+
rfftb__(&i_n, io_r, i_wsave);
|
|
543
546
|
|
|
544
547
|
{int array_shape[1] = {i_n};
|
|
545
548
|
r = dcl_crealary2obj(io_r, (i_n), 1, array_shape);
|
|
@@ -583,7 +586,7 @@ dcl_rfftf(obj, n, r, wsave)
|
|
|
583
586
|
i_wsave = dcl_obj2crealary(wsave);
|
|
584
587
|
|
|
585
588
|
|
|
586
|
-
|
|
589
|
+
rfftf__(&i_n, io_r, i_wsave);
|
|
587
590
|
|
|
588
591
|
{int array_shape[1] = {i_n};
|
|
589
592
|
r = dcl_crealary2obj(io_r, (i_n), 1, array_shape);
|
|
@@ -612,7 +615,7 @@ dcl_rffti(obj, n)
|
|
|
612
615
|
|
|
613
616
|
o_wsave= ALLOCA_N(real, (2*i_n+15));
|
|
614
617
|
|
|
615
|
-
|
|
618
|
+
rffti__(&i_n, o_wsave);
|
|
616
619
|
|
|
617
620
|
{int array_shape[1] = {2*i_n+15};
|
|
618
621
|
wsave = dcl_crealary2obj(o_wsave, (2*i_n+15), 1, array_shape);
|
|
@@ -654,7 +657,7 @@ dcl_sinqb(obj, n, x, wsave)
|
|
|
654
657
|
i_wsave = dcl_obj2crealary(wsave);
|
|
655
658
|
|
|
656
659
|
|
|
657
|
-
|
|
660
|
+
sinqb__(&i_n, io_x, i_wsave);
|
|
658
661
|
|
|
659
662
|
{int array_shape[1] = {i_n};
|
|
660
663
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -698,7 +701,7 @@ dcl_sinqf(obj, n, x, wsave)
|
|
|
698
701
|
i_wsave = dcl_obj2crealary(wsave);
|
|
699
702
|
|
|
700
703
|
|
|
701
|
-
|
|
704
|
+
sinqf__(&i_n, io_x, i_wsave);
|
|
702
705
|
|
|
703
706
|
{int array_shape[1] = {i_n};
|
|
704
707
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -727,7 +730,7 @@ dcl_sinqi(obj, n)
|
|
|
727
730
|
|
|
728
731
|
o_wsave= ALLOCA_N(real, (3*i_n+15));
|
|
729
732
|
|
|
730
|
-
|
|
733
|
+
sinqi__(&i_n, o_wsave);
|
|
731
734
|
|
|
732
735
|
{int array_shape[1] = {3*i_n+15};
|
|
733
736
|
wsave = dcl_crealary2obj(o_wsave, (3*i_n+15), 1, array_shape);
|
|
@@ -769,7 +772,7 @@ dcl_sint(obj, n, x, wsave)
|
|
|
769
772
|
i_wsave = dcl_obj2crealary(wsave);
|
|
770
773
|
|
|
771
774
|
|
|
772
|
-
|
|
775
|
+
sint__(&i_n, io_x, i_wsave);
|
|
773
776
|
|
|
774
777
|
{int array_shape[1] = {i_n};
|
|
775
778
|
x = dcl_crealary2obj(io_x, (i_n), 1, array_shape);
|
|
@@ -798,7 +801,7 @@ dcl_sinti(obj, n)
|
|
|
798
801
|
|
|
799
802
|
o_wsave= ALLOCA_N(real, (2*i_n+i_n/2+15));
|
|
800
803
|
|
|
801
|
-
|
|
804
|
+
sinti__(&i_n, o_wsave);
|
|
802
805
|
|
|
803
806
|
{int array_shape[1] = {2*i_n+i_n/2+15};
|
|
804
807
|
wsave = dcl_crealary2obj(o_wsave, (2*i_n+i_n/2+15), 1, array_shape);
|
data/ext/numru/math2_intrlib.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 *);
|
|
@@ -89,7 +92,7 @@ dcl_vrintr(obj, rx, n, jx)
|
|
|
89
92
|
io_rx = dcl_obj2crealary(rx);
|
|
90
93
|
|
|
91
94
|
|
|
92
|
-
|
|
95
|
+
vrintr__(io_rx, &i_n, &i_jx);
|
|
93
96
|
|
|
94
97
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
95
98
|
rx = dcl_crealary2obj(io_rx, i_jx*(i_n-1)+1, 1, array_shape);
|
|
@@ -122,7 +125,7 @@ dcl_vcintr(obj, cx, n, jx)
|
|
|
122
125
|
/* initialization: not implemented for cx (ComplexInputOutputArrayVariable) */
|
|
123
126
|
|
|
124
127
|
|
|
125
|
-
|
|
128
|
+
vcintr__(io_cx, &i_n, &i_jx);
|
|
126
129
|
|
|
127
130
|
/* getresult: not implemented for cx (ComplexInputOutputArrayVariable) */
|
|
128
131
|
|
data/ext/numru/math2_rnmlib.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_vrrnm(obj, rx, n, jx, jy, nb)
|
|
|
102
105
|
|
|
103
106
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
vrrnm__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_nb);
|
|
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_vrrnm0(obj, rx, n, jx, jy, nb)
|
|
|
154
157
|
|
|
155
158
|
o_ry= ALLOCA_N(real, i_jy*(i_n-1)+1);
|
|
156
159
|
|
|
157
|
-
|
|
160
|
+
vrrnm0__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_nb);
|
|
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_vrrnm1(obj, rx, n, jx, jy, nb)
|
|
|
206
209
|
|
|
207
210
|
o_ry= ALLOCA_N(real, i_jx*(i_n-1)+1);
|
|
208
211
|
|
|
209
|
-
|
|
212
|
+
vrrnm1__(i_rx, o_ry, &i_n, &i_jx, &i_jy, &i_nb);
|
|
210
213
|
|
|
211
214
|
{int array_shape[1] = {i_jx*(i_n-1)+1};
|
|
212
215
|
ry = dcl_crealary2obj(o_ry, i_jx*(i_n-1)+1, 1, array_shape);
|