Package org.codehaus.groovy.vmplugin.v8
Class IndyMath
java.lang.Object
org.codehaus.groovy.vmplugin.v8.IndyMath
public class IndyMath
extends java.lang.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
Modifier and Type Method Description static intand(int a, int b)static longand(long a, long b)static booleanchooseMathMethod(Selector info, MetaMethod metaMethod)Choose a method to replace the originally chosen metaMethod to have a more efficient call path.static doublediv(double a, double b)static intleftShift(int a, int b)static longleftShift(long a, long b)static doubleminus(double a, double b)static intminus(int a, int b)static longminus(long a, long b)static intmod(int a, int b)static longmod(long a, long b)static doublemultiply(double a, double b)static intmultiply(int a, int b)static longmultiply(long a, long b)static doublenext(double d)static intnext(int i)static longnext(long l)static intor(int a, int b)static longor(long a, long b)static doubleplus(double a, double b)static intplus(int a, int b)static longplus(long a, long b)static doubleprevious(double d)static intprevious(int i)static longprevious(long l)static intrightShift(int a, int b)static longrightShift(long a, long b)static intxor(int a, int b)static longxor(long a, long b)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
IndyMath
public IndyMath()
-
-
Method Details
-
chooseMathMethod
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)
-