/*Translated by FOR_C, v3.4.2 (-), on 07/09/115 at 08:33:16 */ /*FOR_C Options SET: ftn=u io=c no=p op=aimnv pf=,p_sgefsc s=dbov str=l x=f - prototypes */ #include #include "fcrt.h" #include #include #include "p_sgefsc.h" /* program DRSGEFSC *>> 2001-05-22 DRSGEFSC Krogh Minor change for making .f90 version. *>> 1996-05-28 DRSGEFSC Krogh Moved format up. *>> 1994-10-19 DRSGEFSC Krogh Changes to use M77CON *>> 1994-08-09 DRSGEFSC WVS removed '0' from format *>> 1992-03-18 DRSGEFSC CLL Added "c" to "program" line above. *>> 1987-12-09 DRSGEFSC Lawson Initial Code. *--S replaces "?": DR?GEFSC, ?GEFSC, ?GEFS, ?MATP * * Demo driver for SGEFSC * ------------------------------------------------------------------ */ /* PARAMETER translations */ #define NMAX 3 /* end of PARAMETER translations */ int main( ) { long int i, ipvt[NMAX], j, _i, _r; float rcond1, z[NMAX]; static float a[3][3], b[1][3]; static int _aini = 1; /* OFFSET Vectors w/subscript range: 1 to dimension */ long *const Ipvt = &ipvt[0] - 1; float *const Z = &z[0] - 1; /* end of OFFSET VECTORS */ if( _aini ){ /* Do 1 TIME INITIALIZATIONS! */ { static float _itmp0[] = {0.579e0,-.394e0,0.915e0}; for (j = 1, _r = 0; j <= 3; j++) { a[j - 1][0] = _itmp0[_r++]; } } { static float _itmp1[] = {-0.795e0,0.226e0,-0.868e0}; for (j = 1, _r = 0; j <= 3; j++) { a[j - 1][1] = _itmp1[_r++]; } } { static float _itmp2[] = {0.141e0,-0.329e0,-0.286e0}; for (j = 1, _r = 0; j <= 3; j++) { a[j - 1][2] = _itmp2[_r++]; } } { static float _itmp3[] = {5.873e0,-5.324e0,1.069e0}; for (i = 1, _r = 0; i <= 3; i++) { b[0][i - 1] = _itmp3[_r++]; } } _aini = 0; } /* ------------------------------------------------------------------ */ smatp( (float*)a, NMAX, NMAX, NMAX, "0 A(,) =" ); smatp( (float*)b, NMAX, NMAX, 1, "0 B(,) =" ); sgefsc( (float*)a, NMAX, NMAX, (float*)b, NMAX, 1, ipvt, &rcond1, z ); /* call SGEFS(A,NMAX,NMAX,B,NMAX,1,IPVT,INFO) * */ smatp( (float*)b, NMAX, NMAX, 1, "0 SOLN(,) =" ); printf("\n RCOND1 =%7.4f\n", rcond1); exit(0); } /* end of function */