| 24 | import java.util.function.IntPredicate; |
| 25 | |
| 26 | public class MathHelper { |
| 27 | public static final float a = MathHelper.c(2.0f); |
| 28 | private static final float[] b = (float[]) a((Object) new float[65536], var0 -> |
| 29 | { |
| 30 | for (int var1 = 0; var1 < ((float[]) var0).length; ++var1) { |
| 31 | ((float[]) var0)[var1] = (float) Math.sin((double) var1 * 3.141592653589793 * 2.0 / 65536.0); |
| 32 | } |
| 33 | }); |
| 34 | private static final Random c = new Random(); |
| 35 | private static final int[] d = new int[]{0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9}; |
| 36 | private static final double e = Double.longBitsToDouble(4805340802404319232L); |
| 37 | private static final double[] f = new double[257]; |
| 38 | private static final double[] g = new double[257]; |
| 39 | |
| 40 | static { |
| 41 | for (int var02 = 0; var02 < 257; ++var02) { |
| 42 | double var1 = (double) var02 / 256.0; |
| 43 | double var3 = Math.asin(var1); |
| 44 | MathHelper.g[var02] = Math.cos(var3); |
| 45 | MathHelper.f[var02] = var3; |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | public static <T> T a(T var0, Consumer<T> var1) { |
| 50 | var1.accept(var0); |
| 51 | return var0; |
| 52 | } |
| 53 | |
| 54 | public static float sin(float var0) { |
| 55 | return b[(int) (var0 * 10430.378f) & 65535]; |
| 56 | } |
| 57 | |
| 58 | public static float cos(float var0) { |
| 59 | return b[(int) (var0 * 10430.378f + 16384.0f) & 65535]; |
| 60 | } |
| 61 | |
| 62 | public static float c(float var0) { |
| 63 | return (float) Math.sqrt(var0); |
| 64 | } |
| 65 | |
| 66 | public static float sqrt(double var0) { |
| 67 | return (float) Math.sqrt(var0); |
| 68 | } |
| 69 | |
| 70 | public static int d(float var0) { |
| 71 | int var1 = (int) var0; |
| 72 | return var0 < (float) var1 ? var1 - 1 : var1; |
| 73 | } |
| 74 | |
| 75 | public static int floor(double var0) { |
| 76 | int var2 = (int) var0; |
| 77 | return var0 < (double) var2 ? var2 - 1 : var2; |
| 78 | } |
| 79 | |
| 80 | public static long d(double var0) { |
| 81 | long var2 = (long) var0; |
| 82 | return var0 < (double) var2 ? var2 - 1L : var2; |
| 83 | } |