9int main(
int,
char **) {
16 for (
double x = 0; x < 100; x++) {
19 assert (fabs((
f*
g) (x) - (sin(x)*cos(x))) <= FLT_EPSILON);
20 assert (fabs((
f+
g) (x) - (sin(x)+cos(x))) <= FLT_EPSILON);
21 assert (fabs((
f-
g) (x) - (sin(x)-cos(x))) <= FLT_EPSILON);
22 assert (fabs((
f/
g) (x) - (sin(x)/cos(x))) <= FLT_EPSILON);
26 assert (fabs((p*
f)(x)- 4.0*sin(x)) <= FLT_EPSILON);
27 assert (fabs((
f*p)(x)- 4.0*sin(x)) <= FLT_EPSILON);
31 assert (fabs((
f*4.0)(x)- 4.0*sin(x)) <= FLT_EPSILON);
32 assert (fabs((4.0*
f)(x)- 4.0*sin(x)) <= FLT_EPSILON);
35 assert (fabs(((
f(
g))(x)) - sin(cos(x))) <= FLT_EPSILON);
41 assert (fabs((p*p).getValue()- 4.0*4.0) <= FLT_EPSILON);
44 assert (fabs((4*p).getValue()- 4.0*4.0) <= FLT_EPSILON);
45 assert (fabs((p*4).getValue()- 4.0*4.0) <= FLT_EPSILON);
48 std::cout <<
"GenericFunctions autotest has passed" << std::endl;