Skip to content

Commit 6b92364

Browse files
author
aayush0325
committed
refactor: update math/base/special/cexp to follow latest project conventions
1 parent ac06419 commit 6b92364

File tree

2 files changed

+47
-15
lines changed

2 files changed

+47
-15
lines changed

lib/node_modules/@stdlib/math/base/special/cexp/manifest.json

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,15 @@
3838
"dependencies": [
3939
"@stdlib/math/base/napi/unary",
4040
"@stdlib/complex/float64/ctor",
41-
"@stdlib/complex/float64/reim"
41+
"@stdlib/complex/float64/reim",
42+
"@stdlib/math/base/special/exp",
43+
"@stdlib/math/base/special/sin",
44+
"@stdlib/math/base/special/cos",
45+
"@stdlib/math/base/assert/is-nan",
46+
"@stdlib/math/base/assert/is-infinite",
47+
"@stdlib/math/base/special/copysign",
48+
"@stdlib/constants/float64/pinf",
49+
"@stdlib/constants/float64/ninf"
4250
]
4351
},
4452
{
@@ -53,7 +61,15 @@
5361
"libpath": [],
5462
"dependencies": [
5563
"@stdlib/complex/float64/ctor",
56-
"@stdlib/complex/float64/reim"
64+
"@stdlib/complex/float64/reim",
65+
"@stdlib/math/base/special/exp",
66+
"@stdlib/math/base/special/sin",
67+
"@stdlib/math/base/special/cos",
68+
"@stdlib/math/base/assert/is-nan",
69+
"@stdlib/math/base/assert/is-infinite",
70+
"@stdlib/math/base/special/copysign",
71+
"@stdlib/constants/float64/pinf",
72+
"@stdlib/constants/float64/ninf"
5773
]
5874
},
5975
{
@@ -68,7 +84,15 @@
6884
"libpath": [],
6985
"dependencies": [
7086
"@stdlib/complex/float64/ctor",
71-
"@stdlib/complex/float64/reim"
87+
"@stdlib/complex/float64/reim",
88+
"@stdlib/math/base/special/exp",
89+
"@stdlib/math/base/special/sin",
90+
"@stdlib/math/base/special/cos",
91+
"@stdlib/math/base/assert/is-nan",
92+
"@stdlib/math/base/assert/is-infinite",
93+
"@stdlib/math/base/special/copysign",
94+
"@stdlib/constants/float64/pinf",
95+
"@stdlib/constants/float64/ninf"
7296
]
7397
}
7498
]

lib/node_modules/@stdlib/math/base/special/cexp/src/main.c

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@
1717
*/
1818

1919
#include "stdlib/math/base/special/cexp.h"
20+
#include "stdlib/math/base/special/exp.h"
21+
#include "stdlib/math/base/special/sin.h"
22+
#include "stdlib/math/base/special/cos.h"
23+
#include "stdlib/math/base/assert/is_nan.h"
24+
#include "stdlib/math/base/assert/is_infinite.h"
25+
#include "stdlib/constants/float64/pinf.h"
26+
#include "stdlib/math/base/special/copysign.h"
27+
#include "stdlib/constants/float64/ninf.h"
2028
#include "stdlib/complex/float64/ctor.h"
2129
#include "stdlib/complex/float64/reim.h"
2230
#include <math.h>
@@ -48,27 +56,27 @@ stdlib_complex128_t stdlib_base_cexp( const stdlib_complex128_t z ) {
4856

4957
stdlib_complex128_reim( z, &re, &im );
5058

51-
if ( isnan( re ) ){
52-
re = NAN;
59+
if ( stdlib_base_is_nan( re ) ){
60+
re = 0.0/0.0; //NaN
5361
im = ( im == 0.0 ) ? im : re;
54-
} else if ( isinf( im ) ){
55-
if ( re == INFINITY ) {
62+
} else if ( stdlib_base_is_infinite( im ) ){
63+
if ( re == STDLIB_CONSTANT_FLOAT64_PINF ) {
5664
re = -re;
57-
im = NAN;
58-
} else if ( re == -INFINITY ) {
65+
im = 0.0/0.0; //NaN
66+
} else if ( re == STDLIB_CONSTANT_FLOAT64_NINF ) {
5967
re = -0.0;
60-
im = copysign( 0.0, im );
68+
im = stdlib_base_copysign( 0.0, im );
6169
} else {
62-
re = NAN;
63-
im = NAN;
70+
re = 0.0/0.0; //NaN
71+
im = 0.0/0.0; //NaN
6472
}
6573
} else {
66-
e = exp( re );
74+
e = stdlib_base_exp( re );
6775
if ( im == 0.0 ) {
6876
re = e;
6977
} else {
70-
re = cos( im ) * e;
71-
im = sin( im ) * e;
78+
re = stdlib_base_cos( im ) * e;
79+
im = stdlib_base_sin( im ) * e;
7280
}
7381
}
7482
return stdlib_complex128( re, im );

0 commit comments

Comments
 (0)