9 int 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;