summaryrefslogtreecommitdiff
path: root/test/math/etanh.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/math/etanh.c')
-rw-r--r--test/math/etanh.c104
1 files changed, 52 insertions, 52 deletions
diff --git a/test/math/etanh.c b/test/math/etanh.c
index c74b4700a..8014c6d93 100644
--- a/test/math/etanh.c
+++ b/test/math/etanh.c
@@ -1,52 +1,52 @@
-/* xtanh.c */
-/* hyperbolic tangent check routine */
-/* this subroutine is used by the exponential function routine */
-/* by Stephen L. Moshier. */
-
-
-
-#include "ehead.h"
-
-
-void etanh( x, y )
-unsigned short *x, *y;
-{
-unsigned short e[NE], r[NE], j[NE], xx[NE], m2[NE];
-short i, n;
-long lj;
-
-emov( x, r );
-r[NE-1] &= (unsigned short )0x7fff;
-if( ecmp(r, eone) >= 0 )
- {
-/* tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))
- * Note eexp() calls xtanh, but with an argument less than (1 + log 2)/2.
- */
- eexp( r, e );
- ediv( e, eone, r );
- esub( r, e, xx );
- eadd( r, e, j );
- ediv( j, xx, y );
- return;
- }
-
-emov( etwo, m2 );
-eneg( m2 );
-
-n = NBITS/8; /* Number of terms to do in the continued fraction */
-lj = 2 * n + 1;
-ltoe( &lj, j );
-
-emov( j, e );
-emul( x, x, xx );
-
-/* continued fraction */
-for( i=0; i<n; i++)
- {
- ediv( e, xx, r );
- eadd( m2, j, j );
- eadd( r, j, e );
- }
-
-ediv( e, x, y );
-}
+/* xtanh.c */
+/* hyperbolic tangent check routine */
+/* this subroutine is used by the exponential function routine */
+/* by Stephen L. Moshier. */
+
+
+
+#include "ehead.h"
+
+
+void etanh( x, y )
+unsigned short *x, *y;
+{
+unsigned short e[NE], r[NE], j[NE], xx[NE], m2[NE];
+short i, n;
+long lj;
+
+emov( x, r );
+r[NE-1] &= (unsigned short )0x7fff;
+if( ecmp(r, eone) >= 0 )
+ {
+/* tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))
+ * Note eexp() calls xtanh, but with an argument less than (1 + log 2)/2.
+ */
+ eexp( r, e );
+ ediv( e, eone, r );
+ esub( r, e, xx );
+ eadd( r, e, j );
+ ediv( j, xx, y );
+ return;
+ }
+
+emov( etwo, m2 );
+eneg( m2 );
+
+n = NBITS/8; /* Number of terms to do in the continued fraction */
+lj = 2 * n + 1;
+ltoe( &lj, j );
+
+emov( j, e );
+emul( x, x, xx );
+
+/* continued fraction */
+for( i=0; i<n; i++)
+ {
+ ediv( e, xx, r );
+ eadd( m2, j, j );
+ eadd( r, j, e );
+ }
+
+ediv( e, x, y );
+}