Initial snark14m import
[snark14.git] / src / snark / lines.cpp
1 /*
2  ***********************************************************
3  $SNARK_Header: S N A R K  1 4 - A PICTURE RECONSTRUCTION PROGRAM $
4  $HeadURL: svn://dig.cs.gc.cuny.edu/snark/trunk/src/snark/lines.cpp $
5  $LastChangedRevision: 80 $
6  $Date: 2014-07-01 21:01:54 -0400 (Tue, 01 Jul 2014) $
7  $Author: agulati $
8  ***********************************************************
9  */
10
11 #include <cstdio>
12
13 #include "blkdta.h"
14
15 #include "lines.h"
16
17 void lines(REAL* a, REAL* b, INTEGER nrow, INTEGER mcol, REAL scale, INTEGER lineno, INTEGER* linumb, FILE* file)
18 {
19         int i;
20         INTEGER one;
21
22         REAL linout[12];
23
24         INTEGER linno3;
25         INTEGER irow;
26         INTEGER jcolum;
27         INTEGER index;
28
29         fprintf(file, "\n     scaling factor = %10.5f\n", scale);
30         fprintf(file, "\n column =            %4i", linumb[0]);
31         for (i = 1; i < lineno; i++)
32         {
33                 fprintf(file, "                             %4i", linumb[i]);
34         }
35
36         fprintf(file, "\n row  ");
37         for (i = 0; i < lineno; i++)
38         {
39                 fprintf(file, "  original   estimate difference ");
40         }
41
42         linno3 = 3 * lineno;
43         for (irow = 0; irow < nrow; irow++)
44         {
45                 one = 0;
46                 for (jcolum = 0; jcolum < lineno; jcolum++)
47                 {
48                         index = (irow) * mcol + linumb[jcolum];
49
50
51                         linout[one] = scale * a[index];
52                         linout[one + 1] = scale * b[index];
53                         linout[one + 2] = linout[one + 1] - linout[one];
54
55                         one += 3;
56                 }
57                 fprintf(file, "\n%4i ", irow);
58                 for (i = 0; i < linno3; i++)
59                 {
60                         fprintf(file, "  %9.5f", linout[i]);
61                 }
62         }
63         fprintf(file, "\n\n");
64
65         return;
66 }