Changeset 18 for include/config-blas.h
- Timestamp:
- 04/28/07 20:58:32 (2 years ago)
- Files:
-
- 1 modified
-
include/config-blas.h (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
include/config-blas.h
r1 r18 1 1 /* -*- mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 /* linbox/algorithms/lifting-container-base.h2 /* config-blas.h 3 3 * Copyright (C) 2005 Pascal Giorgi 4 * 4 * 2007 Clement Pernet 5 5 * Written by Pascal Giorgi <pgiorgi@uwaterloo.ca> 6 6 * … … 51 51 // level 2 routines 52 52 void dgemv_ (const char*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*); 53 void sgemv_ (const char*, const int*, const int*, const float*, const float*, const int*, const float*, const int*, const float*, float*, const int*); 53 54 void dger_ (const int*, const int*, const double*, const double*, const int*, const double*, const int*, double*, const int*); 54 55 55 56 // level 3 routines 56 57 void dtrsm_ (const char*, const char*, const char*, const char*, const int*, const int*, const double*, const double*, const int*, double*, const int*); 58 void strsm_ (const char*, const char*, const char*, const char*, const int*, const int*, const float*, const float*, const int*, float*, const int*); 57 59 void dtrmm_ (const char*, const char*, const char*, const char*, const int*, const int*, const double*, const double*, const int*, double*, const int*); 60 void strmm_ (const char*, const char*, const char*, const char*, const int*, const int*, const float*, const float*, const int*, float*, const int*); 61 void sgemm_ (const char*, const char*, const int*, const int*, const int*, const float*, const float*, const int*, const float*, const int*, const float*, float*, const int*); 58 62 void dgemm_ (const char*, const char*, const int*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*); 59 63 } … … 128 132 dgemv_ ( EXT_BLAS_TRANSPOSE(TransA), &M, &N, &alpha, A, &lda, X, &incX, &beta, Y, &incY); 129 133 } 134 void cblas_sgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, 135 const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY) 136 { 137 if (Order == CblasRowMajor) 138 sgemv_ ( EXT_BLAS_TRANSPOSE_tr(TransA), &N, &M, &alpha, A, &lda, X, &incX, &beta, Y, &incY); 139 else 140 sgemv_ ( EXT_BLAS_TRANSPOSE(TransA), &M, &N, &alpha, A, &lda, X, &incX, &beta, Y, &incY); 141 } 130 142 131 143 void cblas_dger(const enum CBLAS_ORDER Order, const int M, const int N, const double alpha, const double *X, const int incX, … … 151 163 dtrsm_ ( EXT_BLAS_SIDE(Side), EXT_BLAS_UPLO(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &M, &N, &alpha, A, &lda, B, &ldb); 152 164 } 165 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 166 const enum CBLAS_DIAG Diag, const int M, const int N, const float alpha, const float *A, const int lda, 167 float *B, const int ldb) 168 { 169 if (Order == CblasRowMajor) 170 strsm_ ( EXT_BLAS_SIDE_tr(Side), EXT_BLAS_UPLO_tr(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &N, &M, &alpha, A, &lda, B, &ldb); 171 else 172 strsm_ ( EXT_BLAS_SIDE(Side), EXT_BLAS_UPLO(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &M, &N, &alpha, A, &lda, B, &ldb); 173 } 153 174 154 175 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, … … 160 181 else 161 182 dtrmm_ ( EXT_BLAS_SIDE(Side), EXT_BLAS_UPLO(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &M, &N, &alpha, A, &lda, B, &ldb); 183 } 184 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 185 const enum CBLAS_DIAG Diag, const int M, const int N, const float alpha, const float *A, const int lda, 186 float *B, const int ldb) 187 { 188 if (Order == CblasRowMajor) 189 strmm_ ( EXT_BLAS_SIDE_tr(Side), EXT_BLAS_UPLO_tr(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &N, &M, &alpha, A, &lda, B, &ldb); 190 else 191 strmm_ ( EXT_BLAS_SIDE(Side), EXT_BLAS_UPLO(Uplo), EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_DIAG(Diag), &M, &N, &alpha, A, &lda, B, &ldb); 162 192 } 163 193 … … 170 200 else 171 201 dgemm_ ( EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_TRANSPOSE(TransB), &M, &N, &K, &alpha, A, &lda, B, &ldb, &beta, C, &ldc); 202 } 203 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 204 const int K, const float alpha, const float *A, const int lda, const float *B, const int ldb, 205 const float beta, float *C, const int ldc) 206 { 207 if (Order == CblasRowMajor) 208 sgemm_ ( EXT_BLAS_TRANSPOSE(TransB), EXT_BLAS_TRANSPOSE(TransA), &N, &M, &K, &alpha, B, &ldb, A, &lda, &beta, C, &ldc); 209 else 210 sgemm_ ( EXT_BLAS_TRANSPOSE(TransA), EXT_BLAS_TRANSPOSE(TransB), &M, &N, &K, &alpha, A, &lda, B, &ldb, &beta, C, &ldc); 172 211 } 173 212 … … 226 265 void cblas_dgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha, 227 266 const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY); 267 268 void cblas_sgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, 269 const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY); 228 270 229 271 void cblas_dger(const enum CBLAS_ORDER Order, const int M, const int N, const double alpha, const double *X, const int incX, … … 237 279 double *B, const int ldb); 238 280 281 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 282 const enum CBLAS_DIAG Diag, const int M, const int N, const float alpha, const float *A, const int lda, 283 float *B, const int ldb); 284 239 285 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 240 286 const enum CBLAS_DIAG Diag, const int M, const int N, const double alpha, const double *A, const int lda, 241 287 double *B, const int ldb); 242 288 289 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 290 const enum CBLAS_DIAG Diag, const int M, const int N, const float alpha, const float *A, const int lda, 291 float *B, const int ldb); 292 243 293 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 244 294 const int K, const double alpha, const double *A, const int lda, const double *B, const int ldb, 245 295 const double beta, double *C, const int ldc) ; 296 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 297 const int K, const float alpha, const float *A, const int lda, const float *B, const int ldb, 298 const float beta, float *C, const int ldc) ; 246 299 247 300 // LAPACK routines
