aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers/FrameworkPortability.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ProtocolBuffers/FrameworkPortability.cs')
-rw-r--r--src/ProtocolBuffers/FrameworkPortability.cs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ProtocolBuffers/FrameworkPortability.cs b/src/ProtocolBuffers/FrameworkPortability.cs
index 78b7db31..fee8fbac 100644
--- a/src/ProtocolBuffers/FrameworkPortability.cs
+++ b/src/ProtocolBuffers/FrameworkPortability.cs
@@ -63,6 +63,28 @@ namespace Google.ProtocolBuffers
get { return CultureInfo.InvariantCulture; }
}
+ internal static double Int64ToDouble(long value)
+ {
+#if CLIENTPROFILE
+ return BitConverter.Int64BitsToDouble(value);
+#else
+ double[] arresult = new double[1];
+ Buffer.BlockCopy(new[] { value }, 0, arresult, 0, 8);
+ return arresult[0];
+#endif
+ }
+
+ internal static long DoubleToInt64(double value)
+ {
+#if CLIENTPROFILE
+ return BitConverter.DoubleToInt64Bits(value);
+#else
+ long[] arresult = new long[1];
+ Buffer.BlockCopy(new[] { value }, 0, arresult, 0, 8);
+ return arresult[0];
+#endif
+ }
+
internal static bool TryParseInt32(string text, out int number)
{
return TryParseInt32(text, NumberStyles.Any, InvariantCulture, out number);