Author: luc
Date: Thu Aug 9 08:07:25 2012
New Revision: 1371082
URL: http://svn.apache.org/viewvc?rev=1371082&view=rev
Log:
added a function to raise a double to an int power
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/util/FastMath.java
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/util/FastMath.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/util/FastMath.java?rev=1371082&r1=1371081&r2=1371082&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/util/FastMath.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/util/FastMath.java
Thu Aug 9 08:07:25 2012
@@ -1582,6 +1582,34 @@ public class FastMath {
/**
+ * Raise a double to an int power.
+ *
+ * @param d Number to raise.
+ * @param e Exponent.
+ * @return d<sup>e</sup>
+ */
+ public static double pow(double d, int e) {
+ if (e == 0) {
+ return 1.0;
+ } else if (e < 0) {
+ e = -e;
+ d = 1.0 / d;
+ }
+
+ double result = 1;
+ double d2p = d;
+ while (e != 0) {
+ if ((e & 0x1) != 0) {
+ result *= d2p;
+ }
+ d2p *= d2p;
+ e = e >> 1;
+ }
+
+ return result;
+ }
+
+ /**
* Computes sin(x) - x, where |x| < 1/16.
* Use a Remez polynomial approximation.
* @param x a number smaller than 1/16