From da7972ad371e9836f06f9142df37a9ff7dd98a42 Mon Sep 17 00:00:00 2001
From: chrisbrandtner <chrisbrandtner@ebc5dd9b-fb1d-0410-b6f8-d24c324e9604>
Date: Fri, 13 Feb 2009 13:26:39 +0000
Subject: [PATCH] Added explicit operators for converting single-precision
 Vector234 <-> double-precision Vector234d.

---
 Source/OpenTK/Math/Vector2d.cs | Bin 47910 -> 49304 bytes
 Source/OpenTK/Math/Vector3d.cs | Bin 79624 -> 81058 bytes
 Source/OpenTK/Math/Vector4d.cs |  16 ++++++++++++++++
 3 files changed, 16 insertions(+)

diff --git a/Source/OpenTK/Math/Vector2d.cs b/Source/OpenTK/Math/Vector2d.cs
index c4c2d734632448662dfb16ec355e34bdc2097dca..d2d81a52a9c1515d84e7ed301569c679a7170cff 100644
GIT binary patch
delta 494
zcmZ4XjcG<B^M<fBlOIS(@jEl*GvqOpF{CmSF_bVAPcGz?6xCx01M-uB{CuFO5rYDV
z1(Fd&mr0qdxWk{_h(U?Ljv-|7MiW`?WQ2K>Ct7Gu7Kl|6ECQNV%uvdZ12iWSXj}SZ
zMs8t7y~!8dUHMZPDi{iYGMPa8G8sxH8!i={{6#=WQ~|>cWei4>4@#L&RtV>tyv9IE
zTmk56BL+Q&2nHRX3nA=C28GFnn~ZV!3~1*@Sz%_VZ}`!C1M&-}5km^xH=>gd$g&86
zLO}uOI(Rt2{H2WHFQ7Wqki+RmepGcDzz`8-1^FQb$&X@|8bA{@7}9{@lh2R{3_VS-
UKU3ho#x4g5h5XHv)=c380M+7idjJ3c

delta 18
acmbQy$h_<u(}u7$lLPc@HnVJ+!Uq6Or3b|T

diff --git a/Source/OpenTK/Math/Vector3d.cs b/Source/OpenTK/Math/Vector3d.cs
index 7789db41a22fa928304bf9edc997810d9fbcafbc..0bb65b4694f06110eca6f9e83af27ba24e8acdfd 100644
GIT binary patch
delta 514
zcmeBp$Fk@rOT!jMA&tofN>cpJ4EYRs3}p<d3`Gnj48@ZRIVDB)7{Y-3WFS8uC~C~0
z0Ahh;81*JAUJ{;u#F){C(RlKEF-dW#Bv45*vO$v#W!0w}=rBr6ZfND0zJQBSVX}Y-
z+vK1i7sXVD3WfrP9EMDwj!dAz3P61YVCxeh7EYe%Cp!6xlmM#&&{@WlKT4TT-q6H1
zU515GWby((Hbt;7gC0W!gAPzLPzjJ7iNubYevp&VADhQO&i55&hI)n{&70E?8Z-Jc
z8#APUJT^JNlVkEc5e`mx*kF2TdV?k-3&>A~1pNebC`yn{z9=Qm3UYc1ivL2588m=O
pH5k%>0hG@G3J^`O4^!a&#V!Z&KXy5Ac$iLp5NEU9PlIt69{}mQcGv&_

delta 21
dcmZ4VlcnPwOT!jMA&too;%v6R&}H1k2LNmD2`c~q

diff --git a/Source/OpenTK/Math/Vector4d.cs b/Source/OpenTK/Math/Vector4d.cs
index 29d1694d..76a253a8 100644
--- a/Source/OpenTK/Math/Vector4d.cs
+++ b/Source/OpenTK/Math/Vector4d.cs
@@ -903,6 +903,22 @@ namespace OpenTK.Math
             }
         }
 
+        /// <summary>Converts OpenTK.Math.Vector4 to OpenTK.Math.Vector4d.</summary>
+        /// <param name="v4">The Vector4 to convert.</param>
+        /// <returns>The resulting Vector4d.</returns>
+        public static explicit operator Vector4d( Vector4 v4 )
+        {
+            return new Vector4d( v4.X, v4.Y, v4.Z, v4.W );
+        }
+
+        /// <summary>Converts OpenTK.Math.Vector4d to OpenTK.Math.Vector4.</summary>
+        /// <param name="v4d">The Vector4d to convert.</param>
+        /// <returns>The resulting Vector4.</returns>
+        public static explicit operator Vector4( Vector4d v4d )
+        {
+            return new Vector4( (float)v4d.X, (float)v4d.Y, (float)v4d.Z, (float)v4d.W );
+        }
+
         #endregion
 
         #region Overrides