You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2014/06/05 14:38:38 UTC

svn commit: r1600637 - in /lucene/dev/branches/branch_4x: ./ lucene/ lucene/core/ lucene/core/src/java/org/apache/lucene/search/ lucene/core/src/java/org/apache/lucene/util/packed/ lucene/core/src/test/org/apache/lucene/util/packed/

Author: jpountz
Date: Thu Jun  5 12:38:37 2014
New Revision: 1600637

URL: http://svn.apache.org/r1600637
Log:
LUCENE-5733: Remove PackedInts.Reader.(has|get)Array and move getBitsPerValue to PackedInts.Mutable.


Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/lucene/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
    lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java Thu Jun  5 12:38:37 2014
@@ -576,7 +576,6 @@ class FieldCacheImpl implements FieldCac
     private final int minValue;
 
     public IntsFromArray(PackedInts.Reader values, int minValue) {
-      assert values.getBitsPerValue() <= 32;
       this.values = values;
       this.minValue = minValue;
     }
@@ -684,6 +683,7 @@ class FieldCacheImpl implements FieldCac
       if (values == null) {
         return new IntsFromArray(new PackedInts.NullReader(reader.maxDoc()), 0);
       }
+      assert values.writer.getBitsPerValue() <= 32;
       return new IntsFromArray(values.writer.getMutable(), (int) values.minValue);
     }
   }

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java Thu Jun  5 12:38:37 2014
@@ -74,16 +74,6 @@ final class Direct16 extends PackedInts.
   }
 
   @Override
-  public Object getArray() {
-    return values;
-  }
-
-  @Override
-  public boolean hasArray() {
-    return true;
-  }
-
-  @Override
   public int get(int index, long[] arr, int off, int len) {
     assert len > 0 : "len must be > 0 (got " + len + ")";
     assert index >= 0 && index < valueCount;

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java Thu Jun  5 12:38:37 2014
@@ -74,16 +74,6 @@ final class Direct32 extends PackedInts.
   }
 
   @Override
-  public Object getArray() {
-    return values;
-  }
-
-  @Override
-  public boolean hasArray() {
-    return true;
-  }
-
-  @Override
   public int get(int index, long[] arr, int off, int len) {
     assert len > 0 : "len must be > 0 (got " + len + ")";
     assert index >= 0 && index < valueCount;

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java Thu Jun  5 12:38:37 2014
@@ -69,16 +69,6 @@ final class Direct64 extends PackedInts.
   }
 
   @Override
-  public Object getArray() {
-    return values;
-  }
-
-  @Override
-  public boolean hasArray() {
-    return true;
-  }
-
-  @Override
   public int get(int index, long[] arr, int off, int len) {
     assert len > 0 : "len must be > 0 (got " + len + ")";
     assert index >= 0 && index < valueCount;

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java Thu Jun  5 12:38:37 2014
@@ -72,16 +72,6 @@ final class Direct8 extends PackedInts.M
   }
 
   @Override
-  public Object getArray() {
-    return values;
-  }
-
-  @Override
-  public boolean hasArray() {
-    return true;
-  }
-
-  @Override
   public int get(int index, long[] arr, int off, int len) {
     assert len > 0 : "len must be > 0 (got " + len + ")";
     assert index >= 0 && index < valueCount;

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java Thu Jun  5 12:38:37 2014
@@ -24,14 +24,16 @@ import org.apache.lucene.store.IndexInpu
 final class DirectPacked64SingleBlockReader extends PackedInts.ReaderImpl {
 
   private final IndexInput in;
+  private final int bitsPerValue;
   private final long startPointer;
   private final int valuesPerBlock;
   private final long mask;
 
   DirectPacked64SingleBlockReader(int bitsPerValue, int valueCount,
       IndexInput in) {
-    super(valueCount, bitsPerValue);
+    super(valueCount);
     this.in = in;
+    this.bitsPerValue = bitsPerValue;
     startPointer = in.getFilePointer();
     valuesPerBlock = 64 / bitsPerValue;
     mask = ~(~0L << bitsPerValue);

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java Thu Jun  5 12:38:37 2014
@@ -25,12 +25,14 @@ import java.io.IOException;
 // just for back compat, use DirectReader/DirectWriter for more efficient impl
 class DirectPackedReader extends PackedInts.ReaderImpl {
   final IndexInput in;
+  final int bitsPerValue;
   final long startPointer;
   final long valueMask;
 
   DirectPackedReader(int bitsPerValue, int valueCount, IndexInput in) {
-    super(valueCount, bitsPerValue);
+    super(valueCount);
     this.in = in;
+    this.bitsPerValue = bitsPerValue;
 
     startPointer = in.getFilePointer();
     if (bitsPerValue == 64) {

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java Thu Jun  5 12:38:37 2014
@@ -70,16 +70,6 @@ public class GrowableWriter extends Pack
     return current;
   }
 
-  @Override
-  public Object getArray() {
-    return current.getArray();
-  }
-
-  @Override
-  public boolean hasArray() {
-    return current.hasArray();
-  }
-
   private void ensureCapacity(long value) {
     if ((value & currentMask) == value) {
       return;

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java Thu Jun  5 12:38:37 2014
@@ -473,42 +473,10 @@ public class PackedInts {
     }
 
     /**
-     * @return the number of bits used to store any given value.
-     *         Note: This does not imply that memory usage is
-     *         {@code bitsPerValue * #values} as implementations are free to
-     *         use non-space-optimal packing of bits.
-     */
-    public abstract int getBitsPerValue();
-
-    /**
      * @return the number of values.
      */
     public abstract int size();
 
-    /**
-     * Expert: if the bit-width of this reader matches one of
-     * java's native types, returns the underlying array
-     * (ie, byte[], short[], int[], long[]); else, returns
-     * null.  Note that when accessing the array you must
-     * upgrade the type (bitwise AND with all ones), to
-     * interpret the full value as unsigned.  Ie,
-     * bytes[idx]&0xFF, shorts[idx]&0xFFFF, etc.
-     */
-    public Object getArray() {
-      assert !hasArray();
-      return null;
-    }
-
-    /**
-     * Returns true if this implementation is backed by a
-     * native java array.
-     *
-     * @see #getArray
-     */
-    public boolean hasArray() {
-      return false;
-    }
-
   }
 
   /**
@@ -568,6 +536,14 @@ public class PackedInts {
   public static abstract class Mutable extends Reader {
 
     /**
+     * @return the number of bits used to store any given value.
+     *         Note: This does not imply that memory usage is
+     *         {@code bitsPerValue * #values} as implementations are free to
+     *         use non-space-optimal packing of bits.
+     */
+    public abstract int getBitsPerValue();
+
+    /**
      * Set the value at the given index in the array.
      * @param index where the value should be positioned.
      * @param value a value conforming to the constraints set by the array.
@@ -637,12 +613,9 @@ public class PackedInts {
    * @lucene.internal
    */
   static abstract class ReaderImpl extends Reader {
-    protected final int bitsPerValue;
     protected final int valueCount;
 
-    protected ReaderImpl(int valueCount, int bitsPerValue) {
-      this.bitsPerValue = bitsPerValue;
-      assert bitsPerValue > 0 && bitsPerValue <= 64 : "bitsPerValue=" + bitsPerValue;
+    protected ReaderImpl(int valueCount) {
       this.valueCount = valueCount;
     }
 
@@ -650,11 +623,6 @@ public class PackedInts {
     public abstract long get(int index);
 
     @Override
-    public final int getBitsPerValue() {
-      return bitsPerValue;
-    }
-
-    @Override
     public final int size() {
       return valueCount;
     }
@@ -709,11 +677,6 @@ public class PackedInts {
     }
 
     @Override
-    public int getBitsPerValue() {
-      return 0;
-    }
-
-    @Override
     public int size() {
       return valueCount;
     }

Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java?rev=1600637&r1=1600636&r2=1600637&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java Thu Jun  5 12:38:37 2014
@@ -823,7 +823,6 @@ public class TestPackedInts extends Luce
 
         IndexInput in = directory.openInput("packed-ints.bin", IOContext.DEFAULT);
         PackedInts.Reader reader = PackedInts.getReader(in);
-        assertEquals(mutable.getBitsPerValue(), reader.getBitsPerValue());
         assertEquals(valueCount, reader.size());
         if (mutable instanceof Packed64SingleBlock) {
           // make sure that we used the right format so that the reader has