From 513c33c90bcdd766676718782f1acee9b3e827fc Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Wed, 5 Dec 2012 11:49:53 +0100 Subject: [PATCH] Build: simplify compilation symbols --- .../BigIntegerExtensions.fs | 12 ++++++++---- src/FSharp/FSharp.fsproj | 5 +++-- src/FSharpPortable/FSharpPortable.fsproj | 8 +++++--- src/Numerics/Complex32.cs | 2 +- src/Numerics/Complex64.cs | 10 +--------- .../NumberTheory/IntegerTheory.Euclid.Big.cs | 2 +- src/Numerics/Numerics.csproj | 6 +++--- 7 files changed, 22 insertions(+), 23 deletions(-) rename src/{FSharpPortable => FSharp}/BigIntegerExtensions.fs (83%) diff --git a/src/FSharpPortable/BigIntegerExtensions.fs b/src/FSharp/BigIntegerExtensions.fs similarity index 83% rename from src/FSharpPortable/BigIntegerExtensions.fs rename to src/FSharp/BigIntegerExtensions.fs index 706a3567..16525cfa 100644 --- a/src/FSharpPortable/BigIntegerExtensions.fs +++ b/src/FSharp/BigIntegerExtensions.fs @@ -2,8 +2,10 @@ open System +#if PORTABLE + [] -module BigIntegerExtensions = +module BigIntegerExtensions = let private parse str = let len = String.length str @@ -12,19 +14,21 @@ module BigIntegerExtensions = acc else let c = str.[i] - let d = int c - int '0' + let d = int c - int '0' if 0 <= d && d <= 9 then build (10I * acc + (bigint d)) (i+1) else - raise (new FormatException("The value could not be parsed")) + raise (new FormatException("The value could not be parsed")) build 0I 0 type BigInteger with static member Parse(text: string) = - let len = text.Length + let len = text.Length if len = 0 then raise (new FormatException("The value could not be parsed")) if text.[0..0] = "-" then parse text.[1..len-1] |> bigint.Negate else parse text + +#endif diff --git a/src/FSharp/FSharp.fsproj b/src/FSharp/FSharp.fsproj index e0f6d1bb..5c9bd21a 100644 --- a/src/FSharp/FSharp.fsproj +++ b/src/FSharp/FSharp.fsproj @@ -19,7 +19,7 @@ false false ..\..\out\debug\Net40\ - DEBUG;TRACE + TRACE;DEBUG 3 @@ -38,7 +38,7 @@ pdbonly true true - TRACE + TRACE;STRONGNAME 3 ..\..\out\lib\Net40\MathNet.Numerics.FSharp.xml bin\Release-Signed\ @@ -59,6 +59,7 @@ + diff --git a/src/FSharpPortable/FSharpPortable.fsproj b/src/FSharpPortable/FSharpPortable.fsproj index 890b4b2d..6ec5ad09 100644 --- a/src/FSharpPortable/FSharpPortable.fsproj +++ b/src/FSharpPortable/FSharpPortable.fsproj @@ -19,7 +19,7 @@ false false ..\..\out\debug\Portable\ - TRACE;DEBUG;PORTABLE;FX_NO_BIGINT + TRACE;DEBUG;PORTABLE 3 @@ -29,7 +29,7 @@ true true ..\..\out\lib\Portable\ - TRACE;PORTABLE;FX_NO_BIGINT + TRACE;PORTABLE 3 ..\..\out\lib\Portable\MathNet.Numerics.FSharp.XML @@ -68,7 +68,9 @@ Complex.fs - + + BigIntegerExtensions.fs + BigRational.fsi diff --git a/src/Numerics/Complex32.cs b/src/Numerics/Complex32.cs index 43fa8465..bbeb7bad 100644 --- a/src/Numerics/Complex32.cs +++ b/src/Numerics/Complex32.cs @@ -1199,7 +1199,7 @@ namespace MathNet.Numerics return new Complex32(value, 0.0f); } -#if SYSNUMERICS +#if !PORTABLE /// /// Implicit conversion of a BigInteger int to a Complex32. /// diff --git a/src/Numerics/Complex64.cs b/src/Numerics/Complex64.cs index 72d55df6..9ef3a678 100644 --- a/src/Numerics/Complex64.cs +++ b/src/Numerics/Complex64.cs @@ -28,7 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // -#if !SYSNUMERICS +#if PORTABLE namespace System.Numerics { using System; @@ -38,10 +38,6 @@ namespace System.Numerics using MathNet.Numerics; using MathNet.Numerics.Properties; -#if !PORTABLE - using System.Runtime; -#endif - /// /// 64-bit double precision complex numbers class. /// @@ -722,11 +718,7 @@ namespace System.Numerics } } -#if PORTABLE var value = GlobalizationHelper.ParseSingle(ref token); -#else - var value = GlobalizationHelper.ParseSingle(ref token, format.GetCultureInfo()); -#endif // handle suffix imaginary symbol if (token != null && (String.Compare(token.Value, "i", StringComparison.OrdinalIgnoreCase) == 0 diff --git a/src/Numerics/NumberTheory/IntegerTheory.Euclid.Big.cs b/src/Numerics/NumberTheory/IntegerTheory.Euclid.Big.cs index aec35941..c277573b 100644 --- a/src/Numerics/NumberTheory/IntegerTheory.Euclid.Big.cs +++ b/src/Numerics/NumberTheory/IntegerTheory.Euclid.Big.cs @@ -28,7 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // -#if SYSNUMERICS +#if !PORTABLE namespace MathNet.Numerics.NumberTheory { using System; diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj index 6c590857..c008f289 100644 --- a/src/Numerics/Numerics.csproj +++ b/src/Numerics/Numerics.csproj @@ -43,7 +43,7 @@ true full false - TRACE;DEBUG;SYSNUMERICS + TRACE;DEBUG prompt 4 @@ -57,7 +57,7 @@ false pdbonly true - TRACE;SYSNUMERICS + TRACE prompt 4 AllRules.ruleset @@ -70,7 +70,7 @@ pdbonly AnyCPU true - TRACE;SYSNUMERICS;STRONGNAME + TRACE;STRONGNAME prompt 4 AllRules.ruleset