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.22 manual, February 2024.