134 lines
3.8 KiB
C
134 lines
3.8 KiB
C
/* 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;
|
|
}
|