📄 strti2.c
字号:
#include "gmx_blas.h"#include "gmx_lapack.h"#include "lapack_limits.h"voidF77_FUNC(strti2,STRTI2)(char *uplo, char *diag, int *n, float *a, int *lda, int *info){ int a_dim1, a_offset, i__1, i__2; int j; float ajj; int upper, nounit; int c__1 = 1; a_dim1 = *lda; a_offset = 1 + a_dim1; a -= a_offset; *info = 0; upper = (*uplo=='U' || *uplo=='u'); nounit = (*diag=='N' || *diag=='n'); if (*info != 0) { i__1 = -(*info); return; } if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (nounit) { a[j + j * a_dim1] = 1. / a[j + j * a_dim1]; ajj = -a[j + j * a_dim1]; } else { ajj = -1.; } i__2 = j - 1; F77_FUNC(strmv,STRMV)("Upper", "No transpose", diag, &i__2, &a[a_offset], lda, & a[j * a_dim1 + 1], &c__1); i__2 = j - 1; F77_FUNC(sscal,SSCAL)(&i__2, &ajj, &a[j * a_dim1 + 1], &c__1); } } else { for (j = *n; j >= 1; --j) { if (nounit) { a[j + j * a_dim1] = 1. / a[j + j * a_dim1]; ajj = -a[j + j * a_dim1]; } else { ajj = -1.; } if (j < *n) { i__1 = *n - j; F77_FUNC(strmv,STRMV)("Lower", "No transpose", diag, &i__1, &a[j + 1 + (j + 1) * a_dim1], lda, &a[j + 1 + j * a_dim1], &c__1); i__1 = *n - j; F77_FUNC(sscal,SSCAL)(&i__1, &ajj, &a[j + 1 + j * a_dim1], &c__1); } } } return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -