about summary refs log blame commit diff stats
path: root/numericx.h
blob: 0a9a3999f6efdac5e1dfbeac1f3c288e31b23f6a (plain) (tree)




























                                                                                        


                            



                                                                                                                                                                                                                                           
/** @file numericx.h
 * Numericx library header file.
 */
#ifndef _NUMERICX_H
#define _NUMERICX_H

#include <stdbool.h>

#define PROG_NAME "numericx"

/* ||DATA STRUCTURE|| */

/**
 * @brief Numeral structure
 *
 * This struct is in use to apply our operations on the number.
 * The number are converted to this struct, the operations are applied,
 * and on the end, the resulting number is converted from this struct.
 */
typedef struct NumeralPtr
{
	char const* symbol; /**< a pointer to the glyph/numeral/symbol of this digit. */
	struct NumeralPtr *next; /**< a pointer to the next digit */
	struct NumeralPtr *previous; /**< a pointer to the previous digit */
} numeral_ptr;


/* ||FUNCTIONS|| */

void
numericx_free(char* string);

int
numericx_translate(char* from, bool from_units_on_the_end, bool from_first_number_void, bool from_infinite_base, char* to, bool to_units_on_the_end, bool to_first_number_void, bool to_infinite_base, char* number, char** result_string);

#endif