Added new util function that sends tan function infinities correctly

Changed mathop to call new math util
Changed sin & cos to round correctly (to get 0)
Added testing for the new math util function
Added testing for the new mathop functions
This commit is contained in:
SillyInventor 2017-01-31 19:05:54 -05:00
parent fff63e3af2
commit 1ac89f5aa4
4 changed files with 39 additions and 6 deletions
src/util

View file

@ -45,4 +45,24 @@ MathUtil.wrapClamp = function (n, min, max) {
return n - (Math.floor((n - min) / range) * range);
};
/**
* Convert a value from tan function in degrees.
* @param {!number} angle in degrees
* @return {!number} Correct tan value
*/
MathUtil.tan = function (angle) {
angle = angle % 360;
switch (angle) {
case -270:
case 90:
return Infinity;
case -90:
case 270:
return -Infinity;
default:
return parseFloat(Math.tan((Math.PI * angle) / 180).toFixed(10));
}
};
module.exports = MathUtil;