With the operators below you can convert the numerical data type of your input, see Numeric data types. Type conversion is particularly useful when dealing with integers, see Integer benefits and pitfalls.
As an example, let’s assume that your colleague gives you many single exposure images for processing, but they have a double-precision floating point type!
You know that the statistical error a single-exposure image can never exceed 6 or 7 significant digits, so you would prefer to archive them as a single-precision floating point and save space on your computer (a double-precision floating point is also double the file size!).
You can do this with the float32
operator described below.
u8
uint8
Convert the type of the popped operand to 8-bit unsigned integer type (see Numeric data types). The internal conversion of C will be used.
i8
int8
Convert the type of the popped operand to 8-bit signed integer type (see Numeric data types). The internal conversion of C will be used.
u16
uint16
Convert the type of the popped operand to 16-bit unsigned integer type (see Numeric data types). The internal conversion of C will be used.
i16
int16
Convert the type of the popped operand to 16-bit signed integer (see Numeric data types). The internal conversion of C will be used.
u32
uint32
Convert the type of the popped operand to 32-bit unsigned integer type (see Numeric data types). The internal conversion of C will be used.
i32
int32
Convert the type of the popped operand to 32-bit signed integer type (see Numeric data types). The internal conversion of C will be used.
u64
uint64
Convert the type of the popped operand to 64-bit unsigned integer (see Numeric data types). The internal conversion of C will be used.
f32
float32
Convert the type of the popped operand to 32-bit (single precision) floating point (see Numeric data types). The internal conversion of C will be used. For example, if f64.fits is a 64-bit floating point image, and you want to store it as a 32-bit floating point image, you can use the command below (the second command is to show that the output file consumes half the storage)
$ astarithmetic f64.fits float32 --output=f32.fits $ ls -lh f64.fits f32.fits
f64
float64
Convert the type of the popped operand to 64-bit (double precision) floating point (see Numeric data types). The internal conversion of C will be used.
GNU Astronomy Utilities 0.23 manual, July 2024.