/** Returns {@code this} where {@code array/buffer[i * strides[0] + j] = n[offset:offset + length]} */ public abstract IntIndexer put(long i, long j, int[] n, int offset, int length); /** Returns {@code this} where {@code array/buffer[i * strides[0] + j * strides[1] + k] = n} */
@Override public IntIndexer putDouble(long[] indices, double n) { return put(indices, (int)n); } }
/** Returns {@code this} where {@code array/buffer[i] = n[offset:offset + length]} */ public abstract IntIndexer put(long i, int[] n, int offset, int length); /** Returns {@code this} where {@code array/buffer[i * strides[0] + j] = n} */
/** Returns {@code this} where {@code array/buffer[index(indices)] = n[offset:offset + length]} */ public abstract IntIndexer put(long[] indices, int[] n, int offset, int length);
@Override public void put(long i, long element) { if (dataType() == Type.DOUBLE) { ((DoubleIndexer) indexer).put(offset() + i, (double) element); } else if (dataType() == Type.INT) { ((IntIndexer) indexer).put(offset() + i, (int) element); } else if (dataType() == Type.LONG) { ((LongRawIndexer) indexer).put(offset() + i, element); } else { ((FloatIndexer) indexer).put(offset() + i, (float) element); } if (i == length) { length++; } }
@Override public void put(long i, int element) { if (dataType() == Type.DOUBLE) { ((DoubleIndexer) indexer).put(offset() + i, element); } else if (dataType() == Type.INT) { ((IntIndexer) indexer).put(offset() + i, element); } else if (dataType() == Type.LONG) { ((LongRawIndexer) indexer).put(offset() + i, element); } else { ((FloatIndexer) indexer).put(offset() + i, element); } if (i == length) { length++; } }
@Override public void put(long i, float element) { if (dataType() == Type.DOUBLE) { ((DoubleIndexer) indexer).put(offset() + i, element); } else if (dataType() == Type.INT) { ((IntIndexer) indexer).put(offset() + i, (int) element); } else if (dataType() == Type.LONG) { ((LongRawIndexer) indexer).put(offset() + i, (long) element); } else { ((FloatIndexer) indexer).put(offset() + i, element); } if (i >= length) { length++; } if (i == length) { length++; } }
@Override public void put(long i, double element) { if (dataType() == Type.DOUBLE) { ((DoubleIndexer) indexer).put(offset() + i, element); } else if (dataType() == Type.INT) { ((IntIndexer) indexer).put(offset() + i, (int) element); } else if (dataType() == Type.LONG) { ((LongRawIndexer) indexer).put(offset() + i, (long) element); } else if (dataType() == Type.HALF) { ((HalfIndexer) indexer).put(offset() + i, (float) element); } else { ((FloatIndexer) indexer).put(offset() + i, (float) element); } if (i == length) { length++; } }