Skip to content

Commit

Permalink
Merge pull request #8 from wolfv/improve
Browse files Browse the repository at this point in the history
improve and add functions
  • Loading branch information
wolfv committed Apr 24, 2017
2 parents d15a051 + 0f3a619 commit 062ffdc
Show file tree
Hide file tree
Showing 11 changed files with 1,291 additions and 296 deletions.
6 changes: 4 additions & 2 deletions include/xtensor-blas/flens/cxxlapack/interface/gesdd.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,14 @@ template <typename IndexType>
IndexType n,
std::complex<float > *A,
IndexType ldA,
std::complex<float > *s,
double *s,
std::complex<float > *U,
IndexType ldU,
std::complex<float > *Vt,
IndexType ldVt,
std::complex<float > *work,
IndexType lWork,
float *rWork,
IndexType *iWork);


Expand All @@ -93,13 +94,14 @@ template <typename IndexType>
IndexType n,
std::complex<double> *A,
IndexType ldA,
std::complex<double> *s,
double *s,
std::complex<double> *U,
IndexType ldU,
std::complex<double> *Vt,
IndexType ldVt,
std::complex<double> *work,
IndexType lWork,
double *rWork,
IndexType *iWork);

} // namespace cxxlapack
Expand Down
28 changes: 16 additions & 12 deletions include/xtensor-blas/flens/cxxlapack/interface/gesdd.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -126,31 +126,33 @@ IndexType
gesdd(char jobZ,
IndexType m,
IndexType n,
std::complex<float > *A,
std::complex<float> *A,
IndexType ldA,
std::complex<float > *s,
std::complex<float > *U,
double *s,
std::complex<float> *U,
IndexType ldU,
std::complex<float > *Vt,
std::complex<float> *Vt,
IndexType ldVt,
std::complex<float > *work,
std::complex<float> *work,
IndexType lWork,
float *rWork,
IndexType *iWork)
{
IndexType info;
CXXLAPACK_DEBUG_OUT("cgesdd");
LAPACK_IMPL(cgesdd)(&jobZ,
&m,
&n,
reinterpret_cast<float *>(A),
reinterpret_cast<float *>(A),
&ldA,
reinterpret_cast<float *>(s),
reinterpret_cast<float *>(U),
s,
reinterpret_cast<float *>(U),
&ldU,
reinterpret_cast<float *>(Vt),
reinterpret_cast<float *>(Vt),
&ldVt,
reinterpret_cast<float *>(work),
reinterpret_cast<float *>(work),
&lWork,
rWork,
iWork,
&info);
# ifndef NDEBUG
Expand All @@ -169,13 +171,14 @@ gesdd(char jobZ,
IndexType n,
std::complex<double> *A,
IndexType ldA,
std::complex<double> *s,
double *s,
std::complex<double> *U,
IndexType ldU,
std::complex<double> *Vt,
IndexType ldVt,
std::complex<double> *work,
IndexType lWork,
double *rWork,
IndexType *iWork)
{
IndexType info;
Expand All @@ -185,13 +188,14 @@ gesdd(char jobZ,
&n,
reinterpret_cast<double *>(A),
&ldA,
reinterpret_cast<double *>(s),
s,
reinterpret_cast<double *>(U),
&ldU,
reinterpret_cast<double *>(Vt),
&ldVt,
reinterpret_cast<double *>(work),
&lWork,
rWork,
iWork,
&info);
# ifndef NDEBUG
Expand Down
4 changes: 2 additions & 2 deletions include/xtensor-blas/flens/cxxlapack/interface/heevd.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ IndexType
heevd(char jobZ,
char upLo,
IndexType n,
std::complex<float > *A,
std::complex<float> *A,
IndexType ldA,
float *w,
std::complex<float > *work,
std::complex<float> *work,
IndexType lWork,
float *rWork,
IndexType lrWork,
Expand Down
4 changes: 2 additions & 2 deletions include/xtensor-blas/flens/cxxlapack/interface/syevd.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ syevd(char jobZ,
work,
&lWork,
iWork,
liWork,
&liWork,
&info);
# ifndef NDEBUG
if (info<0) {
Expand Down Expand Up @@ -100,7 +100,7 @@ syevd(char jobZ,
work,
&lWork,
iWork,
liWork,
&liWork,
&info);
# ifndef NDEBUG
if (info<0) {
Expand Down

0 comments on commit 062ffdc

Please sign in to comment.