]> git.llucax.com Git - z.facultad/75.29/dale.git/blobdiff - src/number.h
Potenciación con división y conquista.
[z.facultad/75.29/dale.git] / src / number.h
index 3d64955b9cfbedf2d13e9e6d4531afe4829eeee4..43ed0b9f28fdaa2a1d8ec037e30e1fc2dc1670b5 100644 (file)
@@ -297,8 +297,12 @@ template < typename N, typename E >
 std::ostream& operator<< (std::ostream& os, const number< N, E >& n)
 {
        // FIXME sacar una salida bonita en ASCII =)
-       for (typename number< N, E >::const_iterator i = n.chunk.begin();
-                       i != n.chunk.end(); ++i)
+       if (n.sign == positive)
+               os << "+ ";
+       else
+               os << "- ";
+       for (typename number< N, E >::const_reverse_iterator i = n.chunk.rbegin();
+                       i != n.chunk.rend(); ++i)
                os << std::setfill('0') << std::setw(sizeof(N) * 2) << std::hex
                        << *i << " ";
        return os;
@@ -520,7 +524,7 @@ number < N, E > pot_ko(const number< N, E > &u, const number< N, E > &v)
        res = u;
        res.sign = u.sign;
 
-       for (i = 1; i < v; i++) {
+       for (i = 1; i < v; i += 1) {
                res *= u;
        }