pico-scale
|
#include <stdbool.h>
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | mass_t |
Enumerations | |
enum | mass_unit_t { mass_ug = 0 , mass_mg , mass_g , mass_kg , mass_ton , mass_imp_ton , mass_us_ton , mass_st , mass_lb , mass_oz } |
Functions | |
const char *const | mass_unit_to_string (const mass_unit_t u) |
Returns a pointer to char with the textual representation of the unit. More... | |
const double *const | mass_unit_to_ratio (const mass_unit_t u) |
Returns a pointer to a double with the number of micrograms per unit. More... | |
void | mass_convert (const double *const fromAmount, double *const toAmount, const mass_unit_t fromUnit, const mass_unit_t toUnit) |
Converts a floating point value from one unit to another. More... | |
void | mass_init (mass_t *const m, const mass_unit_t unit, const double val) |
Initialises a mass_t with the given unit and value. More... | |
void | mass_get_value (const mass_t *const m, double *const val) |
Sets val to the value representing the mass_t according to its unt. More... | |
void | mass_add (const mass_t *const lhs, const mass_t *const rhs, mass_t *const res) |
Add lhs to rhs and store result in res. More... | |
void | mass_sub (const mass_t *const lhs, const mass_t *const rhs, mass_t *const res) |
Substract rhs from lhs and store result in res. More... | |
void | mass_mul (const mass_t *const lhs, const mass_t *const rhs, mass_t *const res) |
Multiply lhs by rhs and store result in res. More... | |
bool | mass_div (const mass_t *const lhs, const mass_t *const rhs, mass_t *const res) |
Divide lhs by rhs and store result in res, returns false if rhs is 0. More... | |
void | mass_addeq (mass_t *const self, const mass_t *const rhs) |
Add rhs to self. More... | |
void | mass_subeq (mass_t *const self, const mass_t *const rhs) |
Subtract rhs from self. More... | |
void | mass_muleq (mass_t *const self, const mass_t *const rhs) |
Multiply self by rhs. More... | |
bool | mass_diveq (mass_t *const self, const mass_t *const rhs) |
Divide self by rhs, returns false if rhs is 0. More... | |
bool | mass_eq (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs equals rhs. More... | |
bool | mass_neq (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs does not equal rhs. More... | |
bool | mass_lt (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs is less than rhs. More... | |
bool | mass_gt (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs is greater than rhs. More... | |
bool | mass_lteq (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs is less than or equal to rhs. More... | |
bool | mass_gteq (const mass_t *const lhs, const mass_t *const rhs) |
Returns true if lhs is greater than or equal to rhs. More... | |
int | mass_to_string (const mass_t *const m, char *const buff) |
Fills buff with the string representation of the mass_t. eg. "32.4762 mg". More... | |
Variables | |
static const double | MASS_RATIOS [] |
static const char *const | MASS_NAMES [] |
static const size_t | MASS_TO_STRING_BUFF_SIZE = 64 |
enum mass_unit_t |
Add lhs to rhs and store result in res.
lhs | |
rhs | |
res |
Definition at line 87 of file mass.c.
References mass_t::ug, and mass_t::unit.
Referenced by mass_addeq().
void mass_convert | ( | const double *const | fromAmount, |
double *const | toAmount, | ||
const mass_unit_t | fromUnit, | ||
const mass_unit_t | toUnit | ||
) |
Converts a floating point value from one unit to another.
fromAmount | |
toAmount | |
fromUnit | |
toUnit |
Definition at line 40 of file mass.c.
References mass_convert(), mass_ug, and mass_unit_to_ratio().
Referenced by mass_convert(), mass_get_value(), and mass_init().
Divide lhs by rhs and store result in res, returns false if rhs is 0.
lhs | |
rhs | |
res |
Definition at line 129 of file mass.c.
References mass_t::ug, and mass_t::unit.
Referenced by mass_diveq().
Divide self by rhs, returns false if rhs is 0.
self | |
rhs |
Definition at line 167 of file mass.c.
References mass_div().
Returns true if lhs equals rhs.
lhs | |
rhs |
Definition at line 173 of file mass.c.
References mass_t::ug.
Referenced by mass_neq().
void mass_get_value | ( | const mass_t *const | m, |
double *const | val | ||
) |
Sets val to the value representing the mass_t according to its unt.
m | |
val |
Definition at line 76 of file mass.c.
References mass_convert(), mass_ug, mass_t::ug, and mass_t::unit.
Referenced by mass_to_string().
Returns true if lhs is greater than rhs.
lhs | |
rhs |
Definition at line 207 of file mass.c.
References mass_lt().
Referenced by mass_lteq().
void mass_init | ( | mass_t *const | m, |
const mass_unit_t | unit, | ||
const double | val | ||
) |
Initialises a mass_t with the given unit and value.
m | |
unit | |
val |
Definition at line 64 of file mass.c.
References mass_convert(), mass_ug, mass_t::ug, and mass_t::unit.
Referenced by scale_weight().
Returns true if lhs is less than rhs.
lhs | |
rhs |
Definition at line 196 of file mass.c.
References mass_t::ug.
Referenced by mass_gt(), and mass_gteq().
Returns true if lhs is less than or equal to rhs.
lhs | |
rhs |
Definition at line 218 of file mass.c.
References mass_gt().
Multiply lhs by rhs and store result in res.
lhs | |
rhs | |
res |
Definition at line 115 of file mass.c.
References mass_t::ug, and mass_t::unit.
Referenced by mass_muleq().
Multiply self by rhs.
self | |
rhs |
Definition at line 161 of file mass.c.
References mass_mul().
Returns true if lhs does not equal rhs.
lhs | |
rhs |
Definition at line 185 of file mass.c.
References mass_eq().
Substract rhs from lhs and store result in res.
lhs | |
rhs | |
res |
Definition at line 101 of file mass.c.
References mass_t::ug, and mass_t::unit.
Referenced by mass_subeq().
Subtract rhs from self.
self | |
rhs |
Definition at line 155 of file mass.c.
References mass_sub().
int mass_to_string | ( | const mass_t *const | m, |
char *const | buff | ||
) |
Fills buff with the string representation of the mass_t. eg. "32.4762 mg".
m | |
buff | Must be at least MASS_TO_STRING_BUFF_SIZE in length |
Definition at line 241 of file mass.c.
References mass_get_value(), MASS_TO_STRING_BUFF_SIZE, mass_unit_to_string(), and mass_t::unit.
const double* const mass_unit_to_ratio | ( | const mass_unit_t | u | ) |
Returns a pointer to a double with the number of micrograms per unit.
u |
Definition at line 36 of file mass.c.
References MASS_RATIOS.
Referenced by mass_convert().
const char* const mass_unit_to_string | ( | const mass_unit_t | u | ) |
Returns a pointer to char with the textual representation of the unit.
u |
Definition at line 32 of file mass.c.
References MASS_NAMES.
Referenced by mass_to_string().
|
static |
Definition at line 46 of file mass.h.
Referenced by mass_unit_to_string().
|
static |
Definition at line 33 of file mass.h.
Referenced by mass_unit_to_ratio().
|
static |
Definition at line 59 of file mass.h.
Referenced by mass_to_string().