File comp_rational_data.h
File List > comp-rational_data > src > comp_rational_data.h
Go to the documentation of this file
#ifndef COMPUTATION_RATIONAL_DATA_H
#define COMPUTATION_RATIONAL_DATA_H
/******************************************************************************/
/*************************** Includes *****************************************/
/******************************************************************************/
#include "computation_defs.h"
#include "notation_tv.h"
#include "storage_defs.h"
#include "stdbool.h"
#include "stdlib.h"
#include "string.h"
/******************************************************************************/
/*************************** Defines ******************************************/
/******************************************************************************/
/*************************** Write Keys *************************************/
#define COMP_RATIONAL_DAT_STORAGE_UKEY ("COMP_RATIONAL_DAT")
/*@@@TODO: add keys*/
/*************************** Config *******************************************/
#define COMP_RATIONAL_DAT_CONFIG_IS_NULL (0x1u << 1u)
#define COMP_RATIONAL_DAT_CONFIG_BUFFER (0x1u << 2u)
#define COMP_RATIONAL_DAT_CONFIG_STR_BUFFER (0x1u << 3u)
/******************************************************************************/
/*************************** Typedefs *****************************************/
/******************************************************************************/
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct {
int numerator;
int denominator;
char *parity;
int num_algebraic_equ;
int den_algebraic_equ;
} comp_rational_data_result_t;
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct {
storage_write_funptr_t storage_write;
note_tv_t * tv_n;
char * tv_str_buff;
size_t tv_str_buff_len;
} comp_rational_data_config_t;
#ifdef __cplusplus
}
#endif
/******************************************************************************/
/*************************** Public Function Declarations *********************/
/******************************************************************************/
#ifdef __cplusplus
extern "C"
{
#endif
uint8_t comp_rational_data_config(comp_rational_data_config_t *config_arg);
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"
{
#endif
uint8_t comp_rational_data_compute();
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"
{
#endif
const comp_rational_data_result_t *comp_rational_data_result();
#ifdef __cplusplus
}
#endif
#endif /* end COMPUTATION_RATIONAL_DATA_H */