IntFunctions
cern.jet.math

Class IntFunctions



  • public class IntFunctionsextends Object
    Integer Function objects to be passed to generic methods.Same as Functions except operating on integers.

    For aliasing see intFunctions.

    • 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.
      • 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.

SCaVis 2.2 © jWork.ORG