Package org.codehaus.groovy.vmplugin.v7
Class IndyMath
- java.lang.Object
-
- org.codehaus.groovy.vmplugin.v7.IndyMath
-
public class IndyMath extends Object
This class contains math operations used by indy instead of the normal meta method and call site caching system. The goal is to avoid boxing, thus use primitive types for parameters and return types where possible. WARNING: This class is for internal use only. Do not use it outside of the org.codehaus.groovy.vmplugin.v7 package of groovy-core.
-
-
Constructor Summary
Constructors Constructor Description IndyMath()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
and(int a, int b)
static long
and(long a, long b)
static boolean
chooseMathMethod(Selector info, MetaMethod metaMethod)
Choose a method to replace the originally chosen metaMethod to have a more efficient call path.static double
div(double a, double b)
static int
leftShift(int a, int b)
static long
leftShift(long a, long b)
static double
minus(double a, double b)
static int
minus(int a, int b)
static long
minus(long a, long b)
static int
mod(int a, int b)
static long
mod(long a, long b)
static double
multiply(double a, double b)
static int
multiply(int a, int b)
static long
multiply(long a, long b)
static double
next(double d)
static int
next(int i)
static long
next(long l)
static int
or(int a, int b)
static long
or(long a, long b)
static double
plus(double a, double b)
static int
plus(int a, int b)
static long
plus(long a, long b)
static double
previous(double d)
static int
previous(int i)
static long
previous(long l)
static int
rightShift(int a, int b)
static long
rightShift(long a, long b)
static int
xor(int a, int b)
static long
xor(long a, long b)
-
-
-
Method Detail
-
chooseMathMethod
public static boolean chooseMathMethod(Selector info, MetaMethod metaMethod)
Choose a method to replace the originally chosen metaMethod to have a more efficient call path.
-
plus
public static int plus(int a, int b)
-
minus
public static int minus(int a, int b)
-
multiply
public static int multiply(int a, int b)
-
mod
public static int mod(int a, int b)
-
or
public static int or(int a, int b)
-
xor
public static int xor(int a, int b)
-
and
public static int and(int a, int b)
-
leftShift
public static int leftShift(int a, int b)
-
rightShift
public static int rightShift(int a, int b)
-
plus
public static long plus(long a, long b)
-
minus
public static long minus(long a, long b)
-
multiply
public static long multiply(long a, long b)
-
mod
public static long mod(long a, long b)
-
or
public static long or(long a, long b)
-
xor
public static long xor(long a, long b)
-
and
public static long and(long a, long b)
-
leftShift
public static long leftShift(long a, long b)
-
rightShift
public static long rightShift(long a, long b)
-
plus
public static double plus(double a, double b)
-
minus
public static double minus(double a, double b)
-
multiply
public static double multiply(double a, double b)
-
div
public static double div(double a, double b)
-
next
public static int next(int i)
-
next
public static long next(long l)
-
next
public static double next(double d)
-
previous
public static int previous(int i)
-
previous
public static long previous(long l)
-
previous
public static double previous(double d)
-
-