]> git.llucax.com Git - z.facultad/75.29/dale.git/commitdiff
El signo no necesita ser mutable.
authorAlberto Bertogli <albertogli@telpin.com.ar>
Wed, 5 Oct 2005 05:27:43 +0000 (05:27 +0000)
committerAlberto Bertogli <albertogli@telpin.com.ar>
Wed, 5 Oct 2005 05:27:43 +0000 (05:27 +0000)
src/number.h

index 27d19a848d027b2d59f9d783dcaf8b7b328f7eca..8fd7efc0003f60c3c2e3f2b4b28e1cc9f981d3a5 100644 (file)
@@ -105,7 +105,7 @@ struct number
 
        // Atributos
        //private:
-       chunk_type chunk;
+       mutable chunk_type chunk;
        sign_type sign;
 
        // Helpers
@@ -410,8 +410,9 @@ std::ostream& operator<< (std::ostream& os, const number< NN, EE >& n)
                os << "+ ";
        else
                os << "- ";
-       for (typename number< NN, EE >::const_reverse_iterator i = n.chunk.rbegin();
-                       i != n.chunk.rend(); ++i)
+       typename number< NN, EE >::const_reverse_iterator i = n.chunk.rbegin();
+       typename number< NN, EE >::const_reverse_iterator end = n.chunk.rend();
+       for (; i != end; ++i)
                os << std::setfill('0') << std::setw(sizeof(NN) * 2) << std::hex
                        << *i << " ";
        return os;
@@ -519,7 +520,7 @@ std::pair< number< N, E >, number< N, E > > number< N, E >::split() const
 
 
 template < typename N, typename E >
-void normalize_length(number< N, E >& u, number< N, E >& v)
+void normalize_length(const number< N, E >& u, const number< N, E >& v)
 {
        typedef number< N, E > num_type;
        typename num_type::size_type max, p, t, pot2;
@@ -554,6 +555,7 @@ void normalize_length(number< N, E >& u, number< N, E >& v)
 template < typename N, typename E >
 number < N, E > naif(const number< N, E > &u, const number< N, E > &v)
 {
+       normalize_length(u, v);
        typedef number< N, E > num_type;
 
        // tomo el chunk size de u (el de v DEBE ser el mismo)