37 #ifndef TEMPLATE_LAPACK_LAGTS_HEADER 38 #define TEMPLATE_LAPACK_LAGTS_HEADER 43 const Treal *b,
const Treal *c__,
const Treal *d__,
const integer *in,
44 Treal *y, Treal *tol,
integer *info)
141 Treal d__1, d__2, d__3, d__4, d__5;
145 Treal absak, sfmin, ak;
157 if (
absMACRO(*job) > 2 || *job == 0) {
186 for (k = 3; k <= i__1; ++k) {
189 d__5), d__5 = (d__2 = b[k - 1],
absMACRO(d__2)), d__4 =
203 for (k = 2; k <= i__1; ++k) {
204 if (in[k - 1] == 0) {
205 y[k] -= c__[k - 1] * y[k - 1];
209 y[k] = temp - c__[k - 1] * y[k];
214 for (k = *n; k >= 1; --k) {
216 temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2];
217 }
else if (k == *n - 1) {
218 temp = y[k] - b[k] * y[k + 1];
226 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
233 }
else if (
absMACRO(temp) > absak * bignum) {
242 for (k = *n; k >= 1; --k) {
244 temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2];
245 }
else if (k == *n - 1) {
246 temp = y[k] - b[k] * y[k + 1];
256 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
264 }
else if (
absMACRO(temp) > absak * bignum) {
280 for (k = 1; k <= i__1; ++k) {
282 temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2];
284 temp = y[k] - b[k - 1] * y[k - 1];
292 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
299 }
else if (
absMACRO(temp) > absak * bignum) {
309 for (k = 1; k <= i__1; ++k) {
311 temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2];
313 temp = y[k] - b[k - 1] * y[k - 1];
323 if (absak == 0. ||
absMACRO(temp) * sfmin > absak) {
331 }
else if (
absMACRO(temp) > absak * bignum) {
342 for (k = *n; k >= 2; --k) {
343 if (in[k - 1] == 0) {
344 y[k - 1] -= c__[k - 1] * y[k];
348 y[k] = temp - c__[k - 1] * y[k];
#define absMACRO(x)
Definition: template_blas_common.h:47
int integer
Definition: template_blas_common.h:40
#define maxMACRO(a, b)
Definition: template_blas_common.h:45
Treal template_lapack_d_sign(const Treal *a, const Treal *b)
Definition: template_lapack_lamch.h:48
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:146
int template_lapack_lagts(const integer *job, const integer *n, const Treal *a, const Treal *b, const Treal *c__, const Treal *d__, const integer *in, Treal *y, Treal *tol, integer *info)
Definition: template_lapack_lagts.h:42
Treal template_lapack_lamch(const char *cmach, Treal dummyReal)
Definition: template_lapack_lamch.h:202