IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 12, 2015, 6:18:23 PM (11 years ago)
Author:
eugene
Message:

merge changes from EAM dev branch ohana.20150429

Location:
trunk/Ohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

  • trunk/Ohana/src/libfits/table/F_table_format.c

    r37039 r38441  
    88int gfits_bintable_format (char *format, char *type, int *Nval, int *Nbytes) {
    99
    10   char *Lchar, *Fchar;
    11   int Nv;
    12 
    13   if (format == (char *) NULL) return (FALSE);
    14   if (format[0] == 0) return (FALSE);
    15   Lchar = &format[strlen(format) - 1];
    16 
    17   Nv = strtol (format, &Fchar, 10);
    18   if (Fchar != Lchar) return (FALSE);
     10  char *Fchar;
     11
     12  if (format == (char *) NULL) return (FALSE); // format must be defined
     13  if (format[0] == 0) return (FALSE);          // format must not be empty string
     14  // char *Lchar = &format[strlen(format) - 1];        // last-char pointer
     15
     16  int Nv = strtol (format, &Fchar, 10);            // Fchar points at end of leading number
     17  // if (Fchar != Lchar) return (FALSE);       -- this test is invalid for eg 1PB(nn)
    1918  if ((Nv == 0) && (Fchar == format)) Nv = 1;
    2019
     
    5150    { *Nbytes = 8;  strcpy (type, "double"); *Nval = Nv;               }
    5251    break;
    53   case  'P':
    54     { *Nbytes = 8;  strcpy (type, "var");    *Nval = 2*Nv;             }
    55     break;
    5652  case  'C':
    5753    { *Nbytes = 8;  strcpy (type, "float");  *Nval = 2*Nv;             }
     
    5955  case  'M':
    6056    { *Nbytes = 16; strcpy (type, "double"); *Nval = 2*Nv;             }
     57    break;
     58  case  'P':
     59    { *Nbytes = 4;  strcpy (type, "var");    *Nval = 2*Nv;             }
     60    break;
     61  case  'Q':
     62    { *Nbytes = 8;  strcpy (type, "var64"); *Nval = 2*Nv;             }
    6163    break;
    6264  default:
     
    8082   C - complex float
    8183   M - complex double
    82    P - var length array descrpt (64 bit)
     84   P - var length array descrpt (32 bit pointer)
     85   Q - var length array descrpt (64 bit pointer)
    8386   
    8487   all can be preceeded by integer N which specified number
    8588   of entries in array
    86    
    8789*/
    8890
Note: See TracChangeset for help on using the changeset viewer.