changeset 729:8323734d58c8

Fixed few errors in blv walking commit.
author Nomad
date Fri, 22 Mar 2013 00:27:11 +0200
parents 9f596a163257
children 79ad0526166c e0a8cc28caeb
files mm7_4.cpp
diffstat 1 files changed, 26 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mm7_4.cpp	Fri Mar 22 00:06:50 2013 +0200
+++ b/mm7_4.cpp	Fri Mar 22 00:27:11 2013 +0200
@@ -243,7 +243,7 @@
   int v13; // ecx@13
   signed int v14; // ebx@14
   int v15; // eax@16
-  int v16; // edx@19
+  //int v16; // edx@19
   int v17; // ST18_4@19
   signed int v18; // edx@19
   signed __int64 v19; // qtt@19
@@ -310,7 +310,20 @@
             v13 = i;
             v14 = word_721460[i + 1] >= x ? 0 : 2;
             v15 = v14 | word_721460[i] < x;
-            if ( v15 != 3 )
+
+            if ( !v15)
+              ++v53;
+            else
+            {
+              //v16 = word_721390[i];
+              v17 = word_721390[i + 1] - word_721390[i];
+              v18 = y - word_721390[i];
+              LODWORD(v19) = v18 << 16;
+              HIDWORD(v19) = v18 >> 16;
+              if ((signed int)(((unsigned __int64)(((signed int)word_721460[i + 1] - (signed int)word_721460[i]) * v19 / v17) >> 16) + word_721460[i]) >= x)
+                ++v53;
+            }
+            /*if ( v15 != 3 )
             {
               if ( !v15 )
               {
@@ -320,7 +333,7 @@
                 if ( v16 >= x)
                   ++v53;
               }
-            }
+            }*/
           }
           v48 = v50;
         }
@@ -381,11 +394,17 @@
               if ( v29 != 3 )
               {
                 if ( !v29 )
-                  LODWORD(v33) = (y - word_721390[i]) << 16;
-                  HIDWORD(v33) = (y - word_721390[i]) >> 16;
-                  v30 = ((((word_721460[i + 1] - word_721460[i]) * v33 / (word_721390[i + 1] - word_721390[i])) >> 16) + word_721460[i]);
-                  if ( v30 >= x)
+                  ++v54;
+                else
+                {
+                  //v30 = word_721390[v27];
+                  v31 = word_721390[i + 1] - word_721390[i];
+                  v32 = y - word_721390[i];
+                  LODWORD(v33) = v32 << 16;
+                  HIDWORD(v33) = v32 >> 16;
+                  if ((signed int)(((unsigned __int64)(((signed int)word_721460[i + 1] - (signed int)word_721460[i]) * v33 / v31) >> 16) + word_721460[i]) >= x)
                     ++v54;
+                }
               }
             }
             v49 = v47;