Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 59 lines 1.2 kB view raw
1package net.minecraft.server; 2 3public class MathHelper { 4 5 private static float[] a = new float[65536]; 6 7 public MathHelper() { 8 } 9 10 public static final float sin(float f) { 11 return a[(int) (f * 10430.378F) & '\uffff']; 12 } 13 14 public static final float cos(float f) { 15 return a[(int) (f * 10430.378F + 16384.0F) & '\uffff']; 16 } 17 18 public static final float c(float f) { 19 return (float) Math.sqrt((double) f); 20 } 21 22 public static final float a(double d0) { 23 return (float) Math.sqrt(d0); 24 } 25 26 public static int d(float f) { 27 int i = (int) f; 28 29 return f < (float) i ? i - 1 : i; 30 } 31 32 public static int floor(double d0) { 33 int i = (int) d0; 34 35 return d0 < (double) i ? i - 1 : i; 36 } 37 38 public static float abs(float f) { 39 return f >= 0.0F ? f : -f; 40 } 41 42 public static double a(double d0, double d1) { 43 if (d0 < 0.0D) { 44 d0 = -d0; 45 } 46 47 if (d1 < 0.0D) { 48 d1 = -d1; 49 } 50 51 return d0 > d1 ? d0 : d1; 52 } 53 54 static { 55 for (int i = 0; i < 65536; ++i) { 56 a[i] = (float) Math.sin((double) i * 3.141592653589793D * 2.0D / 65536.0D); 57 } 58 } 59}