Class AdjacencyCompression


  • public final class AdjacencyCompression
    extends java.lang.Object
    • Method Detail

      • zigZagUncompressFrom

        public static void zigZagUncompressFrom​(long[] into,
                                                byte[] targets,
                                                int compressedValues,
                                                int limit,
                                                AdjacencyCompressor.ValueMapper mapper)
      • applyDeltaEncoding

        public static int applyDeltaEncoding​(LongArrayBuffer data,
                                             org.neo4j.gds.core.Aggregation aggregation)
      • applyDeltaEncoding

        public static int applyDeltaEncoding​(long[] data,
                                             int length,
                                             org.neo4j.gds.core.Aggregation aggregation)
      • applyDeltaEncoding

        public static int applyDeltaEncoding​(LongArrayBuffer data,
                                             long[][] weights,
                                             long[][] sortedWeights,
                                             org.neo4j.gds.core.Aggregation[] aggregations,
                                             boolean noAggregation)
      • applyDeltaEncoding

        public static int applyDeltaEncoding​(long[] data,
                                             int length,
                                             long[][] unsortedWeights,
                                             long[][] sortedWeights,
                                             org.neo4j.gds.core.Aggregation[] aggregations,
                                             boolean noAggregation)
      • ensureBufferSize

        public static byte[] ensureBufferSize​(LongArrayBuffer data,
                                              byte[] out)
      • compress

        public static int compress​(LongArrayBuffer data,
                                   byte[] out)
      • compress

        public static int compress​(long[] data,
                                   byte[] out,
                                   int length)
      • compress

        public static int compress​(long[] data,
                                   int offset,
                                   int length,
                                   byte[] out)
      • compress

        public static long compress​(long[] data,
                                    int offset,
                                    int length,
                                    long ptr)
      • deltaEncodeAndCompress

        public static byte[] deltaEncodeAndCompress​(long[] values,
                                                    int offset,
                                                    int length,
                                                    org.neo4j.gds.core.Aggregation aggregation)
      • decompress

        public static long[] decompress​(byte[] compressed,
                                        int numberOfValues)
      • decompressAndPrefixSum

        public static long decompressAndPrefixSum​(int numberOfValues,
                                                  long previousValue,
                                                  long ptr,
                                                  long[] into,
                                                  int offset)
      • decompress

        public static long decompress​(int numberOfValues,
                                      long ptr,
                                      long[] into,
                                      int offset)
      • deltaEncodeSortedValues

        public static int deltaEncodeSortedValues​(long[] values,
                                                  int offset,
                                                  int length,
                                                  org.neo4j.gds.core.Aggregation aggregation)
      • deltaDecode

        public static long deltaDecode​(long[] deltas,
                                       int length,
                                       long first)
        Decodes delta encoded values based on a given initial value.

        A little faster due to manual unrolling. Inspired be Lemire.

        Parameters:
        deltas - delta encoded values
        length - number of values to decode
        first - the first decoded value
        Returns:
        the last decoded value
      • prefixSumDeltaEncodedValues

        public static void prefixSumDeltaEncodedValues​(long[] values,
                                                       int length)