@@ -25,14 +25,14 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 72/72 </ span >
28+ < span class ='fraction '> 86/86 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 6/6 </ span >
35+ < span class ='fraction '> 13/13 </ span >
3636 </ div >
3737
3838
@@ -46,7 +46,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 72/72 </ span >
49+ < span class ='fraction '> 86/86 </ span >
5050 </ div >
5151
5252
@@ -135,7 +135,24 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
135135< a name ='L70 '> </ a > < a href ='#L70 '> 70</ a >
136136< a name ='L71 '> </ a > < a href ='#L71 '> 71</ a >
137137< a name ='L72 '> </ a > < a href ='#L72 '> 72</ a >
138- < a name ='L73 '> </ a > < a href ='#L73 '> 73</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
138+ < a name ='L73 '> </ a > < a href ='#L73 '> 73</ a >
139+ < a name ='L74 '> </ a > < a href ='#L74 '> 74</ a >
140+ < a name ='L75 '> </ a > < a href ='#L75 '> 75</ a >
141+ < a name ='L76 '> </ a > < a href ='#L76 '> 76</ a >
142+ < a name ='L77 '> </ a > < a href ='#L77 '> 77</ a >
143+ < a name ='L78 '> </ a > < a href ='#L78 '> 78</ a >
144+ < a name ='L79 '> </ a > < a href ='#L79 '> 79</ a >
145+ < a name ='L80 '> </ a > < a href ='#L80 '> 80</ a >
146+ < a name ='L81 '> </ a > < a href ='#L81 '> 81</ a >
147+ < a name ='L82 '> </ a > < a href ='#L82 '> 82</ a >
148+ < a name ='L83 '> </ a > < a href ='#L83 '> 83</ a >
149+ < a name ='L84 '> </ a > < a href ='#L84 '> 84</ a >
150+ < a name ='L85 '> </ a > < a href ='#L85 '> 85</ a >
151+ < a name ='L86 '> </ a > < a href ='#L86 '> 86</ a >
152+ < a name ='L87 '> </ a > < a href ='#L87 '> 87</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
153+ < span class ="cline-any cline-yes "> 1x</ span >
154+ < span class ="cline-any cline-yes "> 1x</ span >
155+ < span class ="cline-any cline-yes "> 1x</ span >
139156< span class ="cline-any cline-yes "> 1x</ span >
140157< span class ="cline-any cline-yes "> 1x</ span >
141158< span class ="cline-any cline-yes "> 1x</ span >
@@ -191,17 +208,28 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
191208< span class ="cline-any cline-yes "> 2004x</ span >
192209< span class ="cline-any cline-yes "> 2004x</ span >
193210< span class ="cline-any cline-yes "> 2004x</ span >
194- < span class ="cline-any cline-yes "> 2x</ span >
195- < span class ="cline-any cline-yes "> 2x</ span >
211+ < span class ="cline-any cline-yes "> 2004x</ span >
196212< span class ="cline-any cline-yes "> 2002x</ span >
197213< span class ="cline-any cline-yes "> 2004x</ span >
198- < span class ="cline-any cline-yes "> 1x</ span >
199- < span class ="cline-any cline-yes "> 1x</ span >
200- < span class ="cline-any cline-yes "> 2001x</ span >
214+ < span class ="cline-any cline-yes "> 3x</ span >
215+ < span class ="cline-any cline-yes "> 3x</ span >
201216< span class ="cline-any cline-yes "> 2001x</ span >
202217< span class ="cline-any cline-yes "> 2001x</ span >
203218< span class ="cline-any cline-yes "> 2001x</ span >
204219< span class ="cline-any cline-yes "> 2004x</ span >
220+ < span class ="cline-any cline-yes "> 252x</ span >
221+ < span class ="cline-any cline-yes "> 252x</ span >
222+ < span class ="cline-any cline-yes "> 2004x</ span >
223+ < span class ="cline-any cline-yes "> 501x</ span >
224+ < span class ="cline-any cline-yes "> 501x</ span >
225+ < span class ="cline-any cline-yes "> 2004x</ span >
226+ < span class ="cline-any cline-yes "> 500x</ span >
227+ < span class ="cline-any cline-yes "> 500x</ span >
228+ < span class ="cline-any cline-yes "> 2004x</ span >
229+ < span class ="cline-any cline-yes "> 500x</ span >
230+ < span class ="cline-any cline-yes "> 500x</ span >
231+ < span class ="cline-any cline-yes "> 248x</ span >
232+ < span class ="cline-any cline-yes "> 2004x</ span >
205233< span class ="cline-any cline-yes "> 1x</ span >
206234< span class ="cline-any cline-yes "> 1x</ span >
207235< span class ="cline-any cline-yes "> 1x</ span >
@@ -229,10 +257,13 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
229257
230258// MODULES //
231259
232- var cos = require( '@stdlib/math/base/special/cos' );
233260var deg2rad = require( '@stdlib/math/base/special/deg2rad' );
234- var isInteger = require( '@stdlib/math/base/assert/is-integer' );
235- var isInfinite = require( '@stdlib/assert/is-infinite' );
261+ var kernelSin = require( '@stdlib/math/base/special/kernel-sin' );
262+ var kernelCos = require( '@stdlib/math/base/special/kernel-cos' );
263+ var fmod = require( '@stdlib/math/base/special/fmod' );
264+ var abs = require( '@stdlib/math/base/special/abs' );
265+ var isnan = require( '@stdlib/math/base/assert/is-nan' );
266+ var isInfinite = require( '@stdlib/math/base/assert/is-infinite' );
236267
237268
238269// MAIN //
@@ -260,19 +291,30 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
260291* // returns NaN
261292*/
262293function cosd( x ) {
263- var xRad ;
294+ var rx ;
264295
265- if ( isInfinite( x ) ) {
296+ if (
297+ isInfinite( x ) ||
298+ isnan( x )
299+ ) {
266300 return NaN;
267301 }
268302
269- if ( isInteger( ( ( x / 90.0 ) - 1.0 ) / 2.0 ) ) {
270- return 0.0;
271- }
272-
273- xRad = deg2rad( x );
303+ rx = abs( fmod( x, 360.0 ) );
274304
275- return cos( xRad );
305+ if ( rx <= 45.0 ) {
306+ return kernelCos( deg2rad( rx ), 0.0 );
307+ }
308+ if ( rx < 135.0 ) {
309+ return kernelSin( deg2rad( 90.0-rx ), 0.0 );
310+ }
311+ if ( rx <= 225.0 ) {
312+ return -kernelCos( deg2rad( 180.0-rx ), 0.0 );
313+ }
314+ if ( rx < 315.0 ) {
315+ return kernelSin( deg2rad( rx-270.0 ), 0.0 );
316+ }
317+ return kernelCos( deg2rad( 360.0-rx ), 0.0 );
276318}
277319
278320
@@ -286,7 +328,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
286328 < div class ='footer quiet pad2 space-top1 center small '>
287329 Code coverage generated by
288330 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
289- at 2025-01-14T02:50:16.437Z
331+ at 2025-03-04T02:45:44.080Z
290332 </ div >
291333 < script src ="../../../../../prettify.js "> </ script >
292334 < script >
0 commit comments