Initial snark14m import
[snark14.git] / src / snark / foru_ftfill.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/foru_ftfill.cpp $
5  $LastChangedRevision: 85 $
6  $Date: 2014-07-02 16:07:08 -0400 (Wed, 02 Jul 2014) $
7  $Author: agulati $
8  ***********************************************************
9
10  PURPOSE: REARRANGE THE NUMBERS IN ARRAY G (OF SIZE MAXG1*MAXG1)
11  AND PUT INTO THE ARRAY RECON
12  */
13
14 #include <cstdio>
15
16 #include "blkdta.h"
17 #include "geom.h"
18
19 #include "foru.h"
20
21 void foru_class::ftfill(REAL* recon, REAL* g, INTEGER maxg1)
22 {
23         INTEGER no2;
24         INTEGER l1;
25         INTEGER l2;
26         INTEGER len;
27         INTEGER ibaser;
28         INTEGER kk;
29         INTEGER iy;
30         INTEGER indr;
31         INTEGER itmp;
32         INTEGER ibaseg;
33         INTEGER ll;
34         INTEGER ix;
35         INTEGER indg;
36
37         no2 = GeoPar.nelem / 2;
38         l1 = -no2;
39         l2 = no2;
40         len = l2 - l1 + 1;
41         ibaser = GeoPar.area - GeoPar.nelem;
42         for (kk = 0; kk < len; kk++)
43         {
44                 iy = l1 + kk;
45                 indr = ibaser;
46                 itmp = iy;
47                 if (iy < 0)
48                         itmp = maxg1 + iy;
49                 ibaseg = itmp * maxg1;
50
51                 for (ll = 0; ll < len; ll++)
52                 {
53                         ix = l1 + ll;
54                         itmp = ix;
55                         if (ix < 0)
56                                 itmp = maxg1 + ix;
57                         indg = ibaseg + itmp;
58                         recon[indr] = g[indg];
59                         indr++;
60                 }
61                 ibaser -= GeoPar.nelem;
62         }
63         return;
64 }