116 #define QOF_NUMERIC_RND_MASK 0x0000000f
117 #define QOF_NUMERIC_DENOM_MASK 0x000000f0
118 #define QOF_NUMERIC_SIGFIGS_MASK 0x0000ff00
203 #define QOF_HOW_DENOM_SIGFIGS( n ) ( ((( n ) & 0xff) << 8) | QOF_HOW_DENOM_SIGFIG)
204 #define QOF_HOW_GET_SIGFIGS( a ) ( (( a ) & 0xff00 ) >> 8)
231 #define QOF_DENOM_AUTO 0
234 #define QOF_DENOM_RECIPROCAL( a ) (- ( a ))
372 gint64 denom, gint how);
377 gint64 denom, gint how);
386 gint64 denom, gint how);
397 gint64 denom, gint how);
437 gint64 denom, gint how,
444 gint64 denom, gint how,
452 gint64 denom, gint how,
460 gint64 denom, gint how,
489 #define QOF_RND_FLOOR QOF_HOW_RND_FLOOR
490 #define QOF_RND_CEIL QOF_HOW_RND_CEIL
491 #define QOF_RND_TRUNC QOF_HOW_RND_TRUNC
492 #define QOF_RND_PROMOTE QOF_HOW_RND_PROMOTE
493 #define QOF_RND_ROUND_HALF_DOWN QOF_HOW_RND_ROUND_HALF_DOWN
494 #define QOF_RND_ROUND_HALF_UP QOF_HOW_RND_ROUND_HALF_UP
495 #define QOF_RND_ROUND QOF_HOW_RND_ROUND
496 #define QOF_RND_NEVER QOF_HOW_RND_NEVER
498 #define QOF_DENOM_EXACT QOF_HOW_DENOM_EXACT
499 #define QOF_DENOM_REDUCE QOF_HOW_DENOM_REDUCE
500 #define QOF_DENOM_LCD QOF_HOW_DENOM_LCD
501 #define QOF_DENOM_FIXED QOF_HOW_DENOM_FIXED
502 #define QOF_DENOM_SIGFIG QOF_HOW_DENOM_SIGFIG
504 #define QOF_DENOM_SIGFIGS(X) QOF_HOW_DENOM_SIGFIGS(X)
505 #define QOF_NUMERIC_GET_SIGFIGS(X) QOF_HOW_GET_SIGFIGS(X)
QofNumericErrorCode qof_numeric_check(QofNumeric a)
QofNumeric qof_numeric_mul_with_error(QofNumeric a, QofNumeric b, gint64 denom, gint how, QofNumeric *error)
QofNumeric qof_numeric_convert_with_error(QofNumeric in, gint64 denom, gint how, QofNumeric *error)
gint qof_numeric_same(QofNumeric a, QofNumeric b, gint64 denom, gint how)
QofNumeric qof_numeric_mul(QofNumeric a, QofNumeric b, gint64 denom, gint how)
gint qof_numeric_compare(QofNumeric a, QofNumeric b)
QofNumeric qof_numeric_sub_with_error(QofNumeric a, QofNumeric b, gint64 denom, gint how, QofNumeric *error)
QofNumeric qof_numeric_error(QofNumericErrorCode error_code)
gdouble qof_numeric_to_double(QofNumeric in)
gboolean qof_numeric_equal(QofNumeric a, QofNumeric b)
static gint64 qof_numeric_num(QofNumeric a)
QofNumeric qof_numeric_div_with_error(QofNumeric a, QofNumeric b, gint64 denom, gint how, QofNumeric *error)
gchar * qof_numeric_dbg_to_string(QofNumeric n)
QofNumeric qof_numeric_add_with_error(QofNumeric a, QofNumeric b, gint64 denom, gint how, QofNumeric *error)
QofNumeric qof_numeric_abs(QofNumeric a)
static gint64 qof_numeric_denom(QofNumeric a)
gboolean qof_numeric_from_string(const gchar *str, QofNumeric *n)
QofNumeric qof_numeric_reduce(QofNumeric in)
static QofNumeric qof_numeric_sub_fixed(QofNumeric a, QofNumeric b)
static QofNumeric qof_numeric_create(gint64 num, gint64 denom)
gboolean qof_numeric_zero_p(QofNumeric a)
gboolean qof_numeric_eq(QofNumeric a, QofNumeric b)
QofNumeric qof_numeric_neg(QofNumeric a)
QofNumeric qof_numeric_sub(QofNumeric a, QofNumeric b, gint64 denom, gint how)
gchar * qof_numeric_to_string(QofNumeric n)
gboolean qof_numeric_negative_p(QofNumeric a)
QofNumeric qof_numeric_convert(QofNumeric in, gint64 denom, gint how)
QofNumeric qof_numeric_add(QofNumeric a, QofNumeric b, gint64 denom, gint how)
QofNumeric qof_numeric_from_double(gdouble in, gint64 denom, gint how)
gboolean qof_numeric_positive_p(QofNumeric a)
static QofNumeric qof_numeric_zero(void)
QofNumeric qof_numeric_div(QofNumeric x, QofNumeric y, gint64 denom, gint how)
static QofNumeric qof_numeric_add_fixed(QofNumeric a, QofNumeric b)