2 Purpose: Check return value double, with many arguments
5 Originator: From the original ffitest.c */
14 static double many(double f1
,
34 return ((double) (i1
+ i2
+ i3
+ i4
+ i5
+ i6
) + (f1
/f2
+f3
/f4
+f5
/f6
+f7
/f8
+f9
/f10
+f11
/f12
) * f13
);
47 for (i
= 0; i
< 19; i
++)
49 if( (i
- 2) % 3 == 0) {
50 args
[i
] = &ffi_type_slong
;
55 args
[i
] = &ffi_type_double
;
61 /* Initialize the cif */
62 CHECK(ffi_prep_cif(&cif
, FFI_DEFAULT_ABI
, 19,
63 &ffi_type_double
, args
) == FFI_OK
);
65 ffi_call(&cif
, FFI_FN(many
), &f
, values
);
67 ff
= many(fa
[0], fa
[1], la
[2],
70 fa
[9], fa
[10], la
[11],
71 fa
[12], fa
[13], la
[14],
72 fa
[15], fa
[16], la
[17],
74 if (fabs(f
- ff
) < FLT_EPSILON
)