Package 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 Details

    • 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 invalid input: '<' 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 invalid input: '<' 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 invalid input: '&' b.
    • compare

      public static final IntIntFunction compare
      Function that returns a invalid input: '<' 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 invalid input: '<' 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 invalid input: '<'invalid input: '<' 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.
  • Constructor Details

    • IntFunctions

      protected IntFunctions()
      Makes this class non instantiable, but still let's others inherit from it.
  • Method Details

    • and

      public static IntFunction and(int b)
      Constructs a function that returns a invalid input: '&' b. a is a variable, b is fixed.
    • between

      public static IntFunction between(int from, int to)
      Constructs a function that returns (frominvalid input: '<'=a invalid input: '&'invalid input: '&' ainvalid input: '<'=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 invalid input: '<' 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 frominvalid input: '<'=a invalid input: '&'invalid input: '&' ainvalid input: '<'=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 invalid input: '<' 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 invalid input: '<'invalid input: '<' 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.