~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to src/blas/gemm/ATL_mmJIK.c

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2013-06-11 15:58:16 UTC
  • mfrom: (1.1.3 upstream)
  • mto: (2.2.21 experimental)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: package-import@ubuntu.com-20130611155816-b72z8f621tuhbzn0
Tags: upstream-3.10.1
Import upstream version 3.10.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *             Automatically Tuned Linear Algebra Software v3.8.4
 
2
 *             Automatically Tuned Linear Algebra Software v3.10.1
3
3
 *                    (C) Copyright 1997 R. Clint Whaley
4
4
 *
5
5
 * Redistribution and use in source and binary forms, with or without
157
157
 
158
158
int Mjoin(PATL,mmJIK)(const enum ATLAS_TRANS TA, const enum ATLAS_TRANS TB,
159
159
                      const int M0, const int N, const int K,
160
 
                      const SCALAR alpha, const TYPE *A, const int lda,
161
 
                      const TYPE *B, const int ldb, const SCALAR beta,
162
 
                      TYPE *C, const int ldc)
 
160
                      const SCALAR alpha, const TYPE *A, const int lda0,
 
161
                      const TYPE *B, const int ldb0, const SCALAR beta,
 
162
                      TYPE *C, const int ldc0)
163
163
/*
164
164
 * Outer three loops for matmul with outer loop over columns of B
165
165
 */
166
166
{
167
167
   int M = M0;
168
 
   int nMb, nNb, nKb, ib, jb, kb, ib2, h, i, j, k, m, n, incA, incB, incC;
169
 
   const int incK = ATL_MulByNB(K);
 
168
   int nMb, nNb, nKb, ib, jb, kb, ib2, h, i, j, k, m, n;
 
169
   const size_t lda = lda0, ldb = ldb0, ldc = ldc0;
 
170
   const size_t incK = ATL_MulByNB((size_t)K);
 
171
   size_t incA, incB, incC;
170
172
   void *vB=NULL, *vC=NULL;
171
173
   TYPE *pA, *pB, *pC;
172
174
   MAT2BLK A2blk, B2blk;
272
274
            if (SCALAR_IS_ZERO(beta)) h = ldc;
273
275
            else if (pC == C)
274
276
            {
275
 
               pC = pA + M * K;
 
277
               pC = pA + ((size_t)M) * K;
276
278
               h = M;
277
279
            }
278
280
            else h = NB;