From f975594e55bdc05ee436bc7bdcd6e09aec5357b1 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Sun, 7 Apr 2024 10:53:40 +0300 Subject: Finished implementation for formatting for human readability --- formatting.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 formatting.h (limited to 'formatting.h') diff --git a/formatting.h b/formatting.h new file mode 100644 index 0000000..b9ef53b --- /dev/null +++ b/formatting.h @@ -0,0 +1,30 @@ + +#ifndef FORMATTING_IS_IMPORTED +#define FORMATTING_IS_IMPORTED + +struct exp_val { + int mantissa; + int exponent; + int base; +}; +typedef struct exp_val exp_notated; + +exp_notated int_floored_exponent_notation_base( + int x, + unsigned int precision, + unsigned int base +); +exp_notated int_ceiled_exponent_notation_base( + int x, + unsigned int precision, + unsigned int base +); +exp_notated int_floored_exponent_notation(int x, unsigned int precision); +exp_notated int_ceiled_exponent_notation(int x, unsigned int precision); +int exp_notated_to_int(exp_notated x); +const char* binary_prefix(exp_notated x); +const char* prefix(exp_notated x); +int int_floored_with_binary_prefix(char** res, size_t* res_bufsize, int x); +int int_floored_with_prefix(char** res, size_t* res_bufsize, int x, unsigned int precision); + +#endif -- cgit v1.2.3