Skip to content

Commit 97cc4ae

Browse files
feat(add c implementation): add math/base/special/cabs2f
1 parent 0895ff9 commit 97cc4ae

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

lib/node_modules/@stdlib/math/base/special/cabs2f/README.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,10 @@ float y = stdlib_base_cabs2f( z );
149149

150150
The function accepts the following arguments:
151151

152-
- **z**: `[in] float complex` input value.
152+
- **z**: `[in] stdlib_complex64_t` input value.
153153

154154
```c
155-
float stdlib_base_cabs2f( const float complex z );
155+
float stdlib_base_cabs2f( const stdlib_complex64_t z );
156156
```
157157
158158
</section>
@@ -175,19 +175,28 @@ float stdlib_base_cabs2f( const float complex z );
175175
176176
```c
177177
#include "stdlib/math/base/special/cabs2f.h"
178+
#include "stdlib/complex/float32/ctor.h"
179+
#include "stdlib/complex/float32/reim.h"
178180
#include <stdio.h>
179-
#include <complex.h>
180181
181182
int main( void ) {
182-
const float complex x[] = { 3.14f+1.0f*I, -3.14f-1.0f*I, 0.0f+0.0f*I, 0.0f/0.0f+0.0f/0.0f*I };
183-
184-
float complex v;
183+
const stdlib_complex64_t x[] = {
184+
stdlib_complex64( 3.14f, 1.0f ),
185+
stdlib_complex64( -3.14f, -1.0f ),
186+
stdlib_complex64( 0.0f, 0.0f ),
187+
stdlib_complex64( 0.0f/0.0f, 0.0f/0.0f )
188+
};
189+
190+
stdlib_complex64_t v;
191+
float re;
192+
float im;
185193
float y;
186194
int i;
187195
for ( i = 0; i < 4; i++ ) {
188196
v = x[ i ];
189197
y = stdlib_base_cabs2f( v );
190-
printf( "f(%f + %f) = %f\n", crealf( v ), cimagf( v ), y );
198+
stdlib_complex64_reim( v, &re, &im );
199+
printf( "f(%f + %f) = %f\n", re, im, y );
191200
}
192201
}
193202
```

lib/node_modules/@stdlib/math/base/special/cabs2f/test/test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@ tape( 'if either the real or imaginary component is `NaN`, the function returns
7171
var v;
7272

7373
v = cabs2f( new Complex64( NaN, 3.0 ) );
74-
t.strictEqual( isnanf( v ), true, 'returns NaN' );
74+
t.strictEqual( isnanf( v ), true, 'returns expected value' );
7575

7676
v = cabs2f( new Complex64( 5.0, NaN ) );
77-
t.strictEqual( isnanf( v ), true, 'returns NaN' );
77+
t.strictEqual( isnanf( v ), true, 'returns expected value' );
7878

7979
v = cabs2f( new Complex64( NaN, NaN ) );
80-
t.strictEqual( isnanf( v ), true, 'returns NaN' );
80+
t.strictEqual( isnanf( v ), true, 'returns expected value' );
8181

8282
t.end();
8383
});

0 commit comments

Comments
 (0)