Return the minimum and maximum of two single-precision floating-point numbers.
var minmaxf = require( '@stdlib/math/base/special/minmaxf' );
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 ]
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
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] );
}
#include "stdlib/math/base/special/minmaxf.h"
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 );
#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 );
}
}