[gnome-calculator] Fixed for negative exponents in modular	exponentiation
- From: Arth Patel <arthpatel src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [gnome-calculator] Fixed for negative exponents in modular	exponentiation
 
- Date: Mon, 20 May 2013 11:13:35 +0000 (UTC)
 
commit 85560404c6ba45ee76df13820ac7806fdf209079
Author: Garima Joshi <garimajoshi3 yahoo in>
Date:   Mon May 20 02:37:25 2013 +0530
    Fixed for negative exponents in modular exponentiation
 src/number.vala |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/number.vala b/src/number.vala
index 12d52ef..4f40de1 100644
--- a/src/number.vala
+++ b/src/number.vala
@@ -1174,9 +1174,11 @@ public class Number
     /* Sets z = x ^ y mod p */
     public Number modular_exponentiation (Number exp, Number mod)
     {
+        var base_value = this.copy ();
+        if (exp.is_negative ())
+            base_value = base_value.reciprocal ();
+        var exp_value = exp.abs ();
         var ans = new Number.integer (1);
-        var base_value = modulus_divide (mod);
-        var exp_value = exp.copy ();
         var two = new Number.integer (2);
         while (!exp_value.is_zero ())
         {
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]