/*Translated by FOR_C, v3.4.2 (-), on 07/09/115 at 08:33:20 */ /*FOR_C Options SET: ftn=u io=c no=p op=aimnv pf=,p_zcoef s=dbov str=l x=f - prototypes */ #include #include "fcrt.h" #include #include #include "p_zcoef.h" /* program DRZCOEF *>> 1996-06-25 DRZCOEF Krogh Set for deriving C vers. *>> 1994-07-15 CLL *>> 1987-12-09 DRZCOEF Lawson Initial Code. * Conversion should only be done from "Z" to "C" for processing to C. *--Z replaces "?": DR?COEF, ?COEF * Demo driver for ZCOEF * C. L. Lawson & S. Chiu, JPL, 1987 Feb 17. * ------------------------------------------------------------------ */ int main( ) { long int i, _i, _r; double zc[4][2]; static double rt1[3][2], rt2[2][2]; static long ndeg1 = 3; static long ndeg2 = 2; static int _aini = 1; if( _aini ){ /* Do 1 TIME INITIALIZATIONS! */ { static double _itmp0[] = {1.e0,1.e0,3.e0}; for (i = 1, _r = 0; i <= 3; i++) { rt1[i - 1][0] = _itmp0[_r++]; } } { static double _itmp1[] = {1.e0,-1.e0,0.e0}; for (i = 1, _r = 0; i <= 3; i++) { rt1[i - 1][1] = _itmp1[_r++]; } } { static double _itmp2[] = {2.e0,3.e0}; for (i = 1, _r = 0; i <= 2; i++) { rt2[i - 1][0] = _itmp2[_r++]; } } { static double _itmp3[] = {1.e0,2.e0}; for (i = 1, _r = 0; i <= 2; i++) { rt2[i - 1][1] = _itmp3[_r++]; } } _aini = 0; } /* ------------------------------------------------------------------ * */ zcoef( ndeg1, rt1, zc ); /*++ CODE for ~.C. is inactive * 100 format(1X/1X,A,I3) * 200 format(1x,A/ (1X,'(',F12.9,',',F12.9,')': * * ' (',F12.9,',',F12.9,')')) * print 100,'Degree =',NDEG1 * print 200,'Roots =',(RT1(1,I),RT1(2,I),I=1,NDEG1) * print 200,'Coeffs =',(ZC(1,I),ZC(2,I),I=1,NDEG1+1) * print '(/)' *c * call ZCOEF(NDEG2,RT2,ZC) * print 100,'Degree =',NDEG2 * print 200,'Roots =',(RT2(1,I),RT2(2,I),I=1,NDEG2) * print 200,'Coeffs =',(ZC(1,I),ZC(2,I),I=1,NDEG2+1) *++ CODE for .C. is active */ printf(" \n Degree =%3ld", ndeg1); printf(" \n Roots =\n"); for (i = 0; i < ndeg1; i+=2){ printf(" (%12.9f,%12.9f )", rt1[i][0], rt1[i][1]); if (i < ndeg1-1) printf(" (%12.9f,%12.9f )", rt1[i+1][0], rt1[i+1][1]); printf("\n");} printf(" \n Coeffs =\n"); for (i = 0; i <= ndeg1; i+=2){ printf(" (%12.9f,%12.9f )", zc[i][0], zc[i][1]); if (i < ndeg1) printf(" (%12.9f,%12.9f )", zc[i+1][0], zc[i+1][1]); printf("\n");} printf("\n\n"); zcoef( ndeg2, rt2, zc ); printf(" \n Degree =%3ld", ndeg2); printf(" \n Roots =\n"); for (i = 0; i < ndeg2; i+=2){ printf(" (%12.9f,%12.9f )", rt2[i][0], rt2[i][1]); if (i < ndeg2-1) printf(" (%12.9f,%12.9f )", rt2[i+1][0], rt2[i+1][1]); printf("\n");} printf(" \n Coeffs =\n"); for (i = 0; i <= ndeg2; i+=2){ printf(" (%12.9f,%12.9f )", zc[i][0], zc[i][1]); if (i < ndeg2) printf(" (%12.9f,%12.9f )", zc[i+1][0], zc[i+1][1]); printf("\n");} exit(0); } /* end of function */ /*++ END */