1  /* SPDX-License-Identifier: MIT */
2  
3  /* Copyright 2024 Advanced Micro Devices, Inc. */
4  
5  #ifndef SPL_CUSTOM_FLOAT_H_
6  #define SPL_CUSTOM_FLOAT_H_
7  
8  #include "spl_os_types.h"
9  #include "spl_fixpt31_32.h"
10  
11  struct spl_custom_float_format {
12  	uint32_t mantissa_bits;
13  	uint32_t exponenta_bits;
14  	bool sign;
15  };
16  
17  struct spl_custom_float_value {
18  	uint32_t mantissa;
19  	uint32_t exponenta;
20  	uint32_t value;
21  	bool negative;
22  };
23  
24  bool spl_convert_to_custom_float_format(
25  	struct spl_fixed31_32 value,
26  	const struct spl_custom_float_format *format,
27  	uint32_t *result);
28  
29  #endif //SPL_CUSTOM_FLOAT_H_
30