Beispiel #1
0
        /// <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])));
        }
Beispiel #2
0
 /// <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));
 }
Beispiel #3
0
 /// <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));
 }
Beispiel #4
0
 /// <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));
 }