utils/utils.js

/**
 * Created by Alex Bol on 2/18/2017.
 */

/**
 * Global constant DP_TOL is used for comparison of floating point numbers.
 * It is set to 0.000001.
 * @type {number}
 */
const DP_TOL = 0.000001;
const DECIMALS = 3;

module.exports = {
    DP_TOL: DP_TOL,
    /**
     * Returns *true* if value comparable to zero
     * @return {boolean}
     */
    EQ_0: function(x) {
        return ( (x) < DP_TOL && (x) > -DP_TOL );
    },
    /**
     * Returns *true* if two values are equal up to DP_TOL
     * @return {boolean}
     */
    EQ: function(x,y) {
        return ( (x)-(y) <  DP_TOL && (x)-(y) > -DP_TOL );
    },
    /**
     * Returns *true* if first argument greater than second argument up to DP_TOL
     * @return {boolean}
     */
    GT: (x,y) => {
        return ( (x)-(y) >  DP_TOL );
    },
    /**
     * Returns *true* if first argument greater than or equal to second argument up to DP_TOL
     * @return {boolean}
     */
    GE: (x,y) => {
        return ( (x)-(y) > -DP_TOL );
    },
    /**
     * Returns *true* if first argument less than second argument up to DP_TOL
     * @return {boolean}
     */
    LT: (x,y) => {
        return ( (x)-(y) < -DP_TOL )
    },
    /**
     * Returns *true* if first argument less than or equal to second argument up to DP_TOL
     * @return {boolean}
     */
    LE: (x,y) => {
        return ( (x)-(y) <  DP_TOL );
    }
};