@@ -34,6 +34,10 @@ var largerPositive = require( './fixtures/julia/larger_positive.json' );
34
34
var largePositive = require ( './fixtures/julia/large_positive.json' ) ;
35
35
var mediumPositive = require ( './fixtures/julia/medium_positive.json' ) ;
36
36
var hugePositive = require ( './fixtures/julia/huge_positive.json' ) ;
37
+ var largerNegative = require ( './fixtures/julia/larger_negative.json' ) ;
38
+ var largeNegative = require ( './fixtures/julia/large_negative.json' ) ;
39
+ var mediumNegative = require ( './fixtures/julia/medium_negative.json' ) ;
40
+ var hugeNegative = require ( './fixtures/julia/huge_negative.json' ) ;
37
41
38
42
39
43
// TESTS //
@@ -67,6 +71,29 @@ tape( 'the function computes the inverse hyperbolic cotangent for medium positiv
67
71
t . end ( ) ;
68
72
} ) ;
69
73
74
+ tape ( 'the function computes the inverse hyperbolic cotangent for medium negative values' , function test ( t ) {
75
+ var expected ;
76
+ var delta ;
77
+ var tol ;
78
+ var x ;
79
+ var y ;
80
+ var i ;
81
+
82
+ x = mediumNegative . x ;
83
+ expected = mediumNegative . expected ;
84
+ for ( i = 0 ; i < x . length ; i ++ ) {
85
+ y = acoth ( x [ i ] ) ;
86
+ if ( y === expected [ i ] ) {
87
+ t . equal ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] + '.' ) ;
88
+ } else {
89
+ delta = abs ( y - expected [ i ] ) ;
90
+ tol = 1.0 * EPS * abs ( expected [ i ] ) ;
91
+ t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
92
+ }
93
+ }
94
+ t . end ( ) ;
95
+ } ) ;
96
+
70
97
tape ( 'the function computes the inverse hyperbolic cotangent for large positive values' , function test ( t ) {
71
98
var expected ;
72
99
var delta ;
@@ -90,6 +117,29 @@ tape( 'the function computes the inverse hyperbolic cotangent for large positive
90
117
t . end ( ) ;
91
118
} ) ;
92
119
120
+ tape ( 'the function computes the inverse hyperbolic cotangent for large negative values' , function test ( t ) {
121
+ var expected ;
122
+ var delta ;
123
+ var tol ;
124
+ var x ;
125
+ var y ;
126
+ var i ;
127
+
128
+ x = largeNegative . x ;
129
+ expected = largeNegative . expected ;
130
+ for ( i = 0 ; i < x . length ; i ++ ) {
131
+ y = acoth ( x [ i ] ) ;
132
+ if ( y === expected [ i ] ) {
133
+ t . equal ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] + '.' ) ;
134
+ } else {
135
+ delta = abs ( y - expected [ i ] ) ;
136
+ tol = 1.0 * EPS * abs ( expected [ i ] ) ;
137
+ t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
138
+ }
139
+ }
140
+ t . end ( ) ;
141
+ } ) ;
142
+
93
143
tape ( 'the function computes the inverse hyperbolic cotangent for larger positive values' , function test ( t ) {
94
144
var expected ;
95
145
var delta ;
@@ -113,6 +163,29 @@ tape( 'the function computes the inverse hyperbolic cotangent for larger positiv
113
163
t . end ( ) ;
114
164
} ) ;
115
165
166
+ tape ( 'the function computes the inverse hyperbolic cotangent for larger negative values' , function test ( t ) {
167
+ var expected ;
168
+ var delta ;
169
+ var tol ;
170
+ var x ;
171
+ var y ;
172
+ var i ;
173
+
174
+ x = largerNegative . x ;
175
+ expected = largerNegative . expected ;
176
+ for ( i = 0 ; i < x . length ; i ++ ) {
177
+ y = acoth ( x [ i ] ) ;
178
+ if ( y === expected [ i ] ) {
179
+ t . equal ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] + '.' ) ;
180
+ } else {
181
+ delta = abs ( y - expected [ i ] ) ;
182
+ tol = 1.0 * EPS * abs ( expected [ i ] ) ;
183
+ t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
184
+ }
185
+ }
186
+ t . end ( ) ;
187
+ } ) ;
188
+
116
189
tape ( 'the function computes the inverse hyperbolic cotangent for huge positive values' , function test ( t ) {
117
190
var expected ;
118
191
var delta ;
@@ -136,6 +209,29 @@ tape( 'the function computes the inverse hyperbolic cotangent for huge positive
136
209
t . end ( ) ;
137
210
} ) ;
138
211
212
+ tape ( 'the function computes the inverse hyperbolic cotangent for huge negative values' , function test ( t ) {
213
+ var expected ;
214
+ var delta ;
215
+ var tol ;
216
+ var x ;
217
+ var y ;
218
+ var i ;
219
+
220
+ x = hugeNegative . x ;
221
+ expected = hugeNegative . expected ;
222
+ for ( i = 0 ; i < x . length ; i ++ ) {
223
+ y = acoth ( x [ i ] ) ;
224
+ if ( y === expected [ i ] ) {
225
+ t . equal ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] + '.' ) ;
226
+ } else {
227
+ delta = abs ( y - expected [ i ] ) ;
228
+ tol = 1.0 * EPS * abs ( expected [ i ] ) ;
229
+ t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
230
+ }
231
+ }
232
+ t . end ( ) ;
233
+ } ) ;
234
+
139
235
tape ( 'the function returns `NaN` if provided `NaN`' , function test ( t ) {
140
236
var v = acoth ( NaN ) ;
141
237
t . equal ( isnan ( v ) , true , 'returns NaN' ) ;
0 commit comments