/*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_sevun s=dbov str=l x=f - prototypes */ #include #include "fcrt.h" #include #include #include "p_sevun.h" /* program DRSEVUN *>> 1994-10-19 DRSEVUN Krogh Changes to use M77CON *>> 1992-04-23 DRSEVUN CLL Declaring all variables. *>> 1992-03-04 DRSEVUN Krogh Initial version. * Demonstrate unsymmetric eigenvalue subroutine SEVUN. * ------------------------------------------------------------------ *--S replaces "?": DR?EVUN, ?EVUN, ?VECP * ------------------------------------------------------------------ */ /* PARAMETER translations */ #define LDA 3 /* end of PARAMETER translations */ int main( ) { long int i, iflag[LDA], kase, _i, _r; float vi[LDA], vr[LDA]; static float a[3][LDA][LDA]; static long n = LDA; static int _aini = 1; /* OFFSET Vectors w/subscript range: 1 to dimension */ long *const Iflag = &iflag[0] - 1; float *const Vi = &vi[0] - 1; float *const Vr = &vr[0] - 1; /* end of OFFSET VECTORS */ if( _aini ){ /* Do 1 TIME INITIALIZATIONS! */ { static float _itmp0[] = {-954.0e0,-464.0e0,-2088.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[0][i - 1][0] = _itmp0[_r++]; } } { static float _itmp1[] = {792.0e0,387.0e0,1728.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[0][i - 1][1] = _itmp1[_r++]; } } { static float _itmp2[] = {264.0e0,128.0e0,579.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[0][i - 1][2] = _itmp2[_r++]; } } { static float _itmp3[] = {4.0e0,1.0e0,1.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[1][i - 1][0] = _itmp3[_r++]; } } { static float _itmp4[] = {2.0e0,4.0e0,1.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[1][i - 1][1] = _itmp4[_r++]; } } { static float _itmp5[] = {0.0e0,1.0e0,4.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[1][i - 1][2] = _itmp5[_r++]; } } { static float _itmp6[] = {8.0e0,-1.0e0,-5.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[2][i - 1][0] = _itmp6[_r++]; } } { static float _itmp7[] = {-4.0e0,4.0e0,-2.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[2][i - 1][1] = _itmp7[_r++]; } } { static float _itmp8[] = {18.0e0,-5.0e0,-7.0e0}; for (i = 1, _r = 0; i <= 3; i++) { a[2][i - 1][2] = _itmp8[_r++]; } } _aini = 0; } /* ------------------------------------------------------------------ */ printf("DRSEVUN.. Demo driver for SEVUN.\n"); for (kase = 1; kase <= 3; kase++) { printf("\n Beginning Case =%2ld\n", kase); sevun( &a[kase - 1][0][0], LDA, n, vr, vi, iflag ); printf(" IFLAG(1) =%2ld\n", Iflag[1]); if (Iflag[1] <= 2) { svecp( vr, n, " Real part of the eigenvalues" ); svecp( vi, n, " Imaginary part of the eigenvalues" ); } else { printf("\n Failure in SEVUN.\n"); } } exit(0); } /* end of function */