/// <summary> /// Parses the string to quaternion. /// </summary> /// <remarks> /// Example: "[1, -2; 3.2, -.13]"; /// The dimension of the vector must be 4. /// </remarks> /// <param name="s">Input string</param> /// <returns>Quaternion</returns> public static Quaternion32 Parse(string s) { string[] cols = StringOptions.Matpar(s); string[] nums = cols[0].Split('|'); if (cols.Length > 1 || nums.Length != 4) { throw new Exception("The input string was in the wrong format"); } return(new Quaternion32(float.Parse(nums[0]), float.Parse(nums[1]), float.Parse(nums[2]), float.Parse(nums[3]))); }
/// <summary> /// Parses the string to complex number. /// <remarks> /// Example: "1 + 2i", "0.321 + 11i", ".1i". /// </remarks> /// </summary> /// <param name="s">Input string</param> /// <returns>Text as a sequence of Unicode characters</returns> public static Complex32 Parse(string s) { return(StringOptions.Compar(s)); }
/// <summary> /// Converts quaternion to its corresponding string representation. /// </summary> /// <param name="format">Format string</param> /// <returns>Text as a sequence of Unicode characters</returns> public string ToString(string format) { return(StringOptions.Disp(new float[] { this.X, this.Y, this.Z, this.W }, format, StringOptions.Q)); }
/// <summary> /// Converts complex number to its corresponding string representation. /// </summary> /// <param name="format">Format string</param> /// <returns>Text as a sequence of Unicode characters</returns> public string ToString(string format) { return(StringOptions.Disp(new float[] { this.Real, this.Imag }, format, StringOptions.C)); }