code: public Quaterniond mul(float x, float y, float z, float w) {
          return mul((double) x, (double) y, (double) z, (double) w);
      }
docs: Multiplies the float components of another quaternion with this one.
  
  @param x The x (imaginary) component of the quaternion to multiply with
  @param y The y (imaginary) component of the quaternion to multiply with
  @param z The z (imaginary) component of the quaternion to multiply with
  @param w The w (real) component of the quaternion to multiply with
  @return A new quaternion, which is the product of both