Changeset 7054 for trunk/Ohana/src/libfits/table/F_get_column.c
- Timestamp:
- May 3, 2006, 12:01:09 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libfits/table/F_get_column.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libfits/table/F_get_column.c
r7039 r7054 13 13 14 14 /***********************/ 15 int fits_get_bintable_column_type (Header *header, char *label, char *type, int *Nval) {15 int gfits_get_bintable_column_type (Header *header, char *label, char *type, int *Nval) { 16 16 17 17 int i, N, Nfields, Nbytes; … … 23 23 /* find label in header */ 24 24 tlabel[0] = 0; 25 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);26 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 27 sprintf (field, "TTYPE%d", i); 28 fits_scan (header, field, "%s", 1, tlabel);29 } 30 if (strcmp (label, tlabel)) return (FALSE); 31 N = i - 1; 32 33 sprintf (field, "TFORM%d", N); 34 fits_scan (header, field, "%s", 1, format);35 36 if (! fits_bintable_format (format, type, Nval, &Nbytes)) return (FALSE);37 return (TRUE); 38 } 39 40 /***********************/ 41 int fits_get_bintable_column (Header *header, FTable *table, char *label, void **data) {25 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 26 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 27 sprintf (field, "TTYPE%d", i); 28 gfits_scan (header, field, "%s", 1, tlabel); 29 } 30 if (strcmp (label, tlabel)) return (FALSE); 31 N = i - 1; 32 33 sprintf (field, "TFORM%d", N); 34 gfits_scan (header, field, "%s", 1, format); 35 36 if (!gfits_bintable_format (format, type, Nval, &Nbytes)) return (FALSE); 37 return (TRUE); 38 } 39 40 /***********************/ 41 int gfits_get_bintable_column (Header *header, FTable *table, char *label, void **data) { 42 42 43 43 int i, N, Nfields, Nval, Nbytes, Nx, Ny, Nstart, Nv, Nb; … … 52 52 /* find label in header */ 53 53 tlabel[0] = 0; 54 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);55 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 56 sprintf (field, "TTYPE%d", i); 57 fits_scan (header, field, "%s", 1, tlabel);54 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 55 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 56 sprintf (field, "TTYPE%d", i); 57 gfits_scan (header, field, "%s", 1, tlabel); 58 58 } 59 59 if (strcmp (label, tlabel)) return (FALSE); … … 65 65 /* interpret format */ 66 66 sprintf (field, "TSCAL%d", Nfields); 67 fits_scan (header, field, "%lf", 1, &Bscale);67 gfits_scan (header, field, "%lf", 1, &Bscale); 68 68 sprintf (field, "TZERO%d", Nfields); 69 fits_scan (header, field, "%lf", 1, &Bzero);70 sprintf (field, "TFORM%d", N); 71 fits_scan (header, field, "%s", 1, format);72 73 if (! fits_bintable_format (format, type, &Nval, &Nbytes)) return (FALSE);69 gfits_scan (header, field, "%lf", 1, &Bzero); 70 sprintf (field, "TFORM%d", N); 71 gfits_scan (header, field, "%s", 1, format); 72 73 if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return (FALSE); 74 74 75 75 /* check existing table dimensions */ 76 fits_scan (header, "NAXIS1", "%d", 1, &Nx);77 fits_scan (header, "NAXIS2", "%d", 1, &Ny);76 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 77 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 78 78 79 79 /* scan columns to find insert point */ … … 81 81 for (i = 1; i < N; i++) { 82 82 sprintf (field, "TFORM%d", i); 83 fits_scan (header, field, "%s", 1, format);84 fits_bintable_format (format, tmpline, &Nv, &Nb);83 gfits_scan (header, field, "%s", 1, format); 84 gfits_bintable_format (format, tmpline, &Nv, &Nb); 85 85 Nstart += Nv*Nb; 86 86 } … … 163 163 164 164 /***********************/ 165 int fits_get_table_column_type (Header *header, char *label, char *type) {165 int gfits_get_table_column_type (Header *header, char *label, char *type) { 166 166 167 167 int i, N, Nfields, Nval, Nbytes; … … 173 173 /* find label in header */ 174 174 tlabel[0] = 0; 175 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);176 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 177 sprintf (field, "TTYPE%d", i); 178 fits_scan (header, field, "%s", 1, tlabel);175 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 176 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 177 sprintf (field, "TTYPE%d", i); 178 gfits_scan (header, field, "%s", 1, tlabel); 179 179 } 180 180 if (strcmp (label, tlabel)) return (FALSE); … … 183 183 /* interpret format */ 184 184 sprintf (field, "TFORM%d", N); 185 fits_scan (header, field, "%s", 1, format);186 187 if (! fits_table_format (format, type, &Nval, &Nbytes)) return (FALSE);188 return (TRUE); 189 } 190 191 /***********************/ 192 int fits_get_table_column (Header *header, FTable *table, char *label, void **data) {185 gfits_scan (header, field, "%s", 1, format); 186 187 if (!gfits_table_format (format, type, &Nval, &Nbytes)) return (FALSE); 188 return (TRUE); 189 } 190 191 /***********************/ 192 int gfits_get_table_column (Header *header, FTable *table, char *label, void **data) { 193 193 194 194 int i, N, Nfields, Nval, Nbytes, Nx, Ny, Nstart, Nv, Nb; … … 202 202 /* find label in header */ 203 203 tlabel[0] = 0; 204 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);205 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 206 sprintf (field, "TTYPE%d", i); 207 fits_scan (header, field, "%s", 1, tlabel);204 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 205 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 206 sprintf (field, "TTYPE%d", i); 207 gfits_scan (header, field, "%s", 1, tlabel); 208 208 } 209 209 if (strcmp (label, tlabel)) return (FALSE); … … 212 212 /* interpret format */ 213 213 sprintf (field, "TFORM%d", N); 214 fits_scan (header, field, "%s", 1, format);215 216 if (! fits_table_format (format, type, &Nval, &Nbytes)) return (FALSE);214 gfits_scan (header, field, "%s", 1, format); 215 216 if (!gfits_table_format (format, type, &Nval, &Nbytes)) return (FALSE); 217 217 strcpy (cformat, format); 218 218 219 219 /* check existing table dimensions */ 220 fits_scan (header, "NAXIS1", "%d", 1, &Nx);221 fits_scan (header, "NAXIS2", "%d", 1, &Ny);220 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 221 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 222 222 223 223 /* scan columns to find insert point */ … … 225 225 for (i = 1; i < N; i++) { 226 226 sprintf (field, "TFORM%d", i); 227 fits_scan (header, field, "%s", 1, format);228 fits_table_format (format, tmp, &Nv, &Nb);227 gfits_scan (header, field, "%s", 1, format); 228 gfits_table_format (format, tmp, &Nv, &Nb); 229 229 Nstart += Nv*Nb; 230 230 }
Note:
See TracChangeset
for help on using the changeset viewer.
