/// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="x">The X component of the vector.</param>
 /// <param name="y">The Y component of the vector.</param>
 /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
 public Vector2h(float x, float y, bool throwOnError)
 {
     X = new Half(x, throwOnError);
     Y = new Half(y, throwOnError);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="x">The X component of the vector.</param>
 /// <param name="y">The Y component of the vector.</param>
 public Vector2h(Half x, Half y)
 {
     X = x;
     Y = y;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="x">The X component of the vector.</param>
 /// <param name="y">The Y component of the vector.</param>
 public Vector2h(float x, float y)
 {
     X = new Half(x);
     Y = new Half(y);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="value">The value that will initialize this instance.</param>
 public Vector2h(float value)
 {
     X = new Half(value);
     Y = new Half(value);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="value">The value that will initialize this instance.</param>
 public Vector2h(Half value)
 {
     X = value;
     Y = value;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="v">The <see cref="Vector2d"/> to convert.</param>
 /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
 public Vector2h(ref Vector2d v, bool throwOnError)
 {
     X = new Half(v.X, throwOnError);
     Y = new Half(v.Y, throwOnError);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="v">The <see cref="Vector2d"/> to convert.</param>
 public Vector2h(ref Vector2d v)
 {
     X = new Half(v.X);
     Y = new Half(v.Y);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Vector2h"/> struct.
 /// </summary>
 /// <param name="v">The <see cref="Vector2"/> to convert.</param>
 public Vector2h(Vector2 v)
 {
     X = new Half(v.X);
     Y = new Half(v.Y);
 }