@futagoza/core-js
Version:
Ponyfill's for some native ES2017+ built-in methods
32 lines (23 loc) • 798 B
JavaScript
;
const ExpectingScaleArguments = require( "./lib/ExpectingScaleArguments" );
const ToScale = require( "./lib/ToScale" );
const P = require( "./lib/ImportablePath" )( "math.fscale( value, inLow, inHigh, outLow, outHigh )" );
/**
*
*
* @specification esnext (stage 1)
* @since 1.0.0-alpha.0
* @param {Number} value
* @param {Number} inLow
* @param {Number} inHigh
* @param {Number} outLow
* @param {Number} outHigh
* @returns {Number}
*/
function fscale( value, inLow, inHigh, outLow, outHigh ) {
if ( arguments.length === 0 ) return NaN;
ExpectingScaleArguments( P, value, inLow, inHigh, outLow, outHigh );
const x = ToScale( value, inLow, inHigh, outLow, outHigh );
return Number.isNaN( x ) ? x : Math.fround( x );
}
module.exports = fscale;