1 #include "../gmx_blas.h"
2 #include "../gmx_lapack.h"
3 #include "lapack_limits.h"
6 F77_FUNC(strti2
,STRTI2
)(const char *uplo
,
13 int a_dim1
, a_offset
, i__1
, i__2
;
22 a_offset
= 1 + a_dim1
;
26 upper
= (*uplo
=='U' || *uplo
=='u');
27 nounit
= (*diag
=='N' || *diag
=='n');
37 for (j
= 1; j
<= i__1
; ++j
) {
39 a
[j
+ j
* a_dim1
] = 1. / a
[j
+ j
* a_dim1
];
40 ajj
= -a
[j
+ j
* a_dim1
];
46 F77_FUNC(strmv
,STRMV
)("Upper", "No transpose", diag
, &i__2
, &a
[a_offset
], lda
, &
47 a
[j
* a_dim1
+ 1], &c__1
);
49 F77_FUNC(sscal
,SSCAL
)(&i__2
, &ajj
, &a
[j
* a_dim1
+ 1], &c__1
);
53 for (j
= *n
; j
>= 1; --j
) {
55 a
[j
+ j
* a_dim1
] = 1. / a
[j
+ j
* a_dim1
];
56 ajj
= -a
[j
+ j
* a_dim1
];
63 F77_FUNC(strmv
,STRMV
)("Lower", "No transpose", diag
, &i__1
, &a
[j
+ 1 + (j
+
64 1) * a_dim1
], lda
, &a
[j
+ 1 + j
* a_dim1
], &c__1
);
66 F77_FUNC(sscal
,SSCAL
)(&i__1
, &ajj
, &a
[j
+ 1 + j
* a_dim1
], &c__1
);