UNPKG

react-native-redash

Version:

Utility library for React Native Reanimated

2 lines 3.07 kB
import Animated from"react-native-reanimated";var Value=Animated.Value,block=Animated.block,set=Animated.set,sqrt=Animated.sqrt,cond=Animated.cond,add=Animated.add,multiply=Animated.multiply,lessThan=Animated.lessThan,abs=Animated.abs,divide=Animated.divide,sub=Animated.sub,min2=Animated.min,max2=Animated.max,greaterThan=Animated.greaterThan,pow=Animated.pow;export var min=function min(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return args.reduce(function(acc,arg){return min2(acc,arg);});};export var max=function max(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return args.reduce(function(acc,arg){return max2(acc,arg);});};export var clamp=function clamp(value,lowerBound,upperBound){return min2(max2(lowerBound,value),upperBound);};export var approximates=function approximates(a,b){var precision=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0.001;return lessThan(abs(sub(a,b)),precision);};export var toRad=function toRad(deg){return multiply(deg,Math.PI/180);};export var toDeg=function toDeg(rad){return multiply(rad,180/Math.PI);};export var atan2=function atan2(y,x){var t0=new Value();var t1=new Value();var t3=new Value();var t4=new Value();return block([set(t3,abs(x)),set(t1,abs(y)),set(t0,max(t3,t1)),set(t1,min(t3,t1)),set(t3,divide(1,t0)),set(t3,multiply(t1,t3)),set(t4,multiply(t3,t3)),set(t0,-0.01348047),set(t0,add(multiply(t0,t4),0.057477314)),set(t0,sub(multiply(t0,t4),0.121239071)),set(t0,add(multiply(t0,t4),0.195635925)),set(t0,sub(multiply(t0,t4),0.332994597)),set(t0,add(multiply(t0,t4),0.99999563)),set(t3,multiply(t0,t3)),set(t3,cond(greaterThan(abs(y),abs(x)),sub(1.570796327,t3),t3)),set(t3,cond(lessThan(x,0),sub(Math.PI,t3),t3)),set(t3,cond(lessThan(y,0),multiply(t3,-1),t3)),t3]);};export var atan=function atan(x){return atan2(x,1);};export var acos=function acos(x1){var negate=new Value();var x=new Value();var ret=new Value();return block([set(negate,lessThan(x,0)),set(x,abs(x1)),set(ret,-0.0187293),set(ret,multiply(ret,x)),set(ret,add(ret,0.074261)),set(ret,multiply(ret,x)),set(ret,sub(ret,0.2121144)),set(ret,multiply(ret,x)),set(ret,add(ret,1.5707288)),set(ret,sqrt(sub(1,x))),set(ret,sub(ret,multiply(2,negate,ret))),add(multiply(negate,Math.PI),ret)]);};export var asin=function asin(x1){var negate=new Value();var x=new Value();var ret=new Value();return block([set(negate,lessThan(x,0)),set(x,abs(x1)),set(ret,-0.0187293),set(ret,multiply(ret,x)),set(ret,add(ret,0.074261)),set(ret,multiply(ret,x)),set(ret,sub(ret,0.2121144)),set(ret,multiply(ret,x)),set(ret,add(ret,1.5707288)),set(ret,sub(Math.PI/2,multiply(sqrt(sub(1,x)),ret))),sub(ret,multiply(2,negate,ret))]);};export var cubicBezier=function cubicBezier(t,p0,p1,p2,p3){var term=sub(1,t);var a=multiply(1,pow(term,3),pow(t,0),p0);var b=multiply(3,pow(term,2),pow(t,1),p1);var c=multiply(3,pow(term,1),pow(t,2),p2);var d=multiply(1,pow(term,0),pow(t,3),p3);return add(a,b,c,d);}; //# sourceMappingURL=Math.js.map