Class BytePackerForLong


  • public abstract class BytePackerForLong
    extends Object
    Packs and unpacks INT64 into bytes packing unpacking treats: - n values at a time (with n % 8 == 0) - bitWidth * (n/8) bytes at a time.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int getBitWidth()  
      abstract void pack32Values​(long[] input, int inPos, byte[] output, int outPos)
      pack 32 values from input at inPos into bitWidth * 4 bytes in output at outPos.
      abstract void pack8Values​(long[] input, int inPos, byte[] output, int outPos)
      pack 8 values from input at inPos into bitWidth bytes in output at outPos.
      abstract void unpack32Values​(byte[] input, int inPos, long[] output, int outPos)
      unpack bitWidth * 4 bytes from input at inPos into 32 values in output at outPos.
      abstract void unpack32Values​(ByteBuffer input, int inPos, long[] output, int outPos)
      unpack bitWidth * 4 bytes from input at inPos into 32 values in output at outPos.
      abstract void unpack8Values​(byte[] input, int inPos, long[] output, int outPos)
      unpack bitWidth bytes from input at inPos into 8 values in output at outPos.
      abstract void unpack8Values​(ByteBuffer input, int inPos, long[] output, int outPos)
      unpack bitWidth bytes from input at inPos into 8 values in output at outPos.
    • Method Detail

      • getBitWidth

        public final int getBitWidth()
        Returns:
        the width in bits used for encoding, also how many bytes are packed/unpacked at a time by pack8Values/unpack8Values
      • pack8Values

        public abstract void pack8Values​(long[] input,
                                         int inPos,
                                         byte[] output,
                                         int outPos)
        pack 8 values from input at inPos into bitWidth bytes in output at outPos. nextPosition: inPos += 8; outPos += getBitWidth()
        Parameters:
        input - the input values
        inPos - where to read from in input
        output - the output bytes
        outPos - where to write to in output
      • pack32Values

        public abstract void pack32Values​(long[] input,
                                          int inPos,
                                          byte[] output,
                                          int outPos)
        pack 32 values from input at inPos into bitWidth * 4 bytes in output at outPos. nextPosition: inPos += 32; outPos += getBitWidth() * 4
        Parameters:
        input - the input values
        inPos - where to read from in input
        output - the output bytes
        outPos - where to write to in output
      • unpack8Values

        public abstract void unpack8Values​(ByteBuffer input,
                                           int inPos,
                                           long[] output,
                                           int outPos)
        unpack bitWidth bytes from input at inPos into 8 values in output at outPos. nextPosition: inPos += getBitWidth(); outPos += 8
        Parameters:
        input - the input bytes
        inPos - where to read from in input
        output - the output values
        outPos - where to write to in output
      • unpack32Values

        public abstract void unpack32Values​(ByteBuffer input,
                                            int inPos,
                                            long[] output,
                                            int outPos)
        unpack bitWidth * 4 bytes from input at inPos into 32 values in output at outPos. nextPosition: inPos += getBitWidth() * 4; outPos += 32
        Parameters:
        input - the input bytes
        inPos - where to read from in input
        output - the output values
        outPos - where to write to in output
      • unpack8Values

        public abstract void unpack8Values​(byte[] input,
                                           int inPos,
                                           long[] output,
                                           int outPos)
        unpack bitWidth bytes from input at inPos into 8 values in output at outPos. nextPosition: inPos += getBitWidth(); outPos += 8
        Parameters:
        input - the input bytes
        inPos - where to read from in input
        output - the output values
        outPos - where to write to in output
      • unpack32Values

        public abstract void unpack32Values​(byte[] input,
                                            int inPos,
                                            long[] output,
                                            int outPos)
        unpack bitWidth * 4 bytes from input at inPos into 32 values in output at outPos. nextPosition: inPos += getBitWidth() * 4; outPos += 32
        Parameters:
        input - the input bytes
        inPos - where to read from in input
        output - the output values
        outPos - where to write to in output