2 Purpose: Check return value float, with many arguments
5 Originator: From the original ffitest.c */
14 static float ABI_ATTR
many(float f1
, float f2
, float f3
, float f4
, float f5
, float f6
, float f7
, float f8
, float f9
, float f10
, float f11
, float f12
, float f13
)
17 printf("%f %f %f %f %f %f %f %f %f %f %f %f %f\n",
18 (double) f1
, (double) f2
, (double) f3
, (double) f4
, (double) f5
,
19 (double) f6
, (double) f7
, (double) f8
, (double) f9
, (double) f10
,
20 (double) f11
, (double) f12
, (double) f13
);
23 return f1
+f2
+f3
+f4
+f5
+f6
+f7
+f8
+f9
+f10
+f11
+f12
+f13
;
35 for (i
= 0; i
< 13; i
++)
37 args
[i
] = &ffi_type_float
;
42 /* Initialize the cif */
43 CHECK(ffi_prep_cif(&cif
, ABI_NUM
, 13,
44 &ffi_type_float
, args
) == FFI_OK
);
46 ffi_call(&cif
, FFI_FN(many
), &f
, values
);
48 ff
= many(fa
[0], fa
[1],
53 fa
[10],fa
[11],fa
[12]);
55 if (fabs(f
- ff
) < FLT_EPSILON
)