📄 ilaenv.c
字号:
nbmin = 2;
/*< END IF >*/
}
/*< ELSE IF( C3.EQ.'TRI' ) THEN >*/
} else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) {
/*< IF( SNAME ) THEN >*/
if (sname) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< ELSE >*/
} else {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< END IF >*/
}
/*< ELSE IF( C2.EQ.'SY' ) THEN >*/
} else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3.EQ.'TRF' ) THEN >*/
if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) {
/*< IF( SNAME ) THEN >*/
if (sname) {
/*< NBMIN = 8 >*/
nbmin = 8;
/*< ELSE >*/
} else {
/*< NBMIN = 8 >*/
nbmin = 8;
/*< END IF >*/
}
/*< ELSE IF( SNAME .AND. C3.EQ.'TRD' ) THEN >*/
} else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< ELSE IF( CNAME .AND. C2.EQ.'HE' ) THEN >*/
} else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3.EQ.'TRD' ) THEN >*/
if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< ELSE IF( SNAME .AND. C2.EQ.'OR' ) THEN >*/
} else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3( 1:1 ).EQ.'G' ) THEN >*/
if (*(unsigned char *)c3 == 'G') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< ELSE IF( C3( 1:1 ).EQ.'M' ) THEN >*/
} else if (*(unsigned char *)c3 == 'M') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< END IF >*/
}
/*< ELSE IF( CNAME .AND. C2.EQ.'UN' ) THEN >*/
} else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3( 1:1 ).EQ.'G' ) THEN >*/
if (*(unsigned char *)c3 == 'G') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< ELSE IF( C3( 1:1 ).EQ.'M' ) THEN >*/
} else if (*(unsigned char *)c3 == 'M') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NBMIN = 2 >*/
nbmin = 2;
/*< END IF >*/
}
/*< END IF >*/
}
/*< END IF >*/
}
/*< ILAENV = NBMIN >*/
ret_val = nbmin;
/*< RETURN >*/
return ret_val;
/*< 300 CONTINUE >*/
L300:
/* ISPEC = 3: crossover point */
/*< NX = 0 >*/
nx = 0;
/*< IF( C2.EQ.'GE' ) THEN >*/
if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) {
/*< >*/
if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (
ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, (
ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0)
{
/*< IF( SNAME ) THEN >*/
if (sname) {
/*< NX = 128 >*/
nx = 128;
/*< ELSE >*/
} else {
/*< NX = 128 >*/
nx = 128;
/*< END IF >*/
}
/*< ELSE IF( C3.EQ.'HRD' ) THEN >*/
} else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< IF( SNAME ) THEN >*/
if (sname) {
/*< NX = 128 >*/
nx = 128;
/*< ELSE >*/
} else {
/*< NX = 128 >*/
nx = 128;
/*< END IF >*/
}
/*< ELSE IF( C3.EQ.'BRD' ) THEN >*/
} else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< IF( SNAME ) THEN >*/
if (sname) {
/*< NX = 128 >*/
nx = 128;
/*< ELSE >*/
} else {
/*< NX = 128 >*/
nx = 128;
/*< END IF >*/
}
/*< END IF >*/
}
/*< ELSE IF( C2.EQ.'SY' ) THEN >*/
} else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( SNAME .AND. C3.EQ.'TRD' ) THEN >*/
if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< NX = 32 >*/
nx = 32;
/*< END IF >*/
}
/*< ELSE IF( CNAME .AND. C2.EQ.'HE' ) THEN >*/
} else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3.EQ.'TRD' ) THEN >*/
if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) {
/*< NX = 32 >*/
nx = 32;
/*< END IF >*/
}
/*< ELSE IF( SNAME .AND. C2.EQ.'OR' ) THEN >*/
} else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3( 1:1 ).EQ.'G' ) THEN >*/
if (*(unsigned char *)c3 == 'G') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NX = 128 >*/
nx = 128;
/*< END IF >*/
}
/*< END IF >*/
}
/*< ELSE IF( CNAME .AND. C2.EQ.'UN' ) THEN >*/
} else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) {
/*< IF( C3( 1:1 ).EQ.'G' ) THEN >*/
if (*(unsigned char *)c3 == 'G') {
/*< >*/
if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ",
(ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, (
ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) ==
0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(
c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", (
ftnlen)2, (ftnlen)2) == 0) {
/*< NX = 128 >*/
nx = 128;
/*< END IF >*/
}
/*< END IF >*/
}
/*< END IF >*/
}
/*< ILAENV = NX >*/
ret_val = nx;
/*< RETURN >*/
return ret_val;
/*< 400 CONTINUE >*/
L400:
/* ISPEC = 4: number of shifts (used by xHSEQR) */
/*< ILAENV = 6 >*/
ret_val = 6;
/*< RETURN >*/
return ret_val;
/*< 500 CONTINUE >*/
L500:
/* ISPEC = 5: minimum column dimension (not used) */
/*< ILAENV = 2 >*/
ret_val = 2;
/*< RETURN >*/
return ret_val;
/*< 600 CONTINUE >*/
L600:
/* ISPEC = 6: crossover point for SVD (used by xGELSS and xGESVD) */
/*< ILAENV = INT( REAL( MIN( N1, N2 ) )*1.6E0 ) >*/
ret_val = (integer) ((real) min(*n1,*n2) * (float)1.6);
/*< RETURN >*/
return ret_val;
/*< 700 CONTINUE >*/
L700:
/* ISPEC = 7: number of processors (not used) */
/*< ILAENV = 1 >*/
ret_val = 1;
/*< RETURN >*/
return ret_val;
/*< 800 CONTINUE >*/
L800:
/* ISPEC = 8: crossover point for multishift (used by xHSEQR) */
/*< ILAENV = 50 >*/
ret_val = 50;
/*< RETURN >*/
return ret_val;
/*< 900 CONTINUE >*/
L900:
/* ISPEC = 9: maximum size of the subproblems at the bottom of the */
/* computation tree in the divide-and-conquer algorithm */
/* (used by xGELSD and xGESDD) */
/*< ILAENV = 25 >*/
ret_val = 25;
/*< RETURN >*/
return ret_val;
/*< 1000 CONTINUE >*/
L1000:
/* ISPEC = 10: ieee NaN arithmetic can be trusted not to trap */
/* ILAENV = 0 */
/*< ILAENV = 1 >*/
ret_val = 1;
/*< IF( ILAENV.EQ.1 ) THEN >*/
if (ret_val == 1) {
/*< ILAENV = IEEECK( 0, 0.0, 1.0 ) >*/
ret_val = ieeeck_(&c__0, &c_b162, &c_b163);
/*< END IF >*/
}
/*< RETURN >*/
return ret_val;
/*< 1100 CONTINUE >*/
L1100:
/* ISPEC = 11: infinity arithmetic can be trusted not to trap */
/* ILAENV = 0 */
/*< ILAENV = 1 >*/
ret_val = 1;
/*< IF( ILAENV.EQ.1 ) THEN >*/
if (ret_val == 1) {
/*< ILAENV = IEEECK( 1, 0.0, 1.0 ) >*/
ret_val = ieeeck_(&c__1, &c_b162, &c_b163);
/*< END IF >*/
}
/*< RETURN >*/
return ret_val;
/* End of ILAENV */
/*< END >*/
} /* ilaenv_ */
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -