IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 3, 2013, 2:08:28 PM (13 years ago)
Author:
eugene
Message:

add some init functions for tables and matrices

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libfits/table/F_define_column.c

    r33648 r35756  
    11# include <ohana.h>
    22# include <gfitsio.h>
     3
     4# if (0)
     5/*** special version of this function to define unsigned int columns (special values for BZERO, BSCALE) ********************/
     6int gfits_define_bintable_column_unsigned_int (Header *header, char *format, char *label, char *comment, char *unit, int inttype) {
     7
     8  assert (label);
     9  assert (format);
     10
     11  off_t Naxis1;
     12  int Nfields, Nbytes, Nval;
     13  char type[16], field[16];
     14 
     15  if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return (FALSE);
     16 
     17  Nfields = 0;
     18  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
     19  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Naxis1);
     20  Nfields ++;
     21  Naxis1 += Nbytes*Nval;
     22
     23  sprintf (field, "TTYPE%d", Nfields);
     24  gfits_modify (header, field, "%s", 1, label);
     25  gfits_modify_alt (header, field, "%C", 1, comment);
     26  sprintf (field, "TUNIT%d", Nfields);
     27  gfits_modify (header, field, "%s", 1, unit);
     28  sprintf (field, "TFORM%d", Nfields);
     29  gfits_modify (header, field, "%s", 1, format);
     30
     31  // add scaling parameters unless they amount to a noop
     32  if ((bscale != 1.0) || (bzero != 0.0)) {
     33      sprintf (field, "TSCAL%d", Nfields);
     34      gfits_modify (header, field, "%lf", 1, bscale);
     35      sprintf (field, "TZERO%d", Nfields);
     36      gfits_modify (header, field, "%lf", 1, bzero);
     37  }
     38
     39  /* update TFIELDS & NAXIS1 */
     40  gfits_modify (header, "TFIELDS", "%d", 1, Nfields);
     41  gfits_modify (header, "NAXIS1",  OFF_T_FMT, 1,  Naxis1);
     42  header[0].Naxis[0] = Naxis1;
     43
     44  return (TRUE);
     45}
     46# endif
    347
    448/***********************/
Note: See TracChangeset for help on using the changeset viewer.