Class FloatMath

java.lang.Object
ffx.numerics.math.FloatMath

public class FloatMath extends Object
The FloatMath class is a simple math library that operates on 3-coordinate float arrays.

All methods are static and thread-safe.

Use instances of Float3 for convenience.

Since:
1.0
Author:
Michael J. Schnieders
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static float[]
    add(float[] a, float[] b)
    sum
    static float[]
    add(float[] a, float[] b, float[] ret)
    sum
    static float
    angle(float[] i, float[] j)
    angle
    static float
    bondAngle(float[] i, float[] j, float[] k)
    Finds the angle formed by three atoms
    static float
    dihedralAngle(float[] a, float[] b, float[] c, float[] d)
    Finds the dihedral angle formed between 4 atoms
    static float
    dist(float[] a, float[] b)
    Finds the distance between two vectors.
    static float
    dist2(float[] a, float[] b)
    Finds the squared distance between two vectors.
    static float
    dot(float[] a, float[] b)
    Finds the dot product between two vectors.
    static float[]
    fma(float[] a, float b, float[] c)
    Compute a * b + c and return the result in a new array.
    static float[]
    fma(float[] a, float b, float[] c, float[] ret)
    Compute a * b + c.
    static float
    length(float[] d)
    Finds the length of a vector.
    static float
    length2(float[] d)
    Finds the length of a vector squared.
    static void
    log(float[] v)
    logVector
    static void
    log(float[] v, String label)
    logVector.
    static float[]
    normalize(float[] n)
    Normalizes a vector.
    static float[]
    normalize(float[] n, float[] ret)
    Normalizes a vector.
    static float[]
    scale(float[] n, float a)
    Scales a vector.
    static float[]
    scale(float[] n, float a, float[] ret)
    Scales a vector.
    static float[]
    square(float[] n)
    Squares values of a vector.
    static float[]
    square(float[] n, float[] ret)
    Squares values of a vector.
    static float[]
    squareRoot(float[] n)
    Square root values of a vector.
    static float[]
    squareRoot(float[] n, float[] ret)
    Square root values of a vector.
    static float[]
    sub(float[] a, float[] b)
    Finds the difference between two vectors.
    static float[]
    sub(float[] a, float[] b, float[] ret)
    Finds the difference between two vectors
    static String
    toString(float[] v)
    logVector.
    static String
    toString(float[] v, String label)
    vectorToString.
    static float[]
    X(float[] a, float[] b)
    Finds the cross-product between two vectors.
    static float[]
    X(float[] a, float[] b, float[] ret)
    Finds the cross-product between two vectors.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FloatMath

      public FloatMath()
  • Method Details

    • fma

      public static float[] fma(float[] a, float b, float[] c)
      Compute a * b + c and return the result in a new array.
      Parameters:
      a - First vector.
      b - Scalar.
      c - Second vector.
      Returns:
      Returns a * b + c.
    • fma

      public static float[] fma(float[] a, float b, float[] c, float[] ret)
      Compute a * b + c.
      Parameters:
      a - First vector.
      b - Scalar.
      c - Second vector.
      ret - Result vector.
      Returns:
      Returns a * b + c in the vector ret.
    • X

      public static float[] X(float[] a, float[] b)
      Finds the cross-product between two vectors.
      Parameters:
      a - First vector.
      b - Second vector.
      Returns:
      Returns the cross-product.
    • X

      public static float[] X(float[] a, float[] b, float[] ret)
      Finds the cross-product between two vectors.
      Parameters:
      a - First vector.
      b - Second vector.
      ret - The cross-product of a x b.
      Returns:
      Returns the cross-product ret.
    • add

      public static float[] add(float[] a, float[] b)
      sum
      Parameters:
      a - an array of float.
      b - an array of float.
      Returns:
      Returns the array ret.
    • add

      public static float[] add(float[] a, float[] b, float[] ret)
      sum
      Parameters:
      a - an array of float.
      b - an array of float.
      ret - an array of float.
      Returns:
      Returns the array ret.
    • angle

      public static float angle(float[] i, float[] j)
      angle
      Parameters:
      i - an array of float.
      j - an array of float.
      Returns:
      Returns the angle.
    • bondAngle

      public static float bondAngle(float[] i, float[] j, float[] k)
      Finds the angle formed by three atoms
      Parameters:
      i - Atom position vector.
      j - Atom position vector (central atom).
      k - Atom position vector.
      Returns:
      Returns the angle in the range [ -pi, pi ].
    • dihedralAngle

      public static float dihedralAngle(float[] a, float[] b, float[] c, float[] d)
      Finds the dihedral angle formed between 4 atoms
      Parameters:
      a - Atom position vector.
      b - Atom position vector.
      c - Atom position vector.
      d - Atom position vector.
      Returns:
      The dihedral angle in the range [ -pi, pi ].
    • dist

      public static float dist(float[] a, float[] b)
      Finds the distance between two vectors.
      Parameters:
      a - First vector.
      b - Second vector.
      Returns:
      Returns the distance between vectors a and b.
    • dist2

      public static float dist2(float[] a, float[] b)
      Finds the squared distance between two vectors.
      Parameters:
      a - First vector.
      b - Second vector.
      Returns:
      Returns the squared distance between vectors a and b.
    • dot

      public static float dot(float[] a, float[] b)
      Finds the dot product between two vectors.
      Parameters:
      a - First vector.
      b - Second vector.
      Returns:
      Returns the dot product of a and b.
    • length

      public static float length(float[] d)
      Finds the length of a vector.
      Parameters:
      d - A vector to find the length of.
      Returns:
      Returns the length of vector d.
    • length2

      public static float length2(float[] d)
      Finds the length of a vector squared.
      Parameters:
      d - A vector to find the length of squared.
      Returns:
      Returns the length of vector d squared.
    • log

      public static void log(float[] v)
      logVector
      Parameters:
      v - an array of float.
    • log

      public static void log(float[] v, String label)
      logVector.
      Parameters:
      v - an array of
      invalid reference
      float
      objects.
      label - a String object.
    • normalize

      public static float[] normalize(float[] n)
      Normalizes a vector.
      Parameters:
      n - A vector to be normalized.
      Returns:
      Returns the normalized vector.
    • normalize

      public static float[] normalize(float[] n, float[] ret)
      Normalizes a vector.
      Parameters:
      n - A vector to be normalized.
      ret - The normalized vector.
      Returns:
      Returns the normalized vector.
    • scale

      public static float[] scale(float[] n, float a)
      Scales a vector.
      Parameters:
      n - A vector to be scaled.
      a - A scalar value.
      Returns:
      Returns the scaled vector.
    • scale

      public static float[] scale(float[] n, float a, float[] ret)
      Scales a vector.
      Parameters:
      n - A vector to be scaled.
      a - A scalar value.
      ret - The scaled Vector.
      Returns:
      Returns the array ret.
    • square

      public static float[] square(float[] n)
      Squares values of a vector.
      Parameters:
      n - A vector to be squared.
      Returns:
      Returns the squared vector.
    • square

      public static float[] square(float[] n, float[] ret)
      Squares values of a vector.
      Parameters:
      n - A vector to be squared.
      ret - The squared vector.
      Returns:
      Returns the array ret.
    • squareRoot

      public static float[] squareRoot(float[] n)
      Square root values of a vector.
      Parameters:
      n - A vector to determine square root.
      Returns:
      Returns the rooted vector.
    • squareRoot

      public static float[] squareRoot(float[] n, float[] ret)
      Square root values of a vector.
      Parameters:
      n - A vector to determine square root.
      ret - The rooted vector.
      Returns:
      Returns the array ret.
    • sub

      public static float[] sub(float[] a, float[] b)
      Finds the difference between two vectors.
      Parameters:
      a - First vector
      b - Second vector
      Returns:
      Returns the difference ret.
    • sub

      public static float[] sub(float[] a, float[] b, float[] ret)
      Finds the difference between two vectors
      Parameters:
      a - First vector
      b - Second vector
      ret - Return Values
      Returns:
      Returns the difference ret.
    • toString

      public static String toString(float[] v)
      logVector.
      Parameters:
      v - an array of float.
      Returns:
      Returns a String description of the vector.
    • toString

      public static String toString(@Nullable float[] v, @Nullable String label)
      vectorToString.
      Parameters:
      v - an array of
      invalid reference
      float
      objects.
      label - a String object.
      Returns:
      Returns a String description of the vector.