You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					130 lines
				
				2.4 KiB
			
		
		
			
		
	
	
					130 lines
				
				2.4 KiB
			| 
											3 years ago
										 | // Generated by LiveScript 1.4.0
 | ||
|  | var max, min, negate, abs, signum, quot, rem, div, mod, recip, pi, tau, exp, sqrt, ln, pow, sin, tan, cos, asin, acos, atan, atan2, truncate, round, ceiling, floor, isItNaN, even, odd, gcd, lcm; | ||
|  | max = curry$(function(x$, y$){ | ||
|  |   return x$ > y$ ? x$ : y$; | ||
|  | }); | ||
|  | min = curry$(function(x$, y$){ | ||
|  |   return x$ < y$ ? x$ : y$; | ||
|  | }); | ||
|  | negate = function(x){ | ||
|  |   return -x; | ||
|  | }; | ||
|  | abs = Math.abs; | ||
|  | signum = function(x){ | ||
|  |   if (x < 0) { | ||
|  |     return -1; | ||
|  |   } else if (x > 0) { | ||
|  |     return 1; | ||
|  |   } else { | ||
|  |     return 0; | ||
|  |   } | ||
|  | }; | ||
|  | quot = curry$(function(x, y){ | ||
|  |   return ~~(x / y); | ||
|  | }); | ||
|  | rem = curry$(function(x$, y$){ | ||
|  |   return x$ % y$; | ||
|  | }); | ||
|  | div = curry$(function(x, y){ | ||
|  |   return Math.floor(x / y); | ||
|  | }); | ||
|  | mod = curry$(function(x$, y$){ | ||
|  |   var ref$; | ||
|  |   return (((x$) % (ref$ = y$) + ref$) % ref$); | ||
|  | }); | ||
|  | recip = (function(it){ | ||
|  |   return 1 / it; | ||
|  | }); | ||
|  | pi = Math.PI; | ||
|  | tau = pi * 2; | ||
|  | exp = Math.exp; | ||
|  | sqrt = Math.sqrt; | ||
|  | ln = Math.log; | ||
|  | pow = curry$(function(x$, y$){ | ||
|  |   return Math.pow(x$, y$); | ||
|  | }); | ||
|  | sin = Math.sin; | ||
|  | tan = Math.tan; | ||
|  | cos = Math.cos; | ||
|  | asin = Math.asin; | ||
|  | acos = Math.acos; | ||
|  | atan = Math.atan; | ||
|  | atan2 = curry$(function(x, y){ | ||
|  |   return Math.atan2(x, y); | ||
|  | }); | ||
|  | truncate = function(x){ | ||
|  |   return ~~x; | ||
|  | }; | ||
|  | round = Math.round; | ||
|  | ceiling = Math.ceil; | ||
|  | floor = Math.floor; | ||
|  | isItNaN = function(x){ | ||
|  |   return x !== x; | ||
|  | }; | ||
|  | even = function(x){ | ||
|  |   return x % 2 === 0; | ||
|  | }; | ||
|  | odd = function(x){ | ||
|  |   return x % 2 !== 0; | ||
|  | }; | ||
|  | gcd = curry$(function(x, y){ | ||
|  |   var z; | ||
|  |   x = Math.abs(x); | ||
|  |   y = Math.abs(y); | ||
|  |   while (y !== 0) { | ||
|  |     z = x % y; | ||
|  |     x = y; | ||
|  |     y = z; | ||
|  |   } | ||
|  |   return x; | ||
|  | }); | ||
|  | lcm = curry$(function(x, y){ | ||
|  |   return Math.abs(Math.floor(x / gcd(x, y) * y)); | ||
|  | }); | ||
|  | module.exports = { | ||
|  |   max: max, | ||
|  |   min: min, | ||
|  |   negate: negate, | ||
|  |   abs: abs, | ||
|  |   signum: signum, | ||
|  |   quot: quot, | ||
|  |   rem: rem, | ||
|  |   div: div, | ||
|  |   mod: mod, | ||
|  |   recip: recip, | ||
|  |   pi: pi, | ||
|  |   tau: tau, | ||
|  |   exp: exp, | ||
|  |   sqrt: sqrt, | ||
|  |   ln: ln, | ||
|  |   pow: pow, | ||
|  |   sin: sin, | ||
|  |   tan: tan, | ||
|  |   cos: cos, | ||
|  |   acos: acos, | ||
|  |   asin: asin, | ||
|  |   atan: atan, | ||
|  |   atan2: atan2, | ||
|  |   truncate: truncate, | ||
|  |   round: round, | ||
|  |   ceiling: ceiling, | ||
|  |   floor: floor, | ||
|  |   isItNaN: isItNaN, | ||
|  |   even: even, | ||
|  |   odd: odd, | ||
|  |   gcd: gcd, | ||
|  |   lcm: lcm | ||
|  | }; | ||
|  | function curry$(f, bound){ | ||
|  |   var context, | ||
|  |   _curry = function(args) { | ||
|  |     return f.length > 1 ? function(){ | ||
|  |       var params = args ? args.concat() : []; | ||
|  |       context = bound ? context || this : this; | ||
|  |       return params.push.apply(params, arguments) < | ||
|  |           f.length && arguments.length ? | ||
|  |         _curry.call(context, params) : f.apply(context, params); | ||
|  |     } : f; | ||
|  |   }; | ||
|  |   return _curry(); | ||
|  | } |