Skip to content

Files

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

May 19, 2025
18f0198 · May 19, 2025

History

History
242 lines (149 loc) · 5.12 KB

File metadata and controls

242 lines (149 loc) · 5.12 KB

minmaxf

Return the minimum and maximum of two single-precision floating-point numbers.

Usage

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

minmaxf( x, y )

Returns the minimum and maximum of two single-precision floating-point numbers in a single pass.

var v = minmaxf( 4.2, 3.14 );
// returns [ 3.14, 4.2 ]

v = minmaxf( +0.0, -0.0 );
// returns [ -0.0, +0.0 ]

If any argument is NaN, the function returns NaN for both the minimum value and the maximum value.

var v = minmaxf( 4.2, NaN );
// returns [ NaN, NaN ]

v = minmaxf( NaN, 3.14 );
// returns [ NaN, NaN ]

minmaxf.assign( x, y, out, stride, offset )

Returns the minimum and maximum of two single-precision floating-point numbers in a single pass and assigns results to a provided output array.

var Float32Array = require( '@stdlib/array/float32' );

var out = new Float32Array( 2 );

var v = minmaxf.assign( 5.0, -2.0, out, 1, 0 );
// returns <Float32Array>[ -2.0, 5.0 ]

var bool = ( v === out );
// returns true

Examples

var minstd = require( '@stdlib/random/base/minstd-shuffle' );
var minmaxf = require( '@stdlib/math/base/special/minmaxf' );

var x;
var y;
var v;
var i;

for ( i = 0; i < 100; i++ ) {
    x = minstd();
    y = minstd();
    v = minmaxf( x, y );
    console.log( 'minmaxf(%d,%d) = [%d, %d]', x, y, v[0], v[1] );
}

C APIs

Usage

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

stdlib_base_minmaxf( x, y, &min, &max )

Evaluates the minimum and maximum of two single-precision floating-point numbers in a single pass.

float x = 3.14f;
float y = 2.71f;

float min;
float max;
stdlib_base_minmaxf( x, y, &min, &max );

The function accepts the following arguments:

  • x: [in] float first number.
  • y: [in] float second number.
  • min: [out] float destination for the minimum value.
  • max: [out] float destination for the maximum value.
void stdlib_base_minmaxf( const float x, const float y, float* min, float* max );

Examples

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

int main( void ) {
    const float x[] = { 1.0f, 0.45f, -0.89f, 0.0f / 0.0f, -0.78f, -0.22f, 0.66f, 0.11f, -0.55f, 0.0f };
    const float y[] = { -0.22f, 0.66f, 0.0f, -0.55f, 0.33f, 1.0f, 0.0f / 0.0f, 0.11f, 0.45f, -0.78f };

    float min;
    float max;
    int i;
    for ( i = 0; i < 10; i++ ) {
        stdlib_base_minmaxf( x[ i ], y[ i ], &min, &max );
        printf( "x: %f, y: %f => min: %f, max: %f\n", x[ i ], y[ i ], min, max );
    }
}