78 fitsio_type = TUSHORT;
87 fitsio_type = TLONGLONG;
90 fitsio_type = TULONGLONG;
96 fitsio_type = TDOUBLE;
99 throw std::runtime_error(fmt::format(
"{}: Unsupported data type for FITS: {}",
100 FNDLOC,
static_cast<int>(data_type)));
156 throw std::runtime_error(fmt::format(
"{}: Unsupported data type for FITS BITPIX: {}",
157 FNDLOC,
static_cast<int>(data_type)));
168 inline static int BitpixToCfitsioDataType(
BitPix bitpix) {
169 int cfitsio_datatype;
174 cfitsio_datatype = TSBYTE;
178 cfitsio_datatype = TBYTE;
182 cfitsio_datatype = TSHORT;
186 cfitsio_datatype = TUSHORT;
190 cfitsio_datatype = TINT;
194 cfitsio_datatype = TUINT;
198 cfitsio_datatype = TLONGLONG;
202 cfitsio_datatype = TULONGLONG;
206 cfitsio_datatype = TFLOAT;
210 cfitsio_datatype = TDOUBLE;
214 cfitsio_datatype = -1;
216 return cfitsio_datatype;
225 inline static int BitPixInBytes(
BitPix bitpix) {
230 return ifw::fnd::datatype::DU_SIZE_1;
234 return ifw::fnd::datatype::DU_SIZE_1;
238 return ifw::fnd::datatype::DU_SIZE_2;
242 return ifw::fnd::datatype::DU_SIZE_2;
246 return ifw::fnd::datatype::DU_SIZE_4;
250 return ifw::fnd::datatype::DU_SIZE_4;
254 return ifw::fnd::datatype::DU_SIZE_8;
258 return ifw::fnd::datatype::DU_SIZE_8;
262 return ifw::fnd::datatype::DU_SIZE_4;
266 return ifw::fnd::datatype::DU_SIZE_8;