From 97be0d399f752849cb23ef8e0b3b45964941bc1d Mon Sep 17 00:00:00 2001 From: adash Date: Fri, 31 Oct 2008 23:29:10 +0000 Subject: [PATCH] Added few more Math functionality for 2DFFT benchmark --- Robust/src/ClassLibrary/Math.java | 51 ++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/Robust/src/ClassLibrary/Math.java b/Robust/src/ClassLibrary/Math.java index 15e3ce24..6f3e56bd 100644 --- a/Robust/src/ClassLibrary/Math.java +++ b/Robust/src/ClassLibrary/Math.java @@ -1,5 +1,9 @@ public class Math { - //public static final double PI=3.14159265358979323846; + + public static double setPI() { + double PI = 3.14159265358979323846; + return PI; + } public static double fabs(double x) { if (x < 0) { @@ -15,6 +19,51 @@ public class Math { else return a; } + public static double max(double a, double b) { + if(a == b) + return a; + if(a > b) { + return a; + } else { + return b; + } + } + + public static int imax(int a, int b) { + if(a == b) + return a; + if(a > b) { + return a; + } else { + return b; + } + } + + public static int imin(int a, int b) { + if(a == b) + return a; + if(a > b) { + return b; + } else { + return a; + } + } + + /** sqrt(a^2 + b^2) without under/overflow. **/ + public static double hypot(double a, double b) { + double r; + if (fabs(a) > fabs(b)) { + r = b/a; + r = fabs(a)*sqrt(1+r*r); + } else if (b != 0) { + r = a/b; + r = fabs(b)*sqrt(1+r*r); + } else { + r = 0.0; + } + return r; + } + public static native double sin(double a); public static native double cos(double a); public static native double asin(double a); -- 2.34.1