1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#include "libtest.h"
EXTERN float
float_add(float a, float b)
{
return a + b;
}
EXTERN float*
float_inc(float *a, float b)
{
static float keeper;
keeper = *a += b;
return &keeper;
}
EXTERN float
float_sum(float list[10])
{
int i;
float total;
for(i=0,total=0; i<10; i++)
{
total += list[i];
}
return total;
}
EXTERN float
float_sum2(float *list, size_t size)
{
int i;
float total;
for(i=0,total=0; i<size; i++)
{
total += list[i];
}
return total;
}
EXTERN void
float_array_inc(float list[10])
{
int i;
for(i=0; i<10; i++)
{
list[i]++;
}
}
EXTERN float *
float_static_array(void)
{
static float foo[] = { -5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5 };
return foo;
}
typedef float (*closure_t)(float);
static closure_t my_closure;
EXTERN void
float_set_closure(closure_t closure)
{
my_closure = closure;
}
EXTERN float
float_call_closure(float value)
{
return my_closure(value);
}
|