| /* All test functions return the sum of arguments, plus 1. |
| Void-returning functions put the result in the_result. |
| Complex-returning functions return their signature number as the |
| (constant) imaginary part of the result. */ |
| |
| double the_result; |
| |
| void v0 (void) { the_result = 1.0; } |
| void v1 (float x) { the_result = 1.0 + x; } |
| void v5 (float x, float y) { the_result = 1.0 + x + y; } |
| void v9 (float x, double y) { the_result = 1.0 + x + y; } |
| void v2 (double x) { the_result = 1.0 + x; } |
| void v6 (double x, float y) { the_result = 1.0 + x + y; } |
| void v10 (double x, double y) { the_result = 1.0 + x + y; } |
| |
| float f0 (void) { return 1.0; } |
| float f1 (float x) { return 1.0 + x; } |
| float f5 (float x, float y) { return 1.0 + x + y; } |
| float f9 (float x, double y) { return 1.0 + x + y; } |
| float f2 (double x) { return 1.0 + x; } |
| float f6 (double x, float y) { return 1.0 + x + y; } |
| float f10 (double x, double y) { return 1.0 + x + y; } |
| |
| double d0 (void) { return 1.0; } |
| double d1 (float x) { return 1.0 + x; } |
| double d5 (float x, float y) { return 1.0 + x + y; } |
| double d9 (float x, double y) { return 1.0 + x + y; } |
| double d2 (double x) { return 1.0 + x; } |
| double d6 (double x, float y) { return 1.0 + x + y; } |
| double d10 (double x, double y) { return 1.0 + x + y; } |
| |
| _Complex float cf0 (void) { return 1.0 + 0.0i; } |
| _Complex float cf1 (float x) { return 1.0 + x + 1.0i; } |
| _Complex float cf5 (float x, float y) { return 1.0 + x + y + 5.0i; } |
| _Complex float cf9 (float x, double y) { return 1.0 + x + y + 9.0i; } |
| _Complex float cf2 (double x) { return 1.0 + x + 2.0i; } |
| _Complex float cf6 (double x, float y) { return 1.0 + x + y + 6.0i; } |
| _Complex float cf10 (double x, double y) { return 1.0 + x + y + 10.0i; } |
| |
| _Complex double cd0 (void) { return 1.0 + 0.0i; } |
| _Complex double cd1 (float x) { return 1.0 + x + 1.0i; } |
| _Complex double cd5 (float x, float y) { return 1.0 + x + y + 5.0i; } |
| _Complex double cd9 (float x, double y) { return 1.0 + x + y + 9.0i; } |
| _Complex double cd2 (double x) { return 1.0 + x + 2.0i; } |
| _Complex double cd6 (double x, float y) { return 1.0 + x + y + 6.0i; } |
| _Complex double cd10 (double x, double y) { return 1.0 + x + y + 10.0i; } |
| |
| |
| /* Declare and initialize all the pointer-to-function variables. */ |
| |
| void (*pv0) (void); |
| void (*pv1) (float); |
| void (*pv5) (float, float); |
| void (*pv9) (float, double); |
| void (*pv2) (double); |
| void (*pv6) (double, float); |
| void (*pv10) (double, double); |
| |
| float (*pf0) (void); |
| float (*pf1) (float); |
| float (*pf5) (float, float); |
| float (*pf9) (float, double); |
| float (*pf2) (double); |
| float (*pf6) (double, float); |
| float (*pf10) (double, double); |
| |
| double (*pd0) (void); |
| double (*pd1) (float); |
| double (*pd5) (float, float); |
| double (*pd9) (float, double); |
| double (*pd2) (double); |
| double (*pd6) (double, float); |
| double (*pd10) (double, double); |
| |
| _Complex float (*pcf0) (void); |
| _Complex float (*pcf1) (float); |
| _Complex float (*pcf5) (float, float); |
| _Complex float (*pcf9) (float, double); |
| _Complex float (*pcf2) (double); |
| _Complex float (*pcf6) (double, float); |
| _Complex float (*pcf10) (double, double); |
| |
| _Complex double (*pcd0) (void); |
| _Complex double (*pcd1) (float); |
| _Complex double (*pcd5) (float, float); |
| _Complex double (*pcd9) (float, double); |
| _Complex double (*pcd2) (double); |
| _Complex double (*pcd6) (double, float); |
| _Complex double (*pcd10) (double, double); |
| |
| void |
| init (void) |
| { |
| pv0 = v0; |
| pv1 = v1; |
| pv5 = v5; |
| pv9 = v9; |
| pv2 = v2; |
| pv6 = v6; |
| pv10 = v10; |
| |
| pf0 = f0; |
| pf1 = f1; |
| pf5 = f5; |
| pf9 = f9; |
| pf2 = f2; |
| pf6 = f6; |
| pf10 = f10; |
| |
| pd0 = d0; |
| pd1 = d1; |
| pd5 = d5; |
| pd9 = d9; |
| pd2 = d2; |
| pd6 = d6; |
| pd10 = d10; |
| |
| pcf0 = cf0; |
| pcf1 = cf1; |
| pcf5 = cf5; |
| pcf9 = cf9; |
| pcf2 = cf2; |
| pcf6 = cf6; |
| pcf10 = cf10; |
| |
| pcd0 = cd0; |
| pcd1 = cd1; |
| pcd5 = cd5; |
| pcd9 = cd9; |
| pcd2 = cd2; |
| pcd6 = cd6; |
| pcd10 = cd10; |
| } |