## Uses of Interface
com.io7m.jtensors.VectorReadable2IType

- Packages that use VectorReadable2IType
  Package | Description
  --- | ---
  com.io7m.jtensors | Core vector and matrix types.
  com.io7m.jtensors.bytebuffered | `ByteBuffer` backed tensors.
  com.io7m.jtensors.bytebuffered.parameterized | `ByteBuffer` backed parameterized tensors.
  com.io7m.jtensors.parameterized | Parameterized vector and matrix types.

- - ### Uses of VectorReadable2IType in com.io7m.jtensors

    Subinterfaces of VectorReadable2IType in com.io7m.jtensors
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Vector2IType` The type of two-element vectors that are both readable and writable, and have `int` elements
    `interface` | `Vector3IType` The type of three-element vectors that are both readable and writable, and have `int` elements
    `interface` | `Vector4IType` The type of four-element vectors that are both readable and writable, and have `int` elements
    `interface` | `VectorReadable3IType` 'Read' interface to three-dimensional vectors with integer elements.
    `interface` | `VectorReadable4IType` 'Read' interface to four-dimensional vectors with integer elements.

    Classes in com.io7m.jtensors that implement VectorReadable2IType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `VectorI2I` A two-dimensional immutable vector type with integer elements.
    `class` | `VectorI3I` A three-dimensional immutable vector type with integer elements.
    `class` | `VectorI4I` A four-dimensional immutable vector type with integer elements.
    `class` | `VectorM2I` A two-dimensional mutable vector type with integer elements.
    `class` | `VectorM3I` A three-dimensional mutable vector type with integer elements.
    `class` | `VectorM4I` A four-dimensional mutable vector type with integer elements.

    Methods in com.io7m.jtensors with type parameters of type VectorReadable2IType
    Modifier and Type | Method and Description
    --- | ---
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`absoluteInPlace(V v)` Calculate the absolute values of the elements in vector `v`, saving the result to `v`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`addInPlace(V v0, VectorReadable2IType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `v0`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`addScaledInPlace(V v0, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampByVectorInPlace(V v, VectorReadable2IType minimum, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampInPlace(V v, int minimum, int maximum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMaximumByVectorInPlace(V v, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMaximumInPlace(V v, int maximum)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMinimumByVector(VectorReadable2IType v, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMinimumByVectorInPlace(V v, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMinimumInPlace(V v, int minimum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`scaleInPlace(V v, int r)` Scale the vector `v` by the scalar `r`, saving the result to `v`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`subtractInPlace(V v0, VectorReadable2IType v1)` Subtract the vector `v1` from the vector `v0`, saving the result to `v0`.

    Methods in com.io7m.jtensors with parameters of type VectorReadable2IType
    Modifier and Type | Method and Description
    --- | ---
    `static VectorI2I` | VectorI2I.`absolute(VectorReadable2IType v)` Calculate the absolute values of the elements in vector `v`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`absolute(VectorReadable2IType v, V out)` Calculate the absolute values of the elements in vector `v`, saving the result to `out`.
    `static VectorI2I` | VectorI2I.`add(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`add(VectorReadable2IType v0, VectorReadable2IType v1, V out)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `out`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`addInPlace(V v0, VectorReadable2IType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `v0`.
    `static VectorI2I` | VectorI2I.`addScaled(VectorReadable2IType v0, VectorReadable2IType v1, double r)` Calculate the element-wise sum of the vectors `v0` and the element-wise product of `v1` and `r`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`addScaled(VectorReadable2IType v0, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`addScaledInPlace(V v0, VectorReadable2IType 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 double` | VectorM2I.`angle(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the angle between vectors `v0` and `v1`, in radians.
    `static double` | VectorI2I.`angle(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the angle between the vectors `v0` and `v1` in radians.
    `static VectorI2I` | VectorI2I.`clamp(VectorReadable2IType v, int minimum, int maximum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2IType> V` | VectorM2I.`clamp(VectorReadable2IType v, int minimum, int maximum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static VectorI2I` | VectorI2I.`clampByVector(VectorReadable2IType v, VectorReadable2IType minimum, VectorReadable2IType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum` and `maximum`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`clampByVector(VectorReadable2IType v, VectorReadable2IType minimum, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampByVectorInPlace(V v, VectorReadable2IType minimum, VectorReadable2IType 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 VectorI2I` | VectorI2I.`clampMaximum(VectorReadable2IType v, int maximum)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2IType> V` | VectorM2I.`clampMaximum(VectorReadable2IType v, int maximum, V out)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static VectorI2I` | VectorI2I.`clampMaximumByVector(VectorReadable2IType v, VectorReadable2IType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `maximum`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`clampMaximumByVector(VectorReadable2IType v, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMaximumByVectorInPlace(V v, VectorReadable2IType 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 VectorI2I` | VectorI2I.`clampMinimum(VectorReadable2IType v, int minimum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2IType> V` | VectorM2I.`clampMinimum(VectorReadable2IType v, int minimum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static VectorI2I` | VectorI2I.`clampMinimumByVector(VectorReadable2IType v, VectorReadable2IType minimum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMinimumByVector(VectorReadable2IType v, VectorReadable2IType 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 <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`clampMinimumByVectorInPlace(V v, VectorReadable2IType 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 <V extends VectorWritable2IType> V` | VectorM2I.`copy(VectorReadable2IType input, V output)` Copy all elements of the vector `input` to the vector `output`.
    `void` | VectorWritable2IType.`copyFrom2I(VectorReadable2IType in_v)` Set the current vector to the contents of the input vector.
    `void` | VectorM4I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | VectorM3I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | VectorM2I.`copyFrom2I(VectorReadable2IType in_v)`
    `static int` | VectorM2I.`distance(VectorM2I.ContextVM2I c, VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the distance between the two vectors `v0` and `v1`.
    `static int` | VectorI2I.`distance(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the distance between the two vectors `v0` and `v1`.
    `static int` | VectorM2I.`dotProduct(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the scalar product of the vectors `v0` and `v1`.
    `static int` | VectorI2I.`dotProduct(VectorReadable2IType v0, VectorReadable2IType v1)` Calculate the scalar product of the vectors `v0` and `v1`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`interpolateLinear(VectorM2I.ContextVM2I c, VectorReadable2IType v0, VectorReadable2IType v1, double alpha, V r)` Linearly interpolate between `v0` and `v1` by the amount `alpha`, saving the result to `r`.
    `static VectorI2I` | VectorI2I.`interpolateLinear(VectorReadable2IType v0, VectorReadable2IType v1, double alpha)` Linearly interpolate between `v0` and `v1` by the amount `alpha`.
    `static int` | VectorM2I.`magnitude(VectorReadable2IType v)` Calculate the magnitude of the vector `v`.
    `static int` | VectorI2I.`magnitude(VectorReadable2IType v)` Calculate the magnitude of the vector `v`.
    `static int` | VectorM2I.`magnitudeSquared(VectorReadable2IType v)` Calculate the squared magnitude of the vector `v`.
    `static int` | VectorI2I.`magnitudeSquared(VectorReadable2IType v)` Calculate the squared magnitude of the vector `v`.
    `static <M extends MatrixWritable3x3DType> M` | MatrixM3x3D.`makeTranslation2I(VectorReadable2IType v, M out)` Create a translation matrix that represents a translation by the vector `v`, writing the resulting matrix to `out`.
    `static <M extends MatrixWritable3x3FType> M` | MatrixM3x3F.`makeTranslation2I(VectorReadable2IType v, M out)` Create a translation matrix that represents a translation by the vector `v`, writing the resulting matrix to `out`.
    `static <M extends MatrixWritable4x4DType> M` | MatrixM4x4D.`makeTranslation2I(VectorReadable2IType v, M out)` Generate a matrix that represents a translation of `(v.x, v.y)` from the origin, and save to `out`.
    `static <M extends MatrixWritable4x4FType> M` | MatrixM4x4F.`makeTranslation2I(VectorReadable2IType v, M out)` Generate a matrix that represents a translation of `(v.x, v.y)` from the origin, and save to `out`.
    `static VectorI2I` | VectorI2I.`projection(VectorReadable2IType p, VectorReadable2IType q)` Calculate the projection of the vector `p` onto the vector `q`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`projection(VectorReadable2IType p, VectorReadable2IType q, V r)` Calculate the projection of the vector `p` onto the vector `q`, saving the result in `r`.
    `static VectorI2I` | VectorI2I.`scale(VectorReadable2IType v, double r)` Scale the vector `v` by the scalar `r`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`scale(VectorReadable2IType v, double r, V out)` Scale the vector `v` by the scalar `r`, saving the result to `out`.
    `static VectorI2I` | VectorI2I.`subtract(VectorReadable2IType v0, VectorReadable2IType v1)` Subtract the vector `v1` from the vector `v0`.
    `static <V extends VectorWritable2IType> V` | VectorM2I.`subtract(VectorReadable2IType v0, VectorReadable2IType v1, V out)` Subtract the vector `v1` from the vector `v0`, saving the result to `out`.
    `static <V extends VectorWritable2IType & VectorReadable2IType> V` | VectorM2I.`subtractInPlace(V v0, VectorReadable2IType v1)` Subtract the vector `v1` from the vector `v0`, saving the result to `v0`.

    Constructors in com.io7m.jtensors with parameters of type VectorReadable2IType
    Constructor and Description
    `VectorI2I(VectorReadable2IType in_v)` Construct a vector initialized with the values given in the vector `v`.
    `VectorM2I(VectorReadable2IType in_v)` Construct a vector initialized with the values given in the vector `in_v`.

  - ### Uses of VectorReadable2IType in com.io7m.jtensors.bytebuffered

    Subinterfaces of VectorReadable2IType in com.io7m.jtensors.bytebuffered
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `VectorByteBuffered2IType` The type of `Vector2IType` values that are also byte buffered.
    `interface` | `VectorByteBuffered3IType` The type of `Vector3IType` values that are also byte buffered.
    `interface` | `VectorByteBuffered4IType` The type of `Vector4IType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered that implement VectorReadable2IType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `VectorByteBufferedM2I` A three-element vector type with `int` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM3I` A three-element vector type with `int` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM4I` A four-element vector type with `int` elements, packed into a `ByteBuffer`.

    Methods in com.io7m.jtensors.bytebuffered with parameters of type VectorReadable2IType
    Modifier and Type | Method and Description
    --- | ---
    `void` | VectorByteBufferedM4I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | VectorByteBufferedM3I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | VectorByteBufferedM2I.`copyFrom2I(VectorReadable2IType in_v)`

  - ### Uses of VectorReadable2IType in com.io7m.jtensors.bytebuffered.parameterized

    Subinterfaces of VectorReadable2IType in com.io7m.jtensors.bytebuffered.parameterized
    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.

    Classes in com.io7m.jtensors.bytebuffered.parameterized that implement VectorReadable2IType
    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`.

    Methods in com.io7m.jtensors.bytebuffered.parameterized with parameters of type VectorReadable2IType
    Modifier and Type | Method and Description
    --- | ---
    `void` | PVectorByteBufferedM4I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | PVectorByteBufferedM3I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | PVectorByteBufferedM2I.`copyFrom2I(VectorReadable2IType in_v)`

  - ### Uses of VectorReadable2IType in com.io7m.jtensors.parameterized

    Subinterfaces of VectorReadable2IType in com.io7m.jtensors.parameterized
    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` | `PVectorReadable2IType<T>` 'Read' interface to phantom-typed two-dimensional vectors with integer 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.

    Classes in com.io7m.jtensors.parameterized that implement VectorReadable2IType
    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.

    Methods in com.io7m.jtensors.parameterized with parameters of type VectorReadable2IType
    Modifier and Type | Method and Description
    --- | ---
    `void` | PVectorM4I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | PVectorM3I.`copyFrom2I(VectorReadable2IType in_v)`
    `void` | PVectorM2I.`copyFrom2I(VectorReadable2IType in_v)`

Copyright © 2015 <code@io7m.com> http://io7m.com