Skip to content

Commit c30e9c0

Browse files
committed
add test to mix :double :float32 as arguments
1 parent 3832978 commit c30e9c0

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

test/test-foreign.l

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,25 @@ test-testd = 1.23456
110110
(assert-read-line-string= f "1040.000000 1050.000000 1060.000000 1070.000000")
111111
(assert-read-line-string= f "2080.000000 2090.000000")
112112
(assert-read-line-string= f "206 207")
113+
114+
(format t "exec in eus~%")
115+
(format t "test-testfd = ~A~%"
116+
(setq ret (test-testfd 100 101 102
117+
103 104 105
118+
1000.0 1010.0 1020.0 1030.0
119+
1040.0 1050.0 1060.0 1070.0
120+
2080.0 2090.0
121+
206 207)))
122+
(assert (= 123456 ret))
123+
;;
124+
(check-func 'test-testfd)
125+
(setq f (piped-fork (format nil "eusg ~A/test/test-foreign.module_l '(progn (test-testfd 100 101 102 103 104 105 1000.000000 1010.000000 1020.000000 1030.000000 1040.000000 1050.000000 1060.000000 1070.000000 2080.000000 2090.000000 206 207)(exit 0))'" *eusdir*)))
126+
(assert-read-line-string= f "100 101 102")
127+
(assert-read-line-string= f "103 104 105")
128+
(assert-read-line-string= f "1000.000000 1010.000000 1020.000000 1030.000000")
129+
(assert-read-line-string= f "1040.000000 1050.000000 1060.000000 1070.000000")
130+
(assert-read-line-string= f "2080.000000 2090.000000")
131+
(assert-read-line-string= f "206 207")
113132
)
114133

115134
(deftest test-int-test

test/test-foreign.module_l

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545
:float :float :float :float
4646
:float :float
4747
:integer :integer) :float)
48+
(defforeign test-testfd *testmod* "test_testfd" (:integer :integer :integer
49+
:integer :integer :integer
50+
:double :float32 :double :float32
51+
:float32 :double :double :float32
52+
:float32 :double
53+
:integer :integer) :integer)
4854
(defforeign call-ifunc *testmod* "call_ifunc" () :integer)
4955
(defforeign call-ffunc *testmod* "call_ffunc" () :float)
5056

test/test_foreign.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,24 @@ eusfloat_t test_testf(long i0, long i1, long i2,
307307
//return 0x1234;
308308
return 1.23456;
309309
}
310+
int test_testfd(long i0, long i1, long i2,
311+
long i3, long i4, long i5,
312+
double d0, float d1, double d2, float d3,
313+
float d4, double d5, double d6, float d7,
314+
float d8, double d9,
315+
long i6, long i7) {
316+
printf("%ld %ld %ld\n", i0, i1, i2);
317+
printf("%ld %ld %ld\n", i3, i4, i5);
318+
//printf("%ld %ld %ld %ld\n",
319+
//(long)d0, (long)d1, (long)d2, (long)d3);
320+
printf("%lf %f %lf %f\n", d0, d1, d2, d3);
321+
printf("%f %lf %lf %f\n", d4, d5, d6, d7);
322+
printf("%f %lf\n", d8, d9);
323+
printf("%ld %ld\n", i6, i7);
324+
325+
//return 0x1234;
326+
return 123456;
327+
}
310328
static long (*g)();
311329
static double (*gf) (long i0, long i1, long i2,
312330
long i3, long i4, long i5,

0 commit comments

Comments
 (0)