
Untitled
By: a guest on
Jul 22nd, 2012 | syntax:
None | size: 0.94 KB | hits: 18 | expires: Never
MathTest.java:
import java.util.concurrent.Callable;
import bb.util.Benchmark;
public class MathTest {
protected static double sin() {
float a = 0.0f;
for (float i = (float)-Math.PI * 2; i < Math.PI * 2; i += 0.001f) {
a += MathHelper.sin(i);
//a += Math.sin(i);
}
return a;
}
public static void main(String[] args) throws Exception {
Callable<Double> task = new Callable<Double>() { public Double call() { return sin(); } };
System.out.println("MathHelper.sin(): " + new Benchmark(task));
}
}
MathHelper.java:
public class MathHelper
{
private static float[] SIN_TABLE = new float[1024];
public static final float sin(float par0)
{
return SIN_TABLE[(int)(par0 * 10430.378F) & 1023];
}
static
{
for (int var0 = 0; var0 < 1024; ++var0)
{
SIN_TABLE[var0] = (float)Math.sin((double)var0 * Math.PI * 2.0D / 1024.0D);
}
}
}