aboutsummaryrefslogtreecommitdiff
path: root/ic-reals-6.3/tests/abs_R.c
diff options
context:
space:
mode:
authorDuncan Wilkie <antigravityd@gmail.com>2023-11-18 06:11:09 -0600
committerDuncan Wilkie <antigravityd@gmail.com>2023-11-18 06:11:09 -0600
commit11da511c784eca003deb90c23570f0873954e0de (patch)
treee14fdd3d5d6345956d67e79ae771d0633d28362b /ic-reals-6.3/tests/abs_R.c
Initial commit.
Diffstat (limited to 'ic-reals-6.3/tests/abs_R.c')
-rw-r--r--ic-reals-6.3/tests/abs_R.c48
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));
+}