home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-SSP.ARJ / MATINV.TST < prev    next >
Encoding:
Text File  |  1984-08-31  |  1.4 KB  |  65 lines

  1.         /* General form test program for scientific functions */
  2.  
  3.         /* Routine Tested:  MATINV */
  4.  
  5.         main()
  6.  
  7.         {
  8.         int *fp,ic,isol,idsol,nr,nc,mc;
  9.         static float a[3][4]={1.,-1., 0.,1.,
  10.                               1., 1., 1.,0.,
  11.                               0., 1.,-1.,0.};
  12.         float kwa[3],det;
  13.  
  14.         nr = 3.;
  15.         nc = -4;
  16.         mc = 4;
  17.  
  18.         matinv(&isol,&idsol,nr,nc,a,mc,kwa,&det);
  19.  
  20.         *fp=fopen("PRN:","w");             /* open the printer */
  21.  
  22.         fprintf(*fp,"Test Results from MATINV\n\n");
  23.          printf("Test Results from MATINV\n\n");
  24.  
  25.         fprintf(*fp,"ISOL = %d  IDSOL = %d  DET = %f\n",isol,idsol,det);
  26.          printf(   "ISOL = %d  IDSOL = %d  DET = %f\n",isol,idsol,det);
  27.  
  28.         ic = abs(nc);
  29.         printr(a,nr,ic);
  30.  
  31.  
  32.  
  33.  
  34.         }
  35.  
  36.                 /* Routine to print matrices */
  37.  
  38.       printr(a,nrow,ncol)
  39.  
  40.         int nrow,ncol;
  41.         float a[];
  42.  
  43.       {
  44.         int *fp,j,k,ne;
  45.  
  46.         ne = ncol-1;
  47.  
  48.         *fp=fopen("PRN:","w");             /* open the printer */
  49.  
  50.         for(j = 0; j <= nrow-1 ; j++)
  51.          {
  52.           for(k = j*ncol; k <= j*ncol+ne ; k++)
  53.            {
  54.             fprintf(*fp,"%12.6f ",a[k]);
  55.              printf("%12.6f  ",a[k]);
  56.            };
  57.            fprintf(*fp,"\n");
  58.             printf("\n");
  59.          }
  60.            fprintf(*fp,"\n\n");
  61.             printf("\n\n");
  62.  
  63.        }
  64.  
  65.