You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2017/07/06 13:07:03 UTC
[06/14] lucenenet git commit: Lucene.Net.Support.MathExtension:
Renamed MathExtensions and added overloads of ToRadians() for decimal and int,
and added the inverse ToDegrees() methods
Lucene.Net.Support.MathExtension: Renamed MathExtensions and added overloads of ToRadians() for decimal and int, and added the inverse ToDegrees() methods
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/bfccac02
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/bfccac02
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/bfccac02
Branch: refs/heads/master
Commit: bfccac0261df6761700706007c4b3e42f0903b5b
Parents: 8543b7a
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Thu Jul 6 16:53:22 2017 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Thu Jul 6 16:53:22 2017 +0700
----------------------------------------------------------------------
src/Lucene.Net/Lucene.Net.csproj | 2 +-
src/Lucene.Net/Support/MathExtension.cs | 34 ----------
src/Lucene.Net/Support/MathExtensions.cs | 93 +++++++++++++++++++++++++++
src/Lucene.Net/Util/SloppyMath.cs | 2 +-
4 files changed, 95 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/bfccac02/src/Lucene.Net/Lucene.Net.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 2a6b11d..c0c02d3 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -679,7 +679,7 @@
<Compile Include="Support\LinkedHashMap.cs" />
<Compile Include="Support\ListExtensions.cs" />
<Compile Include="Support\LurchTable.cs" />
- <Compile Include="Support\MathExtension.cs" />
+ <Compile Include="Support\MathExtensions.cs" />
<Compile Include="Support\IO\MemoryMappedFileByteBuffer.cs" />
<Compile Include="Support\NumberFormat.cs" />
<Compile Include="Support\PriorityQueue.cs" />
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/bfccac02/src/Lucene.Net/Support/MathExtension.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Support/MathExtension.cs b/src/Lucene.Net/Support/MathExtension.cs
deleted file mode 100644
index ce12d4a..0000000
--- a/src/Lucene.Net/Support/MathExtension.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-
-namespace Lucene.Net.Support
-{
- /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- public static class MathExtension
- {
- /// <summary>
- /// Convert to Radians.
- /// </summary>
- /// <param name="val">The value to convert to radians</param>
- /// <returns>The value in radians</returns>
- public static double ToRadians(this double val)
- {
- return (Math.PI / 180) * val;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/bfccac02/src/Lucene.Net/Support/MathExtensions.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Support/MathExtensions.cs b/src/Lucene.Net/Support/MathExtensions.cs
new file mode 100644
index 0000000..32da6f4
--- /dev/null
+++ b/src/Lucene.Net/Support/MathExtensions.cs
@@ -0,0 +1,93 @@
+using System;
+
+namespace Lucene.Net.Support
+{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ public static class MathExtensions
+ {
+ /// <summary>
+ /// Converts an angle measured in degrees to an approximately equivalent angle
+ /// measured in radians. The conversion from degrees to radians is generally inexact.
+ /// </summary>
+ /// <param name="degrees">An angle in degrees to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static double ToRadians(this double degrees)
+ {
+ return degrees / 180 * Math.PI;
+ }
+
+ /// <summary>
+ /// Converts an angle measured in degrees to an approximately equivalent angle
+ /// measured in radians. The conversion from degrees to radians is generally inexact.
+ /// </summary>
+ /// <param name="degrees">An angle in degrees to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static decimal ToRadians(this decimal degrees)
+ {
+ return degrees / (decimal)(180 * Math.PI);
+ }
+
+ /// <summary>
+ /// Converts an angle measured in degrees to an approximately equivalent angle
+ /// measured in radians. The conversion from degrees to radians is generally inexact.
+ /// </summary>
+ /// <param name="degrees">An angle in degrees to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static double ToRadians(this int degrees)
+ {
+ return ((double)degrees) / 180 * Math.PI;
+ }
+
+ /// <summary>
+ /// Converts an angle measured in radians to an approximately equivalent angle
+ /// measured in degrees. The conversion from radians to degrees is generally
+ /// inexact; users should not expect Cos((90.0).ToRadians()) to exactly equal 0.0.
+ /// </summary>
+ /// <param name="radians">An angle in radians to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static double ToDegrees(this double radians)
+ {
+ return radians * 180 / Math.PI;
+ }
+
+ /// <summary>
+ /// Converts an angle measured in radians to an approximately equivalent angle
+ /// measured in degrees. The conversion from radians to degrees is generally
+ /// inexact; users should not expect Cos((90.0).ToRadians()) to exactly equal 0.0.
+ /// </summary>
+ /// <param name="radians">An angle in radians to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static decimal ToDegrees(this decimal radians)
+ {
+ return radians * 180 / (decimal)Math.PI;
+ }
+
+ /// <summary>
+ /// Converts an angle measured in radians to an approximately equivalent angle
+ /// measured in degrees. The conversion from radians to degrees is generally
+ /// inexact; users should not expect Cos((90.0).ToRadians()) to exactly equal 0.0.
+ /// </summary>
+ /// <param name="radians">An angle in radians to convert to radians</param>
+ /// <returns>The value in radians</returns>
+ public static double ToDegrees(this int radians)
+ {
+ return ((double)radians) * 180 / Math.PI;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/bfccac02/src/Lucene.Net/Util/SloppyMath.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Util/SloppyMath.cs b/src/Lucene.Net/Util/SloppyMath.cs
index e7a3d09..bbcfa18 100644
--- a/src/Lucene.Net/Util/SloppyMath.cs
+++ b/src/Lucene.Net/Util/SloppyMath.cs
@@ -194,7 +194,7 @@ namespace Lucene.Net.Util
// Supposed to be >= sin(77.2deg), as fdlibm code is supposed to work with values > 0.975,
// but seems to work well enough as long as value >= sin(25deg).
- private static readonly double ASIN_MAX_VALUE_FOR_TABS = Math.Sin(MathExtension.ToRadians(73.0));
+ private static readonly double ASIN_MAX_VALUE_FOR_TABS = Math.Sin(73.0.ToRadians());
private static readonly int ASIN_TABS_SIZE = (1 << 13) + 1;
private static readonly double ASIN_DELTA = ASIN_MAX_VALUE_FOR_TABS / (ASIN_TABS_SIZE - 1);