]> git.llucax.com Git - z.facultad/75.29/dale.git/blobdiff - src/number.h
Para que compile en Visual C++ 6
[z.facultad/75.29/dale.git] / src / number.h
index 4706d091d3bf31998f39975974966947f4e88bf8..c620513f0a868940492f47892e0d921d83437b98 100644 (file)
@@ -1,3 +1,9 @@
+#ifdef _WIN32\r
+//min y max entran en conflicto con la windows.h, son rebautizadas en Windows\r
+#define min _cpp_min\r
+#define max _cpp_max\r
+#endif\r
+\r
 #include <vector>
 #include <algorithm>
 #include <iterator>
 #include <vector>
 #include <algorithm>
 #include <iterator>
@@ -77,7 +83,9 @@ number< T >& number< T >::operator+= (const number< T >& n)
 {
        atomic_type c = 0;
        size_type ini = 0;
 {
        atomic_type c = 0;
        size_type ini = 0;
-       size_type fin = std::min(chunk.size(), n.chunk.size());
+       size_type fin = std::min(chunk.size(), n.chunk.size());\r
+       size_type i; //problema de VC++, da error de redefinición\r
+
        // "intersección" entre ambos chunks
        // +-----+-----+------+------+
        // |     |     |      |      | <--- mio
        // "intersección" entre ambos chunks
        // +-----+-----+------+------+
        // |     |     |      |      | <--- mio
@@ -88,7 +96,7 @@ number< T >& number< T >::operator+= (const number< T >& n)
        // 
        // |------------------|
        // Esto se procesa en este for
        // 
        // |------------------|
        // Esto se procesa en este for
-       for (size_type i = ini; i < fin; ++i)
+       for (i = ini; i < fin; ++i)
        {
                chunk[i] += n.chunk[i] + c;
                if (chunk[i] || (!n.chunk[i] && !c)) c = 0; // OK
        {
                chunk[i] += n.chunk[i] + c;
                if (chunk[i] || (!n.chunk[i] && !c)) c = 0; // OK
@@ -114,7 +122,7 @@ number< T >& number< T >::operator+= (const number< T >& n)
        // (suma los chunks de n propagando algún carry si lo había)
        ini = fin;
        fin = n.chunk.size();
        // (suma los chunks de n propagando algún carry si lo había)
        ini = fin;
        fin = n.chunk.size();
-       for (size_type i = ini; i < fin; ++i)
+       for (i = ini; i < fin; ++i)
        {
                chunk.push_back(n.chunk[i] + c); // Agrego nuevo átomo
                if (chunk[i] || !c) c = 0; // OK
        {
                chunk.push_back(n.chunk[i] + c); // Agrego nuevo átomo
                if (chunk[i] || !c) c = 0; // OK