2323var tape = require ( 'tape' ) ;
2424var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2525var isNegativeZero = require ( '@stdlib/math/base/assert/is-negative-zero' ) ;
26- var abs = require ( '@stdlib/math/base/special/abs ' ) ;
26+ var isAlmostSameValue = require ( '@stdlib/assert/is-almost-same-value ' ) ;
2727var ln = require ( '@stdlib/math/base/special/ln' ) ;
2828var incrspace = require ( '@stdlib/array/base/incrspace' ) ;
2929var PINF = require ( '@stdlib/constants/float64/pinf' ) ;
3030var NINF = require ( '@stdlib/constants/float64/ninf' ) ;
31- var EPS = require ( '@stdlib/constants/float64/eps' ) ;
3231var log1p = require ( './../lib' ) ;
3332
3433
@@ -56,9 +55,7 @@ tape( 'main export is a function', function test( t ) {
5655
5756tape ( 'the function agrees with `ln(x+1)` for most `x`' , function test ( t ) {
5857 var expected ;
59- var delta ;
6058 var val ;
61- var tol ;
6259 var x ;
6360 var y ;
6461 var i ;
@@ -68,209 +65,187 @@ tape( 'the function agrees with `ln(x+1)` for most `x`', function test( t ) {
6865 val = x [ i ] ;
6966 y = log1p ( val ) ;
7067 expected = ln ( val + 1.0 ) ;
71- delta = abs ( y - expected ) ;
72- tol = 1.0e-12 * abs ( expected ) ;
73- t . ok ( delta <= tol , 'within tolerance. x: ' + val + '. Value: ' + y + '. Expected: ' + expected + '. Tolerance: ' + tol + '.' ) ;
68+ t . strictEqual ( isAlmostSameValue ( y , expected , 1 ) , true , 'returns expected value' ) ;
7469 }
7570 t . end ( ) ;
7671} ) ;
7772
7873tape ( 'the function accurately computes `ln(x+1)` for negative medium numbers' , function test ( t ) {
7974 var expected ;
80- var delta ;
81- var tol ;
8275 var v ;
8376 var x ;
8477 var i ;
78+ var e ;
8579
8680 x = mediumNegative . x ;
8781 expected = mediumNegative . expected ;
8882
8983 for ( i = 0 ; i < x . length ; i ++ ) {
9084 v = log1p ( x [ i ] ) ;
91- delta = abs ( v - expected [ i ] ) ;
92- tol = EPS * abs ( expected [ i ] ) ;
93- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
85+ e = expected [ i ] ;
86+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
9487 }
9588 t . end ( ) ;
9689} ) ;
9790
9891tape ( 'the function accurately computes `ln(x+1)` for positive medium numbers' , function test ( t ) {
9992 var expected ;
100- var delta ;
101- var tol ;
10293 var v ;
10394 var x ;
10495 var i ;
96+ var e ;
10597
10698 x = mediumPositive . x ;
10799 expected = mediumPositive . expected ;
108100
109101 for ( i = 0 ; i < x . length ; i ++ ) {
110102 v = log1p ( x [ i ] ) ;
111- delta = abs ( v - expected [ i ] ) ;
112- tol = EPS * abs ( expected [ i ] ) ;
113- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
103+ e = expected [ i ] ;
104+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
114105 }
115106 t . end ( ) ;
116107} ) ;
117108
118109tape ( 'the function accurately computes `ln(x+1)` for negative small numbers' , function test ( t ) {
119110 var expected ;
120- var delta ;
121- var tol ;
122111 var v ;
123112 var x ;
124113 var i ;
114+ var e ;
125115
126116 x = smallNegative . x ;
127117 expected = smallNegative . expected ;
128118
129119 for ( i = 0 ; i < x . length ; i ++ ) {
130120 v = log1p ( x [ i ] ) ;
131- delta = abs ( v - expected [ i ] ) ;
132- tol = EPS * abs ( expected [ i ] ) ;
133- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
121+ e = expected [ i ] ;
122+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
134123 }
135124 t . end ( ) ;
136125} ) ;
137126
138127tape ( 'the function accurately computes `ln(x+1)` for positive small numbers' , function test ( t ) {
139128 var expected ;
140- var delta ;
141- var tol ;
142129 var v ;
143130 var x ;
144131 var i ;
132+ var e ;
145133
146134 x = smallPositive . x ;
147135 expected = smallPositive . expected ;
148136
149137 for ( i = 0 ; i < x . length ; i ++ ) {
150138 v = log1p ( x [ i ] ) ;
151- delta = abs ( v - expected [ i ] ) ;
152- tol = EPS * abs ( expected [ i ] ) ;
153- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
139+ e = expected [ i ] ;
140+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
154141 }
155142 t . end ( ) ;
156143} ) ;
157144
158145tape ( 'the function accurately computes `ln(x+1)` for negative tiny numbers' , function test ( t ) {
159146 var expected ;
160- var delta ;
161- var tol ;
162147 var v ;
163148 var x ;
164149 var i ;
150+ var e ;
165151
166152 x = tinyNegative . x ;
167153 expected = tinyNegative . expected ;
168154
169155 for ( i = 0 ; i < x . length ; i ++ ) {
170156 v = log1p ( x [ i ] ) ;
171- delta = abs ( v - expected [ i ] ) ;
172- tol = EPS * abs ( expected [ i ] ) ;
173- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
157+ e = expected [ i ] ;
158+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
174159 }
175160 t . end ( ) ;
176161} ) ;
177162
178163tape ( 'the function accurately computes `ln(x+1)` for positive tiny numbers' , function test ( t ) {
179164 var expected ;
180- var delta ;
181- var tol ;
182165 var v ;
183166 var x ;
184167 var i ;
168+ var e ;
185169
186170 x = tinyPositive . x ;
187171 expected = tinyPositive . expected ;
188172
189173 for ( i = 0 ; i < x . length ; i ++ ) {
190174 v = log1p ( x [ i ] ) ;
191- delta = abs ( v - expected [ i ] ) ;
192- tol = EPS * abs ( expected [ i ] ) ;
193- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
175+ e = expected [ i ] ;
176+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
194177 }
195178 t . end ( ) ;
196179} ) ;
197180
198181tape ( 'the function accurately computes `ln(x+1)` for negative large numbers' , function test ( t ) {
199182 var expected ;
200- var delta ;
201- var tol ;
202183 var v ;
203184 var x ;
204185 var i ;
186+ var e ;
205187
206188 x = largeNegative . x ;
207189 expected = largeNegative . expected ;
208190
209191 for ( i = 0 ; i < x . length ; i ++ ) {
210192 v = log1p ( x [ i ] ) ;
211- delta = abs ( v - expected [ i ] ) ;
212- tol = EPS * abs ( expected [ i ] ) ;
213- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
193+ e = expected [ i ] ;
194+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
214195 }
215196 t . end ( ) ;
216197} ) ;
217198
218199tape ( 'the function accurately computes `ln(x+1)` for positive large numbers' , function test ( t ) {
219200 var expected ;
220- var delta ;
221- var tol ;
222201 var v ;
223202 var x ;
224203 var i ;
204+ var e ;
225205
226206 x = largePositive . x ;
227207 expected = largePositive . expected ;
228208
229209 for ( i = 0 ; i < x . length ; i ++ ) {
230210 v = log1p ( x [ i ] ) ;
231- delta = abs ( v - expected [ i ] ) ;
232- tol = EPS * abs ( expected [ i ] ) ;
233- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
211+ e = expected [ i ] ;
212+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
234213 }
235214 t . end ( ) ;
236215} ) ;
237216
238217tape ( 'the function accurately computes `ln(x+1)` for positive big numbers' , function test ( t ) {
239218 var expected ;
240- var delta ;
241- var tol ;
242219 var v ;
243220 var x ;
244221 var i ;
222+ var e ;
245223
246224 x = bigPositive . x ;
247225 expected = bigPositive . expected ;
248226
249227 for ( i = 0 ; i < x . length ; i ++ ) {
250228 v = log1p ( x [ i ] ) ;
251- delta = abs ( v - expected [ i ] ) ;
252- tol = EPS * abs ( expected [ i ] ) ;
253- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
229+ e = expected [ i ] ;
230+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
254231 }
255232 t . end ( ) ;
256233} ) ;
257234
258235tape ( 'the function accurately computes `ln(x+1)` for positive huge numbers' , function test ( t ) {
259236 var expected ;
260- var delta ;
261- var tol ;
262237 var v ;
263238 var x ;
264239 var i ;
240+ var e ;
265241
266242 x = hugePositive . x ;
267243 expected = hugePositive . expected ;
268244
269245 for ( i = 0 ; i < x . length ; i ++ ) {
270246 v = log1p ( x [ i ] ) ;
271- delta = abs ( v - expected [ i ] ) ;
272- tol = EPS * abs ( expected [ i ] ) ;
273- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. Value: ' + v + '. Expected: ' + expected [ i ] + '. Tolerance: ' + tol + '.' ) ;
247+ e = expected [ i ] ;
248+ t . strictEqual ( isAlmostSameValue ( v , e , 1 ) , true , 'returns expected value' ) ;
274249 }
275250 t . end ( ) ;
276251} ) ;
0 commit comments