@@ -103,6 +103,51 @@ void zgeqrf_(int* m,
103103 int * lwork,
104104 int * info);
105105
106+ void sgels_ (char * trans,
107+ int * m,
108+ int * n,
109+ int * nrhs,
110+ float * A,
111+ int * lda,
112+ float * B,
113+ int * ldb,
114+ float * work,
115+ int * lwork,
116+ int * info);
117+ void dgels_ (char * trans,
118+ int * m,
119+ int * n,
120+ int * nrhs,
121+ double * A,
122+ int * lda,
123+ double * B,
124+ int * ldb,
125+ double * work,
126+ int * lwork,
127+ int * info);
128+ void cgels_ (char * trans,
129+ int * m,
130+ int * n,
131+ int * nrhs,
132+ hipblasComplex* A,
133+ int * lda,
134+ hipblasComplex* B,
135+ int * ldb,
136+ hipblasComplex* work,
137+ int * lwork,
138+ int * info);
139+ void zgels_ (char * trans,
140+ int * m,
141+ int * n,
142+ int * nrhs,
143+ hipblasDoubleComplex* A,
144+ int * lda,
145+ hipblasDoubleComplex* B,
146+ int * ldb,
147+ hipblasDoubleComplex* work,
148+ int * lwork,
149+ int * info);
150+
106151void spotrf_ (char * uplo, int * m, float * A, int * lda, int * info);
107152void dpotrf_ (char * uplo, int * m, double * A, int * lda, int * info);
108153void cpotrf_ (char * uplo, int * m, hipblasComplex* A, int * lda, int * info);
@@ -3699,3 +3744,72 @@ int cblas_geqrf<hipblasDoubleComplex>(int m,
36993744 zgeqrf_ (&m, &n, A, &lda, tau, work, &lwork, &info);
37003745 return info;
37013746}
3747+
3748+ // gels
3749+ template <>
3750+ int cblas_gels<float >(char trans,
3751+ int m,
3752+ int n,
3753+ int nrhs,
3754+ float * A,
3755+ int lda,
3756+ float * B,
3757+ int ldb,
3758+ float * work,
3759+ int lwork)
3760+ {
3761+ int info;
3762+ sgels_ (&trans, &m, &n, &nrhs, A, &lda, B, &ldb, work, &lwork, &info);
3763+ return info;
3764+ }
3765+
3766+ template <>
3767+ int cblas_gels<double >(char trans,
3768+ int m,
3769+ int n,
3770+ int nrhs,
3771+ double * A,
3772+ int lda,
3773+ double * B,
3774+ int ldb,
3775+ double * work,
3776+ int lwork)
3777+ {
3778+ int info;
3779+ dgels_ (&trans, &m, &n, &nrhs, A, &lda, B, &ldb, work, &lwork, &info);
3780+ return info;
3781+ }
3782+
3783+ template <>
3784+ int cblas_gels<hipblasComplex>(char trans,
3785+ int m,
3786+ int n,
3787+ int nrhs,
3788+ hipblasComplex* A,
3789+ int lda,
3790+ hipblasComplex* B,
3791+ int ldb,
3792+ hipblasComplex* work,
3793+ int lwork)
3794+ {
3795+ int info;
3796+ cgels_ (&trans, &m, &n, &nrhs, A, &lda, B, &ldb, work, &lwork, &info);
3797+ return info;
3798+ }
3799+
3800+ template <>
3801+ int cblas_gels<hipblasDoubleComplex>(char trans,
3802+ int m,
3803+ int n,
3804+ int nrhs,
3805+ hipblasDoubleComplex* A,
3806+ int lda,
3807+ hipblasDoubleComplex* B,
3808+ int ldb,
3809+ hipblasDoubleComplex* work,
3810+ int lwork)
3811+ {
3812+ int info;
3813+ zgels_ (&trans, &m, &n, &nrhs, A, &lda, B, &ldb, work, &lwork, &info);
3814+ return info;
3815+ }
0 commit comments