[evla-sw-discuss] 'interim' antsol

Boyd Waters bwaters at nrao.edu
Thu Apr 28 15:29:31 EDT 2005


A quibble:

Some re-ordering of the struct elements could result in better memory  
utilization, which may increase performance of programs that treat  
with this struct. For example, putting the "char mod[2]" observing  
mode and "char pid[6]" program code adjacent to one another will  
result in a 32-bit alignment (8chars).

Probably it doesn't matter, as an optimizing compiler should pad the  
struct to obtain such an alignment anyway.

~ boyd

On Apr 27, 2005, at 5:05 PM, Ken Sowinski wrote:

> /* This record represents the results of antsol for the subarray given
>    in subid for one integration.  There will be one record for each
>    subarray and they will all be contained in an array of records of
>    length 5 pointed to by a global pointer.
> */
> struct antsol_record {
>   int    subid;             /* subarray ID (1-5)  */
>   char   mod[2];            /* observing mode  */
>   char   cal;               /* cal code  */
>   int    submd;             /* submode for this integration  */
>   char   pid[6];            /* program code  */
>   char   sou[12];           /* source name  */
>   int    qua;               /* qualifier  */
>   int    epy;               /* epoch for coordinates  */
>   char   crm[4];            /* correlator mode  */
>   int    mjd;               /* mjad  */
>   float  zsp[2];            /* zero spacing flux, AC and BD  */
>   double sky[4];            /* sky frequency for each IF  */
>   double iat;               /* IAT in radians  */
>   float  ha;                /* HA in radians  */
>   float  el;                /* elevation in radians  */
>   int    goodif[4];         /* flag for each IF with a valid  
> solution  */
>   int    iters[4];          /* number of iterations to convergence  */
>   float  sta;               /* LST start time in radians  */
>   int    nant;              /* number of antennas in subarray  */
>   int    alist[27];         /* ID of antennas; nant valid entries  */
>   float  x[4][27*2];        /* antsol gains; nant valid entried for  
> each IF  */
>   float  resid[4][27*2]     /* residuals at final iteration;   "    
> "    */
> }
>




More information about the evla-sw-discuss mailing list