Package cern.jet.math
Class IntFunctions
- java.lang.Object
-
- cern.jet.math.IntFunctions
-
public class IntFunctions extends java.lang.ObjectInteger Function objects to be passed to generic methods. Same asFunctionsexcept operating on integers.For aliasing see
intFunctions.- Version:
- 1.0, 09/24/99
-
-
Field Summary
Fields Modifier and Type Field Description static IntFunctionabsFunction that returns Math.abs(a) == (a < 0) ? -a : a.static IntIntFunctionandFunction that returns a & b.static IntIntFunctioncompareFunction that returns a < b ? -1 : a > b ? 1 : 0.static IntFunctiondecFunction that returns a--.static IntIntFunctiondivFunction that returns a / b.static IntIntFunctionequalsFunction that returns a == b ? 1 : 0.static IntFunctionfactorialFunction that returns (int) Arithmetic.factorial(a).static IntFunctionidentityFunction that returns its argument.static IntFunctionincFunction that returns a++.static IntFunctionsintFunctionsLittle trick to allow for "aliasing", that is, renaming this class.static IntIntProcedureisEqualFunction that returns a == b.static IntIntProcedureisGreaterFunction that returns a > b.static IntIntProcedureisLessFunction that returns a < b.static IntIntFunctionmaxFunction that returns Math.max(a,b).static IntIntFunctionminFunction that returns Math.min(a,b).static IntIntFunctionminusFunction that returns a - b.static IntIntFunctionmodFunction that returns a % b.static IntIntFunctionmultFunction that returns a * b.static IntFunctionnegFunction that returns -a.static IntFunctionnotFunction that returns ~a.static IntIntFunctionorFunction that returns a | b.static IntIntFunctionplusFunction that returns a + b.static IntIntFunctionpowFunction that returns (int) Math.pow(a,b).static IntIntFunctionshiftLeftFunction that returns a << b.static IntIntFunctionshiftRightSignedFunction that returns a >> b.static IntIntFunctionshiftRightUnsignedFunction that returns a >>> b.static IntFunctionsignFunction that returns a < 0 ? -1 : a > 0 ? 1 : 0.static IntFunctionsquareFunction that returns a * a.static IntIntFunctionxorFunction that returns a ^ b.
-
Constructor Summary
Constructors Modifier Constructor Description protectedIntFunctions()Makes this class non instantiable, but still let's others inherit from it.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static IntFunctionand(int b)Constructs a function that returns a & b.static IntFunctionbetween(int from, int to)Constructs a function that returns (from<=a && a<=to) ? 1 : 0.static IntFunctionbindArg1(IntIntFunction function, int c)Constructs a unary function from a binary function with the first operand (argument) fixed to the given constant c.static IntFunctionbindArg2(IntIntFunction function, int c)Constructs a unary function from a binary function with the second operand (argument) fixed to the given constant c.static IntFunctionchain(IntFunction g, IntFunction h)Constructs the function g( h(a) ).static IntIntFunctionchain(IntFunction g, IntIntFunction h)Constructs the function g( h(a,b) ).static IntIntFunctionchain(IntIntFunction f, IntFunction g, IntFunction h)Constructs the function f( g(a), h(b) ).static IntFunctioncompare(int b)Constructs a function that returns a < b ? -1 : a > b ? 1 : 0.static IntFunctionconstant(int c)Constructs a function that returns the constant c.static IntFunctiondiv(int b)Constructs a function that returns a / b.static IntFunctionequals(int b)Constructs a function that returns a == b ? 1 : 0.static IntProcedureisBetween(int from, int to)Constructs a function that returns from<=a && a<=to.static IntProcedureisEqual(int b)Constructs a function that returns a == b.static IntProcedureisGreater(int b)Constructs a function that returns a > b.static IntProcedureisLess(int b)Constructs a function that returns a < b.static IntFunctionmax(int b)Constructs a function that returns Math.max(a,b).static IntFunctionmin(int b)Constructs a function that returns Math.min(a,b).static IntFunctionminus(int b)Constructs a function that returns a - b.static IntFunctionmod(int b)Constructs a function that returns a % b.static IntFunctionmult(int b)Constructs a function that returns a * b.static IntFunctionor(int b)Constructs a function that returns a | b.static IntFunctionplus(int b)Constructs a function that returns a + b.static IntFunctionpow(int b)Constructs a function that returns (int) Math.pow(a,b).static IntFunctionrandom()Constructs a function that returns a 32 bit uniformly distributed random number in the closed interval [Integer.MIN_VALUE,Integer.MAX_VALUE] (including Integer.MIN_VALUE and Integer.MAX_VALUE).static IntFunctionshiftLeft(int b)Constructs a function that returns a << b.static IntFunctionshiftRightSigned(int b)Constructs a function that returns a >> b.static IntFunctionshiftRightUnsigned(int b)Constructs a function that returns a >>> b.static IntIntFunctionswapArgs(IntIntFunction function)Constructs a function that returns function.apply(b,a), i.e.static IntFunctionxor(int b)Constructs a function that returns a | b.
-
-
-
Field Detail
-
intFunctions
public static final IntFunctions intFunctions
Little trick to allow for "aliasing", that is, renaming this class. Writing code likeIntFunctions.chain(IntFunctions.plus,IntFunctions.mult(3),IntFunctions.chain(IntFunctions.square,IntFunctions.div(2)));
is a bit awkward, to say the least. Using the aliasing you can instead write
IntFunctions F = IntFunctions.intFunctions;
F.chain(F.plus,F.mult(3),F.chain(F.square,F.div(2)));
-
abs
public static final IntFunction abs
Function that returns Math.abs(a) == (a < 0) ? -a : a.
-
dec
public static final IntFunction dec
Function that returns a--.
-
factorial
public static final IntFunction factorial
Function that returns (int) Arithmetic.factorial(a).
-
identity
public static final IntFunction identity
Function that returns its argument.
-
inc
public static final IntFunction inc
Function that returns a++.
-
neg
public static final IntFunction neg
Function that returns -a.
-
not
public static final IntFunction not
Function that returns ~a.
-
sign
public static final IntFunction sign
Function that returns a < 0 ? -1 : a > 0 ? 1 : 0.
-
square
public static final IntFunction square
Function that returns a * a.
-
and
public static final IntIntFunction and
Function that returns a & b.
-
compare
public static final IntIntFunction compare
Function that returns a < b ? -1 : a > b ? 1 : 0.
-
div
public static final IntIntFunction div
Function that returns a / b.
-
equals
public static final IntIntFunction equals
Function that returns a == b ? 1 : 0.
-
isEqual
public static final IntIntProcedure isEqual
Function that returns a == b.
-
isLess
public static final IntIntProcedure isLess
Function that returns a < b.
-
isGreater
public static final IntIntProcedure isGreater
Function that returns a > b.
-
max
public static final IntIntFunction max
Function that returns Math.max(a,b).
-
min
public static final IntIntFunction min
Function that returns Math.min(a,b).
-
minus
public static final IntIntFunction minus
Function that returns a - b.
-
mod
public static final IntIntFunction mod
Function that returns a % b.
-
mult
public static final IntIntFunction mult
Function that returns a * b.
-
or
public static final IntIntFunction or
Function that returns a | b.
-
plus
public static final IntIntFunction plus
Function that returns a + b.
-
pow
public static final IntIntFunction pow
Function that returns (int) Math.pow(a,b).
-
shiftLeft
public static final IntIntFunction shiftLeft
Function that returns a << b.
-
shiftRightSigned
public static final IntIntFunction shiftRightSigned
Function that returns a >> b.
-
shiftRightUnsigned
public static final IntIntFunction shiftRightUnsigned
Function that returns a >>> b.
-
xor
public static final IntIntFunction xor
Function that returns a ^ b.
-
-
Method Detail
-
and
public static IntFunction and(int b)
Constructs a function that returns a & b. a is a variable, b is fixed.
-
between
public static IntFunction between(int from, int to)
Constructs a function that returns (from<=a && a<=to) ? 1 : 0. a is a variable, from and to are fixed.
-
bindArg1
public static IntFunction bindArg1(IntIntFunction function, int c)
Constructs a unary function from a binary function with the first operand (argument) fixed to the given constant c. The second operand is variable (free).- Parameters:
function- a binary function taking operands in the form function.apply(c,var).- Returns:
- the unary function function(c,var).
-
bindArg2
public static IntFunction bindArg2(IntIntFunction function, int c)
Constructs a unary function from a binary function with the second operand (argument) fixed to the given constant c. The first operand is variable (free).- Parameters:
function- a binary function taking operands in the form function.apply(var,c).- Returns:
- the unary function function(var,c).
-
chain
public static IntFunction chain(IntFunction g, IntFunction h)
Constructs the function g( h(a) ).- Parameters:
g- a unary function.h- a unary function.- Returns:
- the unary function g( h(a) ).
-
chain
public static IntIntFunction chain(IntFunction g, IntIntFunction h)
Constructs the function g( h(a,b) ).- Parameters:
g- a unary function.h- a binary function.- Returns:
- the unary function g( h(a,b) ).
-
chain
public static IntIntFunction chain(IntIntFunction f, IntFunction g, IntFunction h)
Constructs the function f( g(a), h(b) ).- Parameters:
f- a binary function.g- a unary function.h- a unary function.- Returns:
- the binary function f( g(a), h(b) ).
-
compare
public static IntFunction compare(int b)
Constructs a function that returns a < b ? -1 : a > b ? 1 : 0. a is a variable, b is fixed.
-
constant
public static IntFunction constant(int c)
Constructs a function that returns the constant c.
-
div
public static IntFunction div(int b)
Constructs a function that returns a / b. a is a variable, b is fixed.
-
equals
public static IntFunction equals(int b)
Constructs a function that returns a == b ? 1 : 0. a is a variable, b is fixed.
-
isBetween
public static IntProcedure isBetween(int from, int to)
Constructs a function that returns from<=a && a<=to. a is a variable, from and to are fixed.
-
isEqual
public static IntProcedure isEqual(int b)
Constructs a function that returns a == b. a is a variable, b is fixed.
-
isGreater
public static IntProcedure isGreater(int b)
Constructs a function that returns a > b. a is a variable, b is fixed.
-
isLess
public static IntProcedure isLess(int b)
Constructs a function that returns a < b. a is a variable, b is fixed.
-
max
public static IntFunction max(int b)
Constructs a function that returns Math.max(a,b). a is a variable, b is fixed.
-
min
public static IntFunction min(int b)
Constructs a function that returns Math.min(a,b). a is a variable, b is fixed.
-
minus
public static IntFunction minus(int b)
Constructs a function that returns a - b. a is a variable, b is fixed.
-
mod
public static IntFunction mod(int b)
Constructs a function that returns a % b. a is a variable, b is fixed.
-
mult
public static IntFunction mult(int b)
Constructs a function that returns a * b. a is a variable, b is fixed.
-
or
public static IntFunction or(int b)
Constructs a function that returns a | b. a is a variable, b is fixed.
-
plus
public static IntFunction plus(int b)
Constructs a function that returns a + b. a is a variable, b is fixed.
-
pow
public static IntFunction pow(int b)
Constructs a function that returns (int) Math.pow(a,b). a is a variable, b is fixed.
-
random
public static IntFunction random()
Constructs a function that returns a 32 bit uniformly distributed random number in the closed interval [Integer.MIN_VALUE,Integer.MAX_VALUE] (including Integer.MIN_VALUE and Integer.MAX_VALUE). Currently the engine isMersenneTwisterand is seeded with the current time.Note that any random engine derived from
RandomEngineand any random distribution derived fromAbstractDistributionare function objects, because they implement the proper interfaces. Thus, if you are not happy with the default, just pass your favourite random generator to function evaluating methods.
-
shiftLeft
public static IntFunction shiftLeft(int b)
Constructs a function that returns a << b. a is a variable, b is fixed.
-
shiftRightSigned
public static IntFunction shiftRightSigned(int b)
Constructs a function that returns a >> b. a is a variable, b is fixed.
-
shiftRightUnsigned
public static IntFunction shiftRightUnsigned(int b)
Constructs a function that returns a >>> b. a is a variable, b is fixed.
-
swapArgs
public static IntIntFunction swapArgs(IntIntFunction function)
Constructs a function that returns function.apply(b,a), i.e. applies the function with the first operand as second operand and the second operand as first operand.- Parameters:
function- a function taking operands in the form function.apply(a,b).- Returns:
- the binary function function(b,a).
-
xor
public static IntFunction xor(int b)
Constructs a function that returns a | b. a is a variable, b is fixed.
-
-