13 #include "common_magma.h"
124 char uplo_[2] = {
uplo, 0};
125 char jobz_[2] = {jobz, 0};
129 static float c_b18 = 1.;
137 static float rmin, rmax;
157 lquery = lwork == -1 || liwork == -1;
166 }
else if (lda <
max(1,n)) {
171 a, &lda, w, work, &c_n1,
177 if ((lwork < lwmin) && !lquery) {
179 }
else if ((liwork < liwmin) && ! lquery) {
205 a_offset = 1 + a_dim1;
214 smlnum = safmin / eps;
215 bignum = 1. / smlnum;
222 if (anrm > 0. && anrm < rmin) {
225 }
else if (anrm > rmax) {
238 llwork = lwork - indwrk + 1;
239 indwk2 = indwrk + n * n;
240 llwrk2 = lwork - indwk2 + 1;
249 magma_ssytrd(uplo_[0], n, &a[a_offset], lda, &w[1], &work[inde],
250 &work[indtau], &work[indwrk], llwork, &iinfo);
255 printf(
"time ssytrd = %6.2f\n",
GetTimerValue(start,end)/1000.);
276 &work[indwrk], n, &work[indwk2],
277 llwrk2, &iwork[1], liwork, dwork, info);
284 printf(
"time sstedx = %6.2f\n",
GetTimerValue(start,end)/1000.);
290 &work[indwrk], n, &work[indwk2], llwrk2, &iinfo);
297 printf(
"time sormtr + copy = %6.2f\n",
GetTimerValue(start,end)/1000.);