| 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 |
PVectorByteBuffered2IType<T>
The type of
PVector2IType values that are also byte buffered. |
interface |
PVectorByteBuffered3IType<T>
The type of
PVector3IType values that are also byte buffered. |
interface |
PVectorByteBuffered4IType<T>
The type of
PVector4IType values that are also byte buffered. |
| Modifier and Type | Class and Description |
|---|---|
class |
PVectorByteBufferedM2I<T>
A three-element vector type with
int elements, packed into a
ByteBuffer. |
class |
PVectorByteBufferedM3I<T>
A three-element vector type with
int elements, packed into a
ByteBuffer. |
class |
PVectorByteBufferedM4I<T>
A four-element vector type with
int elements, packed into a ByteBuffer. |
| Modifier and Type | Method and Description |
|---|---|
void |
PVectorByteBufferedM4I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
void |
PVectorByteBufferedM3I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
void |
PVectorByteBufferedM2I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
PVector2IType<T>
The type of two-element vectors that are both readable and writable, and
have
int elements |
interface |
PVector3IType<T>
The type of three-element vectors that are both readable and writable, and
have
int elements |
interface |
PVector4IType<T>
The type of four-element vectors that are both readable and writable, and
have
int elements |
interface |
PVectorReadable3IType<T>
'Read' interface to phantom-typed three-dimensional vectors with integer
elements.
|
interface |
PVectorReadable4IType<T>
'Read' interface to phantom-typed four-dimensional vectors with integer
elements.
|
| Modifier and Type | Class and Description |
|---|---|
class |
PVectorI2I<T>
A two-dimensional immutable vector type with integer elements.
|
class |
PVectorI3I<T>
A three-dimensional immutable vector type with integer elements.
|
class |
PVectorI4I<T>
A four-dimensional immutable vector type with integer elements.
|
class |
PVectorM2I<T>
A two-dimensional mutable vector type with integer elements.
|
class |
PVectorM3I<T>
A three-dimensional mutable vector type with integer elements.
|
class |
PVectorM4I<T>
A four-dimensional mutable vector type with integer elements.
|
| Modifier and Type | Method and Description |
|---|---|
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.absoluteInPlace(V v)
Calculate the absolute values of the elements in vector
v, saving
the result to v. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.addInPlace(V v0,
PVectorReadable2IType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.addScaledInPlace(V v0,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampByPVectorInPlace(V v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampInPlace(V v,
int minimum,
int maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMaximumByPVectorInPlace(V v,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMaximumInPlace(V v,
int maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMinimumByPVectorInPlace(V v,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMinimumInPlace(V v,
int minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.scaleInPlace(V v,
int r)
Scale the vector
v by the scalar r, saving the result to
v. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.subtractInPlace(V v0,
PVectorReadable2IType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Modifier and Type | Method and Description |
|---|---|
static <T> PVectorI2I<T> |
PVectorI2I.absolute(PVectorReadable2IType<T> v)
Calculate the absolute values of the elements in vector
v. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.absolute(PVectorReadable2IType<T> v,
V out)
Calculate the absolute values of the elements in vector
v, saving
the result to out. |
static <T> PVectorI2I<T> |
PVectorI2I.add(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T> PVectorI2I<T> |
PVectorI2I.add(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.add(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.add(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
V out)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to out. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.addInPlace(V v0,
PVectorReadable2IType<T> v1)
Calculate the element-wise sum of the vectors
v0 and v1,
saving the result to v0. |
static <T> PVectorI2I<T> |
PVectorI2I.addScaled(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
double r)
Calculate the element-wise sum of the vectors
v0 and the
element-wise product of v1 and r. |
static <T> PVectorI2I<T> |
PVectorI2I.addScaled(PVectorReadable2IType<T> v0,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.addScaled(PVectorReadable2IType<T> v0,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.addScaled(PVectorReadable2IType<T> v0,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.addScaledInPlace(V v0,
PVectorReadable2IType<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 |
PVectorM2I.angle(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the angle between vectors
v0 and v1, in radians. |
static <T> double |
PVectorM2I.angle(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the angle between vectors
v0 and v1, in radians. |
static <T> double |
PVectorI2I.angle(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the angle between the vectors
v0 and v1 in
radians. |
static <T> double |
PVectorI2I.angle(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the angle between the vectors
v0 and v1 in
radians. |
static <T> PVectorI2I<T> |
PVectorI2I.clamp(PVectorReadable2IType<T> v,
int minimum,
int maximum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.clamp(PVectorReadable2IType<T> v,
int minimum,
int maximum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI2I<T> |
PVectorI2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI2I<T> |
PVectorI2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum and maximum. |
static <T> PVectorI2I<T> |
PVectorI2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.clampByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampByPVectorInPlace(V v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampByPVectorInPlace(V v,
PVectorReadable2IType<T> minimum,
PVectorReadable2IType<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> PVectorI2I<T> |
PVectorI2I.clampMaximum(PVectorReadable2IType<T> v,
int maximum)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.clampMaximum(PVectorReadable2IType<T> v,
int maximum,
V out)
Clamp the elements of the vector
v to the range {@code [-Infinity
.. |
static <T> PVectorI2I<T> |
PVectorI2I.clampMaximumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T> PVectorI2I<T> |
PVectorI2I.clampMaximumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> maximum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in maximum. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.clampMaximumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.clampMaximumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMaximumByPVectorInPlace(V v,
PVectorReadable2IType<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> PVectorI2I<T> |
PVectorI2I.clampMinimum(PVectorReadable2IType<T> v,
int minimum)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.clampMinimum(PVectorReadable2IType<T> v,
int minimum,
V out)
Clamp the elements of the vector
v to the range {@code [minimum .. |
static <T> PVectorI2I<T> |
PVectorI2I.clampMinimumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T> PVectorI2I<T> |
PVectorI2I.clampMinimumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<T> minimum)
Clamp the elements of the vector
v to the inclusive range given by
the corresponding elements in minimum. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.clampMinimumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.clampMinimumByPVector(PVectorReadable2IType<T> v,
PVectorReadable2IType<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 PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.clampMinimumByPVectorInPlace(V v,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.copy(PVectorReadable2IType<T> input,
U output)
Copy all elements of the vector
input to the vector output. |
void |
PVectorWritable2IType.copyFromTyped2I(PVectorReadable2IType<T> in_v)
Set the current vector to the contents of the input vector.
|
void |
PVectorM4I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
void |
PVectorM3I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
void |
PVectorM2I.copyFromTyped2I(PVectorReadable2IType<T> in_v) |
static <T> long |
PVectorM2I.distance(PVectorM2I.ContextPVM2I c,
PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> long |
PVectorM2I.distance(PVectorM2I.ContextPVM2I c,
PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> int |
PVectorI2I.distance(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> int |
PVectorI2I.distance(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the distance between the two vectors
v0 and v1. |
static <T> int |
PVectorM2I.dotProduct(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> int |
PVectorM2I.dotProduct(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> int |
PVectorI2I.dotProduct(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> int |
PVectorI2I.dotProduct(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.interpolateLinear(PVectorM2I.ContextPVM2I c,
PVectorReadable2IType<T> v0,
PVectorReadable2IType<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 PVectorWritable2IType<T>> |
PVectorM2I.interpolateLinear(PVectorM2I.ContextPVM2I c,
PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
double alpha,
V r)
Linearly interpolate between
v0 and v1 by the amount alpha, saving the result to r. |
static <T> PVectorI2I<T> |
PVectorI2I.interpolateLinear(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> PVectorI2I<T> |
PVectorI2I.interpolateLinear(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> int |
PVectorM2I.magnitude(PVectorReadable2IType<T> v)
Calculate the magnitude of the vector
v. |
static <T> int |
PVectorI2I.magnitude(PVectorReadable2IType<T> v)
Calculate the magnitude of the vector
v. |
static <T> int |
PVectorM2I.magnitudeSquared(PVectorReadable2IType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> int |
PVectorI2I.magnitudeSquared(PVectorReadable2IType<T> v)
Calculate the squared magnitude of the vector
v. |
static <T> PVectorI2I<T> |
PVectorI2I.projection(PVectorReadable2IType<T> p,
PVectorReadable2IType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T> PVectorI2I<T> |
PVectorI2I.projection(PVectorReadable2IType<T> p,
PVectorReadable2IType<T> q)
Calculate the projection of the vector
p onto the vector q. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.projection(PVectorReadable2IType<T> p,
PVectorReadable2IType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.projection(PVectorReadable2IType<T> p,
PVectorReadable2IType<T> q,
V r)
Calculate the projection of the vector
p onto the vector q,
saving the result in r. |
static <T> PVectorI2I<T> |
PVectorI2I.scale(PVectorReadable2IType<T> v,
double r)
Scale the vector
v by the scalar r. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.scale(PVectorReadable2IType<T> v,
double r,
V out)
Scale the vector
v by the scalar r, saving the result to
out. |
static <T> PVectorI2I<T> |
PVectorI2I.subtract(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T> PVectorI2I<T> |
PVectorI2I.subtract(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1)
Subtract the vector
v1 from the vector v0. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.subtract(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable2IType<T>> |
PVectorM2I.subtract(PVectorReadable2IType<T> v0,
PVectorReadable2IType<T> v1,
V out)
Subtract the vector
v1 from the vector v0, saving the
result to out. |
static <T,V extends PVectorWritable2IType<T> & PVectorReadable2IType<T>> |
PVectorM2I.subtractInPlace(V v0,
PVectorReadable2IType<T> v1)
Subtract the vector
v1 from the vector v0, saving the
result to v0. |
| Constructor and Description |
|---|
PVectorI2I(PVectorReadable2IType<T> in_v)
Construct a vector initialized with the values given in the vector
v. |
PVectorM2I(PVectorReadable2IType<T> in_v)
Construct a vector initialized with the values given in the vector
in_v. |
Copyright © 2017 <code@io7m.com> http://io7m.com