| Package | Description |
|---|---|
| com.io7m.jtensors.bytebuffered.parameterized |
ByteBuffer backed parameterized tensors. |
| com.io7m.jtensors.parameterized |
Parameterized vector and matrix types.
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
PVectorByteBuffered2LType<T>
The type of
PVector2LType values that are also byte buffered. |
interface |
PVectorByteBuffered3LType<T>
The type of
PVector3LType values that are also byte buffered. |
interface |
PVectorByteBuffered4LType<T>
The type of
PVector4LType values that are also byte buffered. |
| Modifier and Type | Class and Description |
|---|---|
class |
PVectorByteBufferedM2L<T>
A three-element vector type with
long elements, packed into a
ByteBuffer. |
class |
PVectorByteBufferedM3L<T>
A three-element vector type with
long elements, packed into a
ByteBuffer. |
class |
PVectorByteBufferedM4L<T>
A four-element vector type with
long elements, packed into a
ByteBuffer. |
| Modifier and Type | Method and Description |
|---|---|
void |
PVectorByteBufferedM4L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
void |
PVectorByteBufferedM3L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
void |
PVectorByteBufferedM2L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
PVector2LType<T>
The type of two-element vectors that are both readable and writable, and
have
long elements |
interface |
PVector3LType<T>
The type of three-element vectors that are both readable and writable, and
have
long elements |
interface |
PVector4LType<T>
The type of four-element vectors that are both readable and writable, and
have
long elements |
interface |
PVectorReadable3LType<T>
'Read' interface to phantom-typed three-dimensional vectors with long
integer elements.
|
interface |
PVectorReadable4LType<T>
'Read' interface to phantom-typed four-dimensional vectors with long
integer elements.
|
| Modifier and Type | Class and Description |
|---|---|
class |
PVectorI2L<T>
A two-dimensional immutable vector type with integer elements.
|
class |
PVectorI3L<T>
A three-dimensional immutable vector type with integer elements.
|
class |
PVectorI4L<T>
A four-dimensional immutable vector type with integer elements.
|
class |
PVectorM2L<T>
A two-dimensional mutable vector type with integer elements.
|
class |
PVectorM3L<T>
A three-dimensional mutable vector type with integer elements.
|
class |
PVectorM4L<T>
A four-dimensional mutable vector type with integer elements.
|
| Modifier and Type | Method and Description |
|---|---|
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.absoluteInPlace(V v)
Calculate the absolute values of the elements in vector
v, saving
the result to v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.addInPlace(V v0,
PVectorReadable2LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.addScaledInPlace(V v0,
PVectorReadable2LType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r, saving the result to
v0. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampByPVectorInPlace(V v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampInPlace(V v,
long minimum,
long maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMaximumByPVectorInPlace(V v,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum, saving the result to v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMaximumInPlace(V v,
long maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMinimumByPVectorInPlace(V v,
PVectorReadable2LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum, saving the result to v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMinimumInPlace(V v,
long minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.scaleInPlace(V v,
long r)
Scale the vector
v by the scalar r, saving the result to
v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.subtractInPlace(V v0,
PVectorReadable2LType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Modifier and Type | Method and Description |
|---|---|
static <T> PVectorI2L<T> |
PVectorI2L.absolute(PVectorReadable2LType<T> v)
Calculate the absolute values of the elements in vector
v. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.absolute(PVectorReadable2LType<T> v,
V out)
Calculate the absolute values of the elements in vector
v, saving
the result to out. |
static <T> PVectorI2L<T> |
PVectorI2L.add(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T> PVectorI2L<T> |
PVectorI2L.add(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.add(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.add(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.addInPlace(V v0,
PVectorReadable2LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T> PVectorI2L<T> |
PVectorI2L.addScaled(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r. |
static <T> PVectorI2L<T> |
PVectorI2L.addScaled(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.addScaled(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double r,
V out)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r, saving the result to
out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.addScaled(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double r,
V out)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r, saving the result to
out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.addScaledInPlace(V v0,
PVectorReadable2LType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r, saving the result to
v0. |
static <T> double |
PVectorM2L.angle(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the angle between vectors
v0 and v1, in radians. |
static <T> double |
PVectorM2L.angle(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the angle between vectors
v0 and v1, in radians. |
static <T> double |
PVectorI2L.angle(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the angle between the vectors
v0 and v1 in
radians. |
static <T> double |
PVectorI2L.angle(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the angle between the vectors
v0 and v1 in
radians. |
static <T> PVectorI2L<T> |
PVectorI2L.clamp(PVectorReadable2LType<T> v,
long minimum,
long maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clamp(PVectorReadable2LType<T> v,
long minimum,
long maximum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI2L<T> |
PVectorI2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI2L<T> |
PVectorI2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI2L<T> |
PVectorI2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampByPVectorInPlace(V v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to v. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampByPVectorInPlace(V v,
PVectorReadable2LType<T> minimum,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum, saving
the result to v. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMaximum(PVectorReadable2LType<T> v,
long maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMaximum(PVectorReadable2LType<T> v,
long maximum,
V out)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMaximumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMaximumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMaximumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> maximum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum, saving the result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMaximumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> maximum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum, saving the result to out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMaximumByPVectorInPlace(V v,
PVectorReadable2LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum, saving the result to v. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMinimum(PVectorReadable2LType<T> v,
long minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMinimum(PVectorReadable2LType<T> v,
long minimum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMinimumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T> PVectorI2L<T> |
PVectorI2L.clampMinimumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMinimumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum, saving the result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.clampMinimumByPVector(PVectorReadable2LType<T> v,
PVectorReadable2LType<T> minimum,
V out)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum, saving the result to out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.clampMinimumByPVectorInPlace(V v,
PVectorReadable2LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum, saving the result to v. |
static <T,U extends PVectorWritable2LType<T>> |
PVectorM2L.copy(PVectorReadable2LType<T> input,
U output)
Copy all elements of the vector
input to the vector output. |
void |
PVectorWritable2LType.copyFromTyped2L(PVectorReadable2LType<T> in_v)
Set the current vector to the contents of the input vector.
|
void |
PVectorM4L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
void |
PVectorM3L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
void |
PVectorM2L.copyFromTyped2L(PVectorReadable2LType<T> in_v) |
static <T> long |
PVectorM2L.distance(PVectorM2L.ContextPVM2L c,
PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorM2L.distance(PVectorM2L.ContextPVM2L c,
PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorI2L.distance(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorI2L.distance(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorM2L.dotProduct(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorM2L.dotProduct(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorI2L.dotProduct(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorI2L.dotProduct(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.interpolateLinear(PVectorM2L.ContextPVM2L c,
PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double alpha,
V r)
Linearly interpolate between
v0 and v1 by the amount alpha, saving the result to r. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.interpolateLinear(PVectorM2L.ContextPVM2L c,
PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double alpha,
V r)
Linearly interpolate between
v0 and v1 by the amount alpha, saving the result to r. |
static <T> PVectorI2L<T> |
PVectorI2L.interpolateLinear(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> PVectorI2L<T> |
PVectorI2L.interpolateLinear(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> long |
PVectorM2L.magnitude(PVectorReadable2LType<T> v)
Calculate the magnitude of the vector
v. |
static <T> long |
PVectorI2L.magnitude(PVectorReadable2LType<T> v)
Calculate the magnitude of the vector
v. |
static <T> long |
PVectorM2L.magnitudeSquared(PVectorReadable2LType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> long |
PVectorI2L.magnitudeSquared(PVectorReadable2LType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> PVectorI2L<T> |
PVectorI2L.projection(PVectorReadable2LType<T> p,
PVectorReadable2LType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T> PVectorI2L<T> |
PVectorI2L.projection(PVectorReadable2LType<T> p,
PVectorReadable2LType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.projection(PVectorReadable2LType<T> p,
PVectorReadable2LType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.projection(PVectorReadable2LType<T> p,
PVectorReadable2LType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T> PVectorI2L<T> |
PVectorI2L.scale(PVectorReadable2LType<T> v,
double r)
Scale the vector
v by the scalar r. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.scale(PVectorReadable2LType<T> v,
double r,
V out)
Scale the vector
v by the scalar r, saving the result to
out. |
static <T> PVectorI2L<T> |
PVectorI2L.subtract(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T> PVectorI2L<T> |
PVectorI2L.subtract(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.subtract(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable2LType<T>> |
PVectorM2L.subtract(PVectorReadable2LType<T> v0,
PVectorReadable2LType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable2LType<T> & PVectorReadable2LType<T>> |
PVectorM2L.subtractInPlace(V v0,
PVectorReadable2LType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Constructor and Description |
|---|
PVectorI2L(PVectorReadable2LType<T> in_v)
Construct a vector initialized with the values given in the vector
in_v. |
PVectorM2L(PVectorReadable2LType<T> in_v)
Construct a vector initialized with the values given in the vector
in_v. |
Copyright © 2017 <code@io7m.com> http://io7m.com