diff options
Diffstat (limited to 'ic-reals-6.3/tests/abs_R.c')
-rw-r--r-- | ic-reals-6.3/tests/abs_R.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ic-reals-6.3/tests/abs_R.c b/ic-reals-6.3/tests/abs_R.c new file mode 100644 index 0000000..eda26ba --- /dev/null +++ b/ic-reals-6.3/tests/abs_R.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include "real.h" +#include <math.h> + +/* + * Tests the abs_R when applied to a rational a real expressed + * by a sign, a characteristic pair and a vector. + */ +main(int argc, char *argv[]) +{ + Real x, y; + double f; + Real makeRealSignCNQInt(Sign, char *, int, int, int); + + MyName = argv[0]; + + if (argc != 7) { + fprintf(stderr, "%s <sign> <c> <n> <a> <b> <ndigits>\n", MyName); + exit(1); + } + + initReals(); + + y = makeRealSignCNQInt( + atoi(argv[1]), /* sign */ + argv[2], /* c */ + atoi(argv[3]), /* n */ + atoi(argv[4]), /* a */ + atoi(argv[5])); /* b */ + + print_R_Dec(y, atoi(argv[6])); + printf("\n"); + f = realToDouble(y); + printf("x=%f\n",f); + + x = tan_R(y); + + y = abs_R(x); + + printf("tan x="); + print_R_Dec(y, atoi(argv[6])); + printf("\n"); + + printf("abs (tan x)="); + print_R(y); + printf("\n"); + printf("tan(x)=%f\n", tan(f)); +} |