scabs1

Compute the sum of the absolute values of the real and imaginary components of a single-precision complex floating-point number.

Usage

var scabs1 = require( '@stdlib/blas/base/scabs1' );

scabs1( z )

Computes the sum of the absolute values of the real and imaginary components of a single-precision complex floating-point number.

var Complex64 = require( '@stdlib/complex/float32/ctor' );

var y = scabs1( new Complex64( 5.0, -3.0 ) );
// returns 8.0

Examples

var Complex64 = require( '@stdlib/complex/float32/ctor' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var scabs1 = require( '@stdlib/blas/base/scabs1' );

var c;
var i;
for ( i = 0; i < 100; i++ ) {
    c = new Complex64( discreteUniform( -50, 50 ), discreteUniform( -50, 50 ) );
    console.log( 'scabs1(%s) = %d', c.toString(), scabs1( c ) );
}

C APIs

Usage

#include "stdlib/blas/base/scabs1.h"

c_scabs1( c )

Computes the sum of the absolute values of the real and imaginary components of a single-precision complex floating-point number.

#include "stdlib/complex/float32/ctor.h"

const stdlib_complex64_t c = stdlib_complex64( 5.0f, -3.0f );

float y = c_scabs1( c );
// returns 8.0f

The function accepts the following arguments:

  • c: [in] stdlib_complex64_t complex number.
float c_scabs1( const stdlib_complex64_t c );

Examples

#include "stdlib/blas/base/scabs1.h"
#include "stdlib/complex/float32/ctor.h"
#include "stdlib/complex/float32/real.h"
#include "stdlib/complex/float32/imag.h"
#include <stdio.h>

int main( void ) {
    const stdlib_complex64_t x[] = {
        stdlib_complex64( 3.14f, 1.0f ),
        stdlib_complex64( -3.14f, -1.0f ),
        stdlib_complex64( 0.0f, 0.0f ),
        stdlib_complex64( 0.0f/0.0f, 0.0f/0.0f )
    };

    float y;
    int i;
    for ( i = 0; i < 4; i++ ) {
        y = c_scabs1( x[ i ] );
        printf( "f(%f + %f) = %f\n", stdlib_complex64_real( x[ i ] ), stdlib_complex64_imag( x[ i ] ), y );
    }
}
Did you find this page helpful?