2 Purpose: Check return value float, with many arguments
5 Originator: From the original ffitest.c */
12 static float many(float f1
,
27 printf("%f %f %f %f %f %f %f %f %f %f %f %f %f\n",
28 (double) f1
, (double) f2
, (double) f3
, (double) f4
, (double) f5
,
29 (double) f6
, (double) f7
, (double) f8
, (double) f9
, (double) f10
,
30 (double) f11
, (double) f12
, (double) f13
);
33 return ((f1
/f2
+f3
/f4
+f5
/f6
+f7
/f8
+f9
/f10
+f11
/f12
) * f13
);
45 for (i
= 0; i
< 13; i
++)
47 args
[i
] = &ffi_type_float
;
52 /* Initialize the cif */
53 CHECK(ffi_prep_cif(&cif
, FFI_DEFAULT_ABI
, 13,
54 &ffi_type_float
, args
) == FFI_OK
);
56 ffi_call(&cif
, FFI_FN(many
), &f
, values
);
58 ff
= many(fa
[0], fa
[1],
63 fa
[10],fa
[11],fa
[12]);
65 if (f
- ff
< FLT_EPSILON
)