[BACK]Return to array.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/array.c between version 1.73 and 1.74

version 1.73, 2017/09/14 01:34:53 version 1.74, 2017/09/15 01:52:51
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.72 2017/08/31 08:08:25 ohara Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.73 2017/09/14 01:34:53 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 2357  void red_by_vect(int m,unsigned int *p,unsigned int *r
Line 2357  void red_by_vect(int m,unsigned int *p,unsigned int *r
 }  }
   
 #if defined(__GNUC__)  #if defined(__GNUC__)
 /* 128bit vector += UNIT vector(normalized) */  /* 64bit vector += UNIT vector(normalized) */
   
 void red_by_vect128(int m, U128 *p,U128 *r,unsigned int hc,int len)  void red_by_vect64(int m, U64 *p,unsigned int *c,U64 *r,unsigned int hc,int len)
 {  {
         *p++ = 0; r++; len--;    U64 t;
         for ( ; len; len--, r++, p++ )  
                 if ( *r ) {    /* (p[0],c[0]) is normalized */
             *p += (((U64)(*r))*((U64)hc));    *p++ = 0; *c++ = 0; r++; len--;
                 }    for ( ; len; len--, r++, p++, c++ )
       if ( *r ) {
         t = (*p)+(*r)*hc;
         if ( t < *p ) (*c)++;
         *p = t;
       }
 }  }
 #endif  #endif
   

Legend:
Removed from v.1.73  
changed lines
  Added in v.1.74

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>