abs::[ { name:"ABS(1) INT", statement:"ABS(1)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1 } }, { name:"ABS(1.0) DECIMAL", statement:"ABS(1.0)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:10d-1 } }, { name:"ABS(`1d0`) Ion DECIMAL", statement:"ABS(`1d0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1d0 } }, { name:"ABS(`1e0`) Ion FLOAT", statement:"ABS(`1e0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1e0 } }, { name:"ABS(1.9999999999999999999900)", statement:"ABS(1.9999999999999999999900)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:19999999999999999999900d-22 } }, { name:"ABS(-1)", statement:"ABS(-1)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1 } }, { name:"ABS(-1.0)", statement:"ABS(-1.0)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:10d-1 } }, { name:"ABS(`-1d0`)", statement:"ABS(`-1d0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1d0 } }, { name:"ABS(`-1e0`)", statement:"ABS(`-1e0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:1e0 } }, { name:"ABS(-1.9999999999999999999900)", statement:"ABS(-1.9999999999999999999900)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:19999999999999999999900d-22 } }, { name:"ABS(`-0.`)", statement:"ABS(`-0.`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:0d0 } }, { name:"ABS(`-0d0`)", statement:"ABS(`-0d0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:0d0 } }, { name:"ABS(`-0d-0`)", statement:"ABS(`-0d-0`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:0d0 } }, { name:"ABS(`-0.0d1`)", statement:"ABS(`-0.0d1`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:0d0 } }, { name:"ABS(`-0.0000`) preserve scale", statement:"ABS(`-0.0000`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:0d-4 } }, { name:"ABS(`-inf`) special value", statement:"ABS(`-inf`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:+inf } }, { name:"ABS(`+inf`) special value", statement:"ABS(`+inf`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:+inf } }, { name:"ABS(`nan`) special value", statement:"ABS(`nan`)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:nan } }, { name:"ABS(MISSING) null propogation", statement:"ABS(MISSING)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null, } }, { name:"ABS(NULL) null propogation", statement:"ABS(NULL)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"ABS('foo')", statement:"ABS('foo')", assert: [ { evalMode: EvalModeError, result:EvaluationFail, }, { result:EvaluationSuccess, evalMode: EvalModeCoerce, output:$missing::null } ] } ]