Colt 1.2.0

## cern.jet.math
Class IntFunctions

    java.lang.Object
      cern.jet.math.IntFunctions

    public class IntFunctions

extends Object

Integer Function objects to be passed to generic methods. Same as `Functions` except operating on integers.

For aliasing see `intFunctions`.

Version:
  1.0, 09/24/99

Field Summary
`static IntFunction` `abs` Function that returns `Math.abs(a) == (a < 0) ? -a : a`.
`static IntIntFunction` `and` Function that returns `a & b`.
`static IntIntFunction` `compare` Function that returns `a < b ? -1 : a > b ? 1 : 0`.
`static IntFunction` `dec` Function that returns `a--`.
`static IntIntFunction` `div` Function that returns `a / b`.
`static IntIntFunction` `equals` Function that returns `a == b ? 1 : 0`.
`static IntFunction` `factorial` Function that returns `(int) Arithmetic.factorial(a)`.
`static IntFunction` `identity` Function that returns its argument.
`static IntFunction` `inc` Function that returns `a++`.
`static IntFunctions` `intFunctions` Little trick to allow for "aliasing", that is, renaming this class.
`static IntIntProcedure` `isEqual` Function that returns `a == b`.
`static IntIntProcedure` `isGreater` Function that returns `a > b`.
`static IntIntProcedure` `isLess` Function that returns `a < b`.
`static IntIntFunction` `max` Function that returns `Math.max(a,b)`.
`static IntIntFunction` `min` Function that returns `Math.min(a,b)`.
`static IntIntFunction` `minus` Function that returns `a - b`.
`static IntIntFunction` `mod` Function that returns `a % b`.
`static IntIntFunction` `mult` Function that returns `a * b`.
`static IntFunction` `neg` Function that returns `-a`.
`static IntFunction` `not` Function that returns `~a`.
`static IntIntFunction` `or` Function that returns `a | b`.
`static IntIntFunction` `plus` Function that returns `a + b`.
`static IntIntFunction` `pow` Function that returns `(int) Math.pow(a,b)`.
`static IntIntFunction` `shiftLeft` Function that returns `a << b`.
`static IntIntFunction` `shiftRightSigned` Function that returns `a >> b`.
`static IntIntFunction` `shiftRightUnsigned` Function that returns `a >>> b`.
`static IntFunction` `sign` Function that returns `a < 0 ? -1 : a > 0 ? 1 : 0`.
`static IntFunction` `square` Function that returns `a * a`.
`static IntIntFunction` `xor` Function that returns `a ^ b`.

Method Summary
`static IntFunction` `and(int b)` Constructs a function that returns `a & b`.
`static IntFunction` `between(int from, int to)` Constructs a function that returns `(from<=a && a<=to) ? 1 : 0`.
`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`.
`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`.
`static IntFunction` `chain(IntFunction g, IntFunction h)` Constructs the function `g( h(a) )`.
`static IntIntFunction` `chain(IntFunction g, IntIntFunction h)` Constructs the function `g( h(a,b) )`.
`static IntIntFunction` `chain(IntIntFunction f, IntFunction g, IntFunction h)` Constructs the function `f( g(a), h(b) )`.
`static IntFunction` `compare(int b)` Constructs a function that returns `a < b ? -1 : a > b ? 1 : 0`.
`static IntFunction` `constant(int c)` Constructs a function that returns the constant `c`.
`static IntFunction` `div(int b)` Constructs a function that returns `a / b`.
`static IntFunction` `equals(int b)` Constructs a function that returns `a == b ? 1 : 0`.
`static IntProcedure` `isBetween(int from, int to)` Constructs a function that returns `from<=a && a<=to`.
`static IntProcedure` `isEqual(int b)` Constructs a function that returns `a == b`.
`static IntProcedure` `isGreater(int b)` Constructs a function that returns `a > b`.
`static IntProcedure` `isLess(int b)` Constructs a function that returns `a < b`.
`static IntFunction` `max(int b)` Constructs a function that returns `Math.max(a,b)`.
`static IntFunction` `min(int b)` Constructs a function that returns `Math.min(a,b)`.
`static IntFunction` `minus(int b)` Constructs a function that returns `a - b`.
`static IntFunction` `mod(int b)` Constructs a function that returns `a % b`.
`static IntFunction` `mult(int b)` Constructs a function that returns `a * b`.
`static IntFunction` `or(int b)` Constructs a function that returns `a | b`.
`static IntFunction` `plus(int b)` Constructs a function that returns `a + b`.
`static IntFunction` `pow(int b)` Constructs a function that returns `(int) Math.pow(a,b)`.
`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`).
`static IntFunction` `shiftLeft(int b)` Constructs a function that returns `a << b`.
`static IntFunction` `shiftRightSigned(int b)` Constructs a function that returns `a >> b`.
`static IntFunction` `shiftRightUnsigned(int b)` Constructs a function that returns `a >>> b`.
`static IntIntFunction` `swapArgs(IntIntFunction function)` Constructs a function that returns `function.apply(b,a)`, i.e.
`static IntFunction` `xor(int b)` Constructs a function that returns `a | b`.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### intFunctions

    public static final IntFunctions intFunctions

  Little trick to allow for "aliasing", that is, renaming this class. Writing code like

  `IntFunctions.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 is `MersenneTwister` and is seeded with the current time.

  Note that any random engine derived from `RandomEngine` and any random distribution derived from `AbstractDistribution` are 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.

Colt 1.2.0

Jump to the Colt Homepage