Class PermutationTransform

    • Field Detail

      • numSourceDimensions

        protected final int numSourceDimensions
      • numTargetDimensions

        protected final int numTargetDimensions
    • Constructor Detail

      • PermutationTransform

        public PermutationTransform​(int[] lut,
                                    int numSourceDimensions,
                                    int numTargetDimensions)
        Parameters:
        lut - must be a bijective permutation over its index set, i.e. for a lut of length n, the sorted content the array must be [0,...,n-1] which is the index set of the lut.
        numSourceDimensions -
        numTargetDimensions -
    • Method Detail

      • numSourceDimensions

        public int numSourceDimensions()
        Description copied from interface: Transform
        Returns n, the dimension of the source vector.
        Returns:
        the dimension of the source vector.
      • numTargetDimensions

        public int numTargetDimensions()
        Description copied from interface: Transform
        Returns m, the dimension of the target vector.
        Returns:
        the dimension of the target vector.
      • apply

        public void apply​(long[] source,
                          long[] target)
        Description copied from interface: Transform
        Apply the Transform to a source vector to obtain a target vector.
        Parameters:
        source - source coordinates.
        target - set this to the target coordinates.
      • apply

        public void apply​(int[] source,
                          int[] target)
        Description copied from interface: Transform
        Apply the Transform to a source vector to obtain a target vector.
        Parameters:
        source - source coordinates.
        target - set this to the target coordinates.
      • applyInverse

        public void applyInverse​(long[] source,
                                 long[] target)
        Description copied from interface: InvertibleTransform
        Apply the inverse transform to a target vector to obtain a source vector.
        Parameters:
        source - set this to the source coordinates.
        target - target coordinates.
      • applyInverse

        public void applyInverse​(int[] source,
                                 int[] target)
        Description copied from interface: InvertibleTransform
        Apply the inverse transform to a target vector to obtain a source vector.
        Parameters:
        source - set this to the source coordinates.
        target - target coordinates.
      • checkInterval

        public static boolean checkInterval​(Interval interval,
                                            int[] lut)
        Test whether a given lut can be applied to an interval. This means that the interval is a hypercube at min = 0n with size = lut.length.
        Parameters:
        interval -
        lut -
        Returns: