ShortBag implements AnyBag<ShortBag> { @Override public void copyPartFrom(ShortBag from, int fromOffset, int toOffset, int length) { ensureCapacity(toOffset + length); int maxLength = from.buffer.length - fromOffset; System.arraycopy(from.buffer, fromOffset, buffer, toOffset, Math.min(length, maxLength)); if (maxLength < length) { short[] buffer = this.buffer; for (int i = toOffset + maxLength, n = toOffset + length; i < n; i++) buffer[i] = (short) 0; } } ShortBag(); @Override void copyFrom(ShortBag from); @Override void copyFrom(ShortBag from, boolean clearExceeding); @Override void copyFrom(ShortBag from, int length); @Override void copyFrom(ShortBag from, int length, boolean clearExceeding); @Override void copyFrom(ShortBag from, int fromOffset, int length); @Override void copyFrom(ShortBag from, int fromOffset, int length, boolean clearExceeding); @Override void copyPartFrom(ShortBag from, int fromOffset, int toOffset, int length); @Override void ensureCapacity(int capacity); short get(int index); void set(int index, short value); @Override void clear(); @Override void clear(Mask mask); @Experimental
    public short[] buffer; }
@Test public void testCopyPartFrom() { ShortBag b0, b1; short e0 = (short) 1, e1 = (short) 1, e2 = (short) 1, e3 = (short) 1; b0 = new ShortBag(); b0.set(5, e0); b0.set(14, e1); b0.set(21, e2); b1 = new ShortBag(); b1.set(0, e3); b1.set(33, e0); b1.copyPartFrom(b0, 14, 1, 33); assertEquals((Short) e1, (Short) b1.get(1)); assertEquals((Short) e2, (Short) b1.get(8)); assertEquals((Short) e3, (Short) b1.get(0)); assertEquals((Short) (short) 0, (Short) b1.get(32)); assertEquals((Short) (short) 0, (Short) b1.get(33)); assertEquals((Short) (short) 0, (Short) b1.get(34)); assertEquals((Short) (short) 0, (Short) b1.get(35)); b0 = new ShortBag(); b0.set(5, e0); b0.set(14, e1); b0.set(21, e2); b1 = new ShortBag(); b1.set(0, e3); b1.copyPartFrom(b0, 14, 1, 8); assertEquals((Short) e1, (Short) b1.get(1)); assertEquals((Short) e2, (Short) b1.get(8)); assertEquals((Short) e3, (Short) b1.get(0)); assertEquals((Short) (short) 0, (Short) b1.get(32)); assertEquals((Short) (short) 0, (Short) b1.get(33)); assertEquals((Short) (short) 0, (Short) b1.get(34)); assertEquals((Short) (short) 0, (Short) b1.get(35)); }