diff options
Diffstat (limited to 'formatting.h')
-rw-r--r-- | formatting.h | 30 |
1 files changed, 30 insertions, 0 deletions
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 |