6 #include "para_grp_parse.h" 
   15                 int *kx_line, 
int *ky_line,
 
   16         int *istrt_lgrp,
int *iend_lgrp,
int *npts_lgrp,
 
   18                 int *kx_str_lgrp,
int *kx_end_lgrp,
 
   19                 int *ky_str_lgrp,
int *ky_end_lgrp)
 
   29   for(
int ibal=1;ibal<=32;ibal++){
 
   30     int nbal  = ((ibal*nplane)/32);
 
   31     int ntarg = (nktot/nplane);
 
   32     if(ntarg > nbal){ntarg -= nbal;}
 
   37     for(
int i=0;i<nline;i++){
 
   39       if( (nnow>=ntarg) && (ic<(nplane-1)) ){
 
   41         nmin = MIN(nmin,nnow);
 
   42         nmax = MAX(nmax,nnow);
 
   46     nmin = MIN(nmin,nnow);
 
   47     nmax = MAX(nmax,nnow);
 
   48     double dev = 100.0*((double)(nmax-nmin))/((
double)MAX(nmin,1));
 
   50      if(dev<dev_min || ibal==1){
 
   61   int ntarg = (nktot/nplane);
 
   62   if(ntarg > nbal_min){ntarg = ntarg-nbal_min;}
 
   68   for(
int i=0;i<nline;i++){
 
   69     npts_lgrp[ic] += npts[i];
 
   71     if( (npts_lgrp[ic]>=ntarg) && (ic<(nplane-1)) ){
 
   79   iend_lgrp[(nplane-1)]  = nline;
 
   81   for(
int i=0;i<nplane;i++){
 
   82     kx_str_lgrp[i] = kx_line[istrt_lgrp[i]];
 
   83     kx_end_lgrp[i] = kx_line[(iend_lgrp[i]-1)];
 
   84     ky_str_lgrp[i] = ky_line[istrt_lgrp[i]];
 
   85     ky_end_lgrp[i] = ky_line[(iend_lgrp[i]-1)];
 
   92   int nmin      = npts_lgrp[0];
 
   94   for(
int i=0;i<nplane;i++){
 
   95     nmax = MAX(nmax,npts_lgrp[i]);
 
   96     nmin = MIN(nmin,npts_lgrp[i]);
 
   97     nline_max = MAX(nline_lgrp[i],nline_max);
 
   99   double dev = 100.0*((double)(nmax-nmin))/((
double)MAX(nmin,1));
 
  100   printf(
"max=%d : min=%d : dev=%g : %d %d\n",nmax,nmin,dev,nbal_min,ibal_min);
 
  107   int nnn = npts_lgrp[0];
 
  108   int nc = nline_lgrp[0];
 
  109   if(istrt_lgrp[0]!=0) {ierr++;}
 
  110   for(
int i=1;i<nplane;i++){
 
  111     if(iend_lgrp[(i-1)]!=istrt_lgrp[i]){ierr++;}
 
  115   if(iend_lgrp[(nplane-1)]!=nline){ierr++;}
 
  116   if(nc!=nline){ierr++;}
 
  117   if(nnn!=nktot){ierr++;}
 
  120     PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  121     PRINTF(
"Error in get_plane_line_params\n");
 
  122     PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  144   PRINTF(
"Flip the Complex data!!\n");
 
  147   for(
int i=0;i<nktot;i++){
 
  148     if(kx[i]==0){nplane0++;}
 
  150   int *kxt = (
int *)malloc(nplane0*
sizeof(
int));
 
  151   int *kyt = (
int *)malloc(nplane0*
sizeof(
int));
 
  152   int *kzt = (
int *)malloc(nplane0*
sizeof(
int));
 
  155   for(
int i=0;i<nplane0-1;i++){
 
  161       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  162       PRINTF(
"Error while flipping piny dblpack data set\n");
 
  163       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  167   kxt[(nplane0-1)] = kx[(nktot-1)];
 
  168   kyt[(nplane0-1)] = ky[(nktot-1)];
 
  169   kzt[(nplane0-1)] = kz[(nktot-1)];
 
  171   if(kx[(nktot-1)]!=0 || ky[(nktot-1)] || kz[(nktot-1)]){
 
  172     PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  173     PRINTF(
"Error while flipping piny dblpack data set\n");
 
  174     PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  181   for(
int i=nktot-2;i>=0;i--){
 
  182     kx[(i+nplane0)] = kx[i];
 
  183     ky[(i+nplane0)] = ky[i];
 
  184     kz[(i+nplane0)] = kz[i];
 
  192   for(
int i=0;i<nplane0-1;i++){
 
  193     kx[i] =  kxt[nplane0-i-2];
 
  194     ky[i] = -kyt[nplane0-i-2];
 
  195     kz[i] = -kzt[nplane0-i-2];
 
  198     if(kx[i]!=0 || ky[i]<ky[i1]){
 
  199       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  200       PRINTF(
"Error while flipping piny dblpack data set\n");
 
  201       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  206   kx[(nplane0-1)] = kxt[(nplane0-1)];
 
  207   ky[(nplane0-1)] = kyt[(nplane0-1)];
 
  208   kz[(nplane0-1)] = kzt[(nplane0-1)];
 
  209   if(nktot>=nplane0+1){
 
  210     if(kx[nplane0]!= 0 || ky[nplane0]!=0 || kz[nplane0]!=1){
 
  211       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  212       PRINTF(
"Error while flipping piny dblpack data set\n");
 
  213       PRINTF(
"@@@@@@@@@@@@@@@@@@@@_Error_@@@@@@@@@@@@@@@@@@@@\n");
 
  218 #ifdef _GLENN_DBG_FLIP 
  219   int nnn = MIN(nplane0+3,nktot);
 
  220   for(
int i=0;i<nnn;i++){
 
  221     PRINTF(
" %d : %d %d %d \n",i,kx[i],ky[i],kz[i]);
 
  228   (*n_ret) = (nktot+nplane0-1);
 
static void get_plane_line_prms(int, int, int, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *)
functions 
 
static void flip_data_set(int, int *, int *, int *, int *)