// This file was automatically generated from blas.h.in
// See blastemplates in the deal.II contrib directory
//
-// Copyright (C) 2005, 2006 by the deal authors
+// Copyright (C) 2005, 2006, 2007 by the deal authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
#include <lac/lapack_support.h>
+using namespace dealii;
+
extern "C"
{
// General Matrix
const float* alpha, const float* A, const int* lda,
const float* x, const int* incx,
const float* b, float* y, const int* incy);
+// Matrix matrix product
+void dgemm_ (const char* transa, const char* transb,
+ const int* m, const int* n, const int* k,
+ const double* alpha, const double* A, const int* lda,
+ const double* B, const int* ldb,
+ const double* beta, double* C, const int* ldc);
+void sgemm_ (const char* transa, const char* transb,
+ const int* m, const int* n, const int* k,
+ const float* alpha, const float* A, const int* lda,
+ const float* B, const int* ldb,
+ const float* beta, float* C, const int* ldc);
// Compute LU factorization
void dgetrf_ (const int* m, const int* n, double* A,
const int* lda, int* ipiv, int* info);
inline void
gemv (const char*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*)
{
- dealii::LAPACKSupport::ExcMissing("dgemv");
+ LAPACKSupport::ExcMissing("dgemv");
}
#endif
inline void
gemv (const char*, const int*, const int*, const float*, const float*, const int*, const float*, const int*, const float*, float*, const int*)
{
- dealii::LAPACKSupport::ExcMissing("sgemv");
+ LAPACKSupport::ExcMissing("sgemv");
+}
+#endif
+
+
+#ifdef HAVE_DGEMM_
+inline void
+gemm (const char* transa, const char* transb, const int* m, const int* n, const int* k, const double* alpha, const double* A, const int* lda, const double* B, const int* ldb, const double* beta, double* C, const int* ldc)
+{
+ dgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
+}
+#else
+inline void
+gemm (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*)
+{
+ LAPACKSupport::ExcMissing("dgemm");
+}
+#endif
+
+
+#ifdef HAVE_SGEMM_
+inline void
+gemm (const char* transa, const char* transb, const int* m, const int* n, const int* k, const float* alpha, const float* A, const int* lda, const float* B, const int* ldb, const float* beta, float* C, const int* ldc)
+{
+ sgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
+}
+#else
+inline void
+gemm (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*)
+{
+ LAPACKSupport::ExcMissing("sgemm");
}
#endif
inline void
getrf (const int*, const int*, double*, const int*, int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dgetrf");
+ LAPACKSupport::ExcMissing("dgetrf");
}
#endif
inline void
getrf (const int*, const int*, float*, const int*, int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sgetrf");
+ LAPACKSupport::ExcMissing("sgetrf");
}
#endif
inline void
getrs (const char*, const int*, const int*, const double*, const int*, const int*, double*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dgetrs");
+ LAPACKSupport::ExcMissing("dgetrs");
}
#endif
inline void
getrs (const char*, const int*, const int*, const float*, const int*, const int*, float*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sgetrs");
+ LAPACKSupport::ExcMissing("sgetrs");
}
#endif
inline void
geev (const char*, const char*, const int*, double*, const int*, double*, double*, double*, const int*, double*, const int*, double*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dgeev");
+ LAPACKSupport::ExcMissing("dgeev");
}
#endif
inline void
geev (const char*, const char*, const int*, float*, const int*, float*, float*, float*, const int*, float*, const int*, float*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sgeev");
+ LAPACKSupport::ExcMissing("sgeev");
}
#endif
inline void
geevx (const char*, const char*, const char*, const char*, const int*, double*, const int*, double*, double*, double*, const int*, double*, const int*, int*, int*, double*, double*, double*, double*, double*, const int*, int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dgeevx");
+ LAPACKSupport::ExcMissing("dgeevx");
}
#endif
inline void
geevx (const char*, const char*, const char*, const char*, const int*, float*, const int*, float*, float*, float*, const int*, float*, const int*, int*, int*, float*, float*, float*, float*, float*, const int*, int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sgeevx");
+ LAPACKSupport::ExcMissing("sgeevx");
}
#endif
inline void
gesvd (int*, int*, const int*, const int*, double*, const int*, double*, double*, const int*, double*, const int*, double*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dgesvd");
+ LAPACKSupport::ExcMissing("dgesvd");
}
#endif
inline void
gesvd (int*, int*, const int*, const int*, float*, const int*, float*, float*, const int*, float*, const int*, float*, const int*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sgesvd");
+ LAPACKSupport::ExcMissing("sgesvd");
}
#endif
inline void
stev (const char*, const int*, double*, double*, double*, const int*, double*, int*)
{
- dealii::LAPACKSupport::ExcMissing("dstev");
+ LAPACKSupport::ExcMissing("dstev");
}
#endif
inline void
stev (const char*, const int*, float*, float*, float*, const int*, float*, int*)
{
- dealii::LAPACKSupport::ExcMissing("sstev");
+ LAPACKSupport::ExcMissing("sstev");
}
#endif
+
#endif