gcdf

Compute the greatest common divisor (gcd) of two single-precision floating-point numbers.

The greatest common divisor (gcd) of two non-zero integers a and b is the largest positive integer which divides both a and b without a remainder. The gcd is also known as the greatest common factor (gcf), highest common factor (hcf), highest common divisor, and greatest common measure (gcm).

Usage

var gcdf = require( '@stdlib/math/base/special/gcdf' );

gcdf( a, b )

Computes the greatest common divisor (gcd) of two single-precision floating-point numbers.

var v = gcdf( 48, 18 );
// returns 6

If both a and b are 0, the function returns 0.

var v = gcdf( 0, 0 );
// returns 0

Both a and b must have integer values; otherwise, the function returns NaN.

var v = gcdf( 3.14, 18 );
// returns NaN

v = gcdf( 48, 3.14 );
// returns NaN

v = gcdf( NaN, 18 );
// returns NaN

v = gcdf( 48, NaN );
// returns NaN

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var gcdf = require( '@stdlib/math/base/special/gcdf' );

var a = discreteUniform( 100, 0, 50 );
var b = discreteUniform( a.length, 0, 50 );

var i;
for ( i = 0; i < a.length; i++ ) {
    console.log( 'gcdf(%d,%d) = %d', a[ i ], b[ i ], gcdf( a[ i ], b[ i ] ) );
}

C APIs

Usage

#include "stdlib/math/base/special/gcdf.h"

stdlib_base_gcdf( a, b )

Computes the greatest common divisor (gcd) of two single-precision floating-point numbers.

float v = stdlib_base_gcdf( 48.0f, 18.0f );
// returns 6.0f

The function accepts the following arguments:

  • a: [in] float input value.
  • b: [in] float input value.
float stdlib_base_gcdf( const float a, const float b );

Examples

#include "stdlib/math/base/special/gcdf.h"
#include <stdio.h>

int main( void ) {
    const float a[] = { 24.0f, 32.0f, 48.0f, 116.0f, 33.0f };
    const float b[] = { 12.0f, 6.0f, 15.0f, 52.0f, 22.0f };

    float out;
    int i;
    for ( i = 0; i < 5; i++ ) {
        out = stdlib_base_gcdf( a[ i ], b[ i ] );
        printf( "gcdf(%f, %f) = %f\n", a[ i ], b[ i ], out );
    }
}

References

  • Stein, Josef. 1967. "Computational problems associated with Racah algebra." Journal of Computational Physics 1 (3): 397–405. doi:10.1016/0021-9991(67)90047-2.
Did you find this page helpful?