public abstract class HalfIndexer extends Indexer
short
primitive type, treated as half-precision float.Modifier and Type | Field and Description |
---|---|
static int |
VALUE_BYTES
The number of bytes used to represent a short.
|
indexable, ONE_STRIDE, sizes, strides
Modifier | Constructor and Description |
---|---|
protected |
HalfIndexer(long[] sizes,
long[] strides) |
Modifier and Type | Method and Description |
---|---|
static HalfIndexer |
create(short[] array)
Returns
new HalfArrayIndexer(array) |
static HalfIndexer |
create(short[] array,
long... sizes)
Returns
new HalfArrayIndexer(array, sizes) |
static HalfIndexer |
create(short[] array,
long[] sizes,
long[] strides)
Returns
new HalfArrayIndexer(array, sizes, strides) |
static HalfIndexer |
create(ShortBuffer buffer)
Returns
new HalfBufferIndexer(buffer) |
static HalfIndexer |
create(ShortBuffer buffer,
long... sizes)
Returns
new HalfBufferIndexer(buffer, sizes) |
static HalfIndexer |
create(ShortBuffer buffer,
long[] sizes,
long[] strides)
Returns
new HalfBufferIndexer(buffer, sizes, strides) |
static HalfIndexer |
create(ShortPointer pointer)
Returns
create(pointer, { pointer.limit() - pointer.position() }, { 1 }, true) |
static HalfIndexer |
create(ShortPointer pointer,
long... sizes)
Returns
create(pointer, sizes, strides(sizes)) |
static HalfIndexer |
create(ShortPointer pointer,
long[] sizes,
long[] strides)
Returns
create(pointer, sizes, strides, true) |
static HalfIndexer |
create(ShortPointer pointer,
long[] sizes,
long[] strides,
boolean direct)
Creates a half float indexer to access efficiently the data of a pointer.
|
static int |
fromFloat(float fval)
returns all higher 16 bits as 0 for all results
|
abstract float |
get(long... indices)
Returns
array/buffer[index(indices)] |
abstract float |
get(long i)
Returns
array/buffer[i] |
HalfIndexer |
get(long[] indices,
float[] h)
Returns
this where s = array/buffer[index(indices)] |
abstract HalfIndexer |
get(long[] indices,
float[] h,
int offset,
int length)
Returns
this where s[offset:offset + length] = array/buffer[index(indices)] |
HalfIndexer |
get(long i,
float[] h)
Returns
this where s = array/buffer[i] |
abstract HalfIndexer |
get(long i,
float[] h,
int offset,
int length)
Returns
this where s[offset:offset + length] = array/buffer[i] |
abstract float |
get(long i,
long j)
Returns
array/buffer[i * strides[0] + j] |
HalfIndexer |
get(long i,
long j,
float[] h)
Returns
this where s = array/buffer[i * strides[0] + j] |
abstract HalfIndexer |
get(long i,
long j,
float[] h,
int offset,
int length)
Returns
this where s[offset:offset + length] = array/buffer[i * strides[0] + j] |
abstract float |
get(long i,
long j,
long k)
Returns
array/buffer[i * strides[0] + j * strides[1] + k] |
double |
getDouble(long... indices)
Calls
get(int...indices) and returns the value as a double. |
HalfIndexer |
put(long[] indices,
float... h)
Returns
this where array/buffer[index(indices)] = s |
abstract HalfIndexer |
put(long[] indices,
float h)
Returns
this where array/buffer[index(indices)] = s |
abstract HalfIndexer |
put(long[] indices,
float[] h,
int offset,
int length)
Returns
this where array/buffer[index(indices)] = s[offset:offset + length] |
HalfIndexer |
put(long i,
float... h)
Returns
this where array/buffer[i] = s |
abstract HalfIndexer |
put(long i,
float h)
Returns
this where array/buffer[i] = s |
abstract HalfIndexer |
put(long i,
float[] h,
int offset,
int length)
Returns
this where array/buffer[i] = s[offset:offset + length] |
HalfIndexer |
put(long i,
long j,
float... h)
Returns
this where array/buffer[i * strides[0] + j] = s |
abstract HalfIndexer |
put(long i,
long j,
float h)
Returns
this where array/buffer[i * strides[0] + j] = s |
abstract HalfIndexer |
put(long i,
long j,
float[] h,
int offset,
int length)
Returns
this where array/buffer[i * strides[0] + j] = s[offset:offset + length] |
abstract HalfIndexer |
put(long i,
long j,
long k,
float h)
Returns
this where array/buffer[i * strides[0] + j * strides[1] + k] = s |
HalfIndexer |
putDouble(long[] indices,
double s)
Casts value to primitive type and calls
put(long[] indices, <type> value) . |
static float |
toFloat(int hbits)
ignores the higher 16 bits
|
public static final int VALUE_BYTES
public static HalfIndexer create(short[] array)
new HalfArrayIndexer(array)
public static HalfIndexer create(ShortBuffer buffer)
new HalfBufferIndexer(buffer)
public static HalfIndexer create(ShortPointer pointer)
create(pointer, { pointer.limit() - pointer.position() }, { 1 }, true)
public static HalfIndexer create(short[] array, long... sizes)
new HalfArrayIndexer(array, sizes)
public static HalfIndexer create(ShortBuffer buffer, long... sizes)
new HalfBufferIndexer(buffer, sizes)
public static HalfIndexer create(ShortPointer pointer, long... sizes)
create(pointer, sizes, strides(sizes))
public static HalfIndexer create(short[] array, long[] sizes, long[] strides)
new HalfArrayIndexer(array, sizes, strides)
public static HalfIndexer create(ShortBuffer buffer, long[] sizes, long[] strides)
new HalfBufferIndexer(buffer, sizes, strides)
public static HalfIndexer create(ShortPointer pointer, long[] sizes, long[] strides)
create(pointer, sizes, strides, true)
public static HalfIndexer create(ShortPointer pointer, long[] sizes, long[] strides, boolean direct)
pointer
- data to access via a buffer or to copy to an arraydirect
- true
to use a direct buffer, see Indexer
for detailspublic static float toFloat(int hbits)
public static int fromFloat(float fval)
public abstract float get(long i)
array/buffer[i]
public HalfIndexer get(long i, float[] h)
this
where s = array/buffer[i]
public abstract HalfIndexer get(long i, float[] h, int offset, int length)
this
where s[offset:offset + length] = array/buffer[i]
public abstract float get(long i, long j)
array/buffer[i * strides[0] + j]
public HalfIndexer get(long i, long j, float[] h)
this
where s = array/buffer[i * strides[0] + j]
public abstract HalfIndexer get(long i, long j, float[] h, int offset, int length)
this
where s[offset:offset + length] = array/buffer[i * strides[0] + j]
public abstract float get(long i, long j, long k)
array/buffer[i * strides[0] + j * strides[1] + k]
public abstract float get(long... indices)
array/buffer[index(indices)]
public HalfIndexer get(long[] indices, float[] h)
this
where s = array/buffer[index(indices)]
public abstract HalfIndexer get(long[] indices, float[] h, int offset, int length)
this
where s[offset:offset + length] = array/buffer[index(indices)]
public abstract HalfIndexer put(long i, float h)
this
where array/buffer[i] = s
public HalfIndexer put(long i, float... h)
this
where array/buffer[i] = s
public abstract HalfIndexer put(long i, float[] h, int offset, int length)
this
where array/buffer[i] = s[offset:offset + length]
public abstract HalfIndexer put(long i, long j, float h)
this
where array/buffer[i * strides[0] + j] = s
public HalfIndexer put(long i, long j, float... h)
this
where array/buffer[i * strides[0] + j] = s
public abstract HalfIndexer put(long i, long j, float[] h, int offset, int length)
this
where array/buffer[i * strides[0] + j] = s[offset:offset + length]
public abstract HalfIndexer put(long i, long j, long k, float h)
this
where array/buffer[i * strides[0] + j * strides[1] + k] = s
public abstract HalfIndexer put(long[] indices, float h)
this
where array/buffer[index(indices)] = s
public HalfIndexer put(long[] indices, float... h)
this
where array/buffer[index(indices)] = s
public abstract HalfIndexer put(long[] indices, float[] h, int offset, int length)
this
where array/buffer[index(indices)] = s[offset:offset + length]
public double getDouble(long... indices)
Indexer
get(int...indices)
and returns the value as a double.public HalfIndexer putDouble(long[] indices, double s)
Indexer
put(long[] indices, <type> value)
.Copyright © 2020. All rights reserved.