From 05c78126859231a68e199dc34613689bd0978e2f Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Mon, 11 Apr 2016 19:44:54 +0300 Subject: Initial commit --- ihl/utils/IHLMathUtils.java | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ihl/utils/IHLMathUtils.java (limited to 'ihl/utils/IHLMathUtils.java') diff --git a/ihl/utils/IHLMathUtils.java b/ihl/utils/IHLMathUtils.java new file mode 100644 index 0000000..cfd6931 --- /dev/null +++ b/ihl/utils/IHLMathUtils.java @@ -0,0 +1,48 @@ +package ihl.utils; + +public class IHLMathUtils +{ + private final static int accuracy_level=65536; + private static float[] sin_table=new float[accuracy_level]; + private static float[] atan_table=new float[accuracy_level]; + private final static float PI=(float)Math.PI; + + public static float sin(float angle) + { + float angle1 = angle % (2*PI); + if(angle1<0) + { + angle1+=2*PI; + } + return sin_table[(int)(angle1*accuracy_level/2/PI)]; + } + + public static float atan(float tan_value) + { + if(tan_value<-32f) + { + return -1.54f; + } + else if(tan_value>32f) + { + return 1.54f; + } + else + { + return atan_table[(int)((tan_value+32f)*accuracy_level/64f)]; + } + } + + + static + { + for(int i=0;i