Files
cs420/bench/exotic_arguments.c
Jeehoon Kang 542535fbd6 Update bench
2020-07-02 16:33:01 +00:00

60 lines
990 B
C

typedef struct {
int a;
int b;
} small;
typedef struct {
long a;
long b;
long c;
long d;
long e;
long f;
long g;
long h;
} large;
typedef struct {
long a;
float b;
} small_ugly;
typedef struct {
long a;
float b;
long c;
double d;
long e;
long f;
long g;
double h;
long i;
long j;
long k;
double l;
} large_ugly;
int exotic_arguments_struct_small(small a, int nonce) {
return a.a + a.b + nonce;
}
long exotic_arguments_struct_large(large a, int nonce) {
return a.a + a.b + a.c + a.d + a.e + a.f + a.g + a.h + nonce;
}
float exotic_arguments_struct_small_ugly(small_ugly a, int nonce) {
return 0.0f + a.a + a.b + nonce;
}
double exotic_arguments_struct_large_ugly(large_ugly a, int nonce) {
return 0.0 + a.a + a.b + a.c + a.d + a.e + a.f + a.g + a.h + nonce;
}
float exotic_arguments_float(float a, int nonce) {
return a + (float) nonce;
}
double exotic_arguments_double(double a, int nonce) {
return a + (double) nonce;
}