| 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 |
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 |
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.copyFromTyped3L(PVectorReadable3LType<T> in_v) |
void |
PVectorByteBufferedM3L.copyFromTyped3L(PVectorReadable3LType<T> in_v) |
| Modifier and Type | Interface and Description |
|---|---|
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 |
PVectorReadable4LType<T>
'Read' interface to phantom-typed four-dimensional vectors with long
integer elements.
|
| Modifier and Type | Class and Description |
|---|---|
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 |
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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.absoluteInPlace(V v)
Calculate the absolute values of the elements in vector
v, saving
the result to v. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.addInPlace(V v0,
PVectorReadable3LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.addScaledInPlace(V v0,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampByPVectorInPlace(V v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampInPlace(V v,
long minimum,
long maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMaximumByPVectorInPlace(V v,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMaximumInPlace(V v,
long maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMinimumByPVectorInPlace(V v,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMinimumInPlace(V v,
long minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.scaleInPlace(V v,
long r)
Scale the vector
v by the scalar r, saving the result to
v. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.subtractInPlace(V v0,
PVectorReadable3LType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Modifier and Type | Method and Description |
|---|---|
static <T> PVectorI3L<T> |
PVectorI3L.absolute(PVectorReadable3LType<T> v)
Calculate the absolute values of the elements in vector
v. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.absolute(PVectorReadable3LType<T> v,
V out)
Calculate the absolute values of the elements in vector
v, saving
the result to out. |
static <T> PVectorI3L<T> |
PVectorI3L.add(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T> PVectorI3L<T> |
PVectorI3L.add(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.add(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.add(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.addInPlace(V v0,
PVectorReadable3LType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T> PVectorI3L<T> |
PVectorI3L.addScaled(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r. |
static <T> PVectorI3L<T> |
PVectorI3L.addScaled(PVectorReadable3LType<T> v0,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.addScaled(PVectorReadable3LType<T> v0,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.addScaled(PVectorReadable3LType<T> v0,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.addScaledInPlace(V v0,
PVectorReadable3LType<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> PVectorI3L<T> |
PVectorI3L.clamp(PVectorReadable3LType<T> v,
long minimum,
long maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.clamp(PVectorReadable3LType<T> v,
long minimum,
long maximum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI3L<T> |
PVectorI3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI3L<T> |
PVectorI3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI3L<T> |
PVectorI3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.clampByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampByPVectorInPlace(V v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampByPVectorInPlace(V v,
PVectorReadable3LType<T> minimum,
PVectorReadable3LType<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> PVectorI3L<T> |
PVectorI3L.clampMaximum(PVectorReadable3LType<T> v,
long maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.clampMaximum(PVectorReadable3LType<T> v,
long maximum,
V out)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T> PVectorI3L<T> |
PVectorI3L.clampMaximumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T> PVectorI3L<T> |
PVectorI3L.clampMaximumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.clampMaximumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.clampMaximumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMaximumByPVectorInPlace(V v,
PVectorReadable3LType<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> PVectorI3L<T> |
PVectorI3L.clampMinimum(PVectorReadable3LType<T> v,
long minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.clampMinimum(PVectorReadable3LType<T> v,
long minimum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI3L<T> |
PVectorI3L.clampMinimumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T> PVectorI3L<T> |
PVectorI3L.clampMinimumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.clampMinimumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.clampMinimumByPVector(PVectorReadable3LType<T> v,
PVectorReadable3LType<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 PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.clampMinimumByPVectorInPlace(V v,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.copy(PVectorReadable3LType<T> input,
U output)
Copy all elements of the vector
input to the vector output. |
void |
PVectorWritable3LType.copyFromTyped3L(PVectorReadable3LType<T> in_v)
Set the current vector to the contents of the input vector.
|
void |
PVectorM4L.copyFromTyped3L(PVectorReadable3LType<T> in_v) |
void |
PVectorM3L.copyFromTyped3L(PVectorReadable3LType<T> in_v) |
static <T> long |
PVectorM3L.distance(PVectorM3L.ContextPVM3L c,
PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorM3L.distance(PVectorM3L.ContextPVM3L c,
PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorI3L.distance(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorI3L.distance(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorM3L.dotProduct(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorM3L.dotProduct(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorI3L.dotProduct(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> long |
PVectorI3L.dotProduct(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.interpolateLinear(PVectorM3L.ContextPVM3L c,
PVectorReadable3LType<T> v0,
PVectorReadable3LType<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 PVectorWritable3LType<T>> |
PVectorM3L.interpolateLinear(PVectorM3L.ContextPVM3L c,
PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
double alpha,
V r)
Linearly interpolate between
v0 and v1 by the amount alpha, saving the result to r. |
static <T> PVectorI3L<T> |
PVectorI3L.interpolateLinear(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> PVectorI3L<T> |
PVectorI3L.interpolateLinear(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> long |
PVectorM3L.magnitude(PVectorReadable3LType<T> v)
Calculate the magnitude of the vector
v. |
static <T> long |
PVectorI3L.magnitude(PVectorReadable3LType<T> v)
Calculate the magnitude of the vector
v. |
static <T> long |
PVectorM3L.magnitudeSquared(PVectorReadable3LType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> long |
PVectorI3L.magnitudeSquared(PVectorReadable3LType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> PVectorI3L<T> |
PVectorI3L.projection(PVectorReadable3LType<T> p,
PVectorReadable3LType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T> PVectorI3L<T> |
PVectorI3L.projection(PVectorReadable3LType<T> p,
PVectorReadable3LType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.projection(PVectorReadable3LType<T> p,
PVectorReadable3LType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.projection(PVectorReadable3LType<T> p,
PVectorReadable3LType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T> PVectorI3L<T> |
PVectorI3L.scale(PVectorReadable3LType<T> v,
double r)
Scale the vector
v by the scalar r, saving the result to
out. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.scale(PVectorReadable3LType<T> v,
double r,
V out)
Scale the vector
v by the scalar r, saving the result to
out. |
static <T> PVectorI3L<T> |
PVectorI3L.subtract(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T> PVectorI3L<T> |
PVectorI3L.subtract(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.subtract(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable3LType<T>> |
PVectorM3L.subtract(PVectorReadable3LType<T> v0,
PVectorReadable3LType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable3LType<T> & PVectorReadable3LType<T>> |
PVectorM3L.subtractInPlace(V v0,
PVectorReadable3LType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Constructor and Description |
|---|
PVectorI3L(PVectorReadable3LType<T> in_v)
Construct a vector initialized with the values given in the vector
in_v. |
PVectorM3L(PVectorReadable3LType<T> in_v)
Construct a vector initialized with the values given in the vector
in_v. |
Copyright © 2015 <code@io7m.com> http://io7m.com