Refs xianyi/OpenBLAS-CI#10 , Fix sdot for scipy test_iterative.test_convergence test...
authorZhang Xianyi <traits.zhang@gmail.com>
Wed, 6 Apr 2016 17:44:18 +0000 (01:44 +0800)
committerZhang Xianyi <traits.zhang@gmail.com>
Wed, 6 Apr 2016 17:44:18 +0000 (01:44 +0800)
kernel/x86_64/sdot.c

index a6da1fe..a3d20d2 100644 (file)
@@ -72,18 +72,20 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
 {
        BLASLONG i=0;
        BLASLONG ix=0,iy=0;
+       double dot = 0.0 ;
 
-       FLOAT  dot = 0.0 ;
+       FLOAT mydot=0.0;
+       BLASLONG n1;
 
        if ( n <= 0 )  return(dot);
 
        if ( (inc_x == 1) && (inc_y == 1) )
        {
 
-               BLASLONG n1 = n & -32;
+               n1 = n & (BLASLONG)(-32);
 
                if ( n1 )
-                       sdot_kernel_16(n1, x, y , &dot );
+                       sdot_kernel_16(n1, x, y , &mydot );
 
 
                i = n1;
@@ -94,12 +96,13 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
                        i++ ;
 
                }
+               dot+=mydot;
                return(dot);
 
 
        }
 
-       BLASLONG n1 = n & -2;
+       n1 = n & (BLASLONG)(-2);
 
        while(i < n1)
        {
@@ -124,4 +127,3 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
 
 }
 
-