Anonymous avatar Anonymous committed 0f3a54c

Better comments about fast_exponentiation

Comments (0)

Files changed (1)

     #Single loop version is faster and uses less memory
     #MSB is always 1 so skip testing it and start with result = a
     msbe = int(math.ceil(math.log(e,2))) - 2  #Find MSB-1 of exponent
-    test = long(1 << msbe)
-    a %= n                      #Throw away any overflow
+    test = long(1 << msbe)      #Isolate each exponent bit with test value
+    a %= n                      #Throw away any overflow modulo n
     result = a                  #Start with result = a (skip MSB test)
     while test != 0:
         if e & test != 0:       #If exponent bit 1 square and mult by a
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.