/* SPDX-License-Identifier: BSD-2-Clause */ /* Copyright 1996-2020 The NASM Authors - All Rights Reserved */ /* * floats.h header file for the floating-point constant module of * the Netwide Assembler */ #ifndef NASM_FLOATS_H #define NASM_FLOATS_H #include "nasm.h" enum float_round { FLOAT_RC_NEAR, FLOAT_RC_ZERO, FLOAT_RC_DOWN, FLOAT_RC_UP }; /* Note: enum floatize and FLOAT_ERR are defined in nasm.h */ /* Floating-point format description */ struct ieee_format { int bytes; /* Total bytes */ int mantissa; /* Fractional bits in the mantissa */ int explicit; /* Explicit integer */ int exponent; /* Bits in the exponent */ int offset; /* Offset into byte array for floatize op */ }; extern const struct ieee_format fp_formats[FLOAT_ERR]; int float_const(const char *str, int s, uint8_t *result, enum floatize ffmt); enum floatize const_func float_deffmt(int bytes); int float_option(const char *option); #endif /* NASM_FLOATS_H */