57 #include <glib-object.h>
127 #define GNC_NUMERIC_RND_MASK 0x0000000f
128 #define GNC_NUMERIC_DENOM_MASK 0x000000f0
129 #define GNC_NUMERIC_SIGFIGS_MASK 0x0000ff00
218 #define GNC_HOW_DENOM_SIGFIGS( n ) ( ((( n ) & 0xff) << 8) | GNC_HOW_DENOM_SIGFIG)
219 #define GNC_HOW_GET_SIGFIGS( a ) ( (( a ) & 0xff00 ) >> 8)
246 #define GNC_DENOM_AUTO 0
249 #define GNC_DENOM_RECIPROCAL( a ) (- ( a ))
259 gnc_numeric gnc_numeric_create(gint64 num, gint64 denom)
271 return gnc_numeric_create(0, 1);
389 gint64 denom, gint how);
397 gint64 denom, gint how);
401 gint64 denom, gint how);
409 gint64 denom, gint how);
419 gint64 denom, gint how);
459 gint64 denom, gint how,
465 gint64 denom, gint how,
472 gint64 denom, gint how,
479 gint64 denom, gint how,
510 guint8 * max_decimal_places);
516 GType gnc_numeric_get_type(
void );
517 #define GNC_TYPE_NUMERIC (gnc_numeric_get_type ())
gnc_numeric gnc_numeric_mul_with_error(gnc_numeric a, gnc_numeric b, gint64 denom, gint how, gnc_numeric *error)
gboolean gnc_numeric_equal(gnc_numeric a, gnc_numeric b)
gchar * gnc_num_dbg_to_string(gnc_numeric n)
gnc_numeric double_to_gnc_numeric(double n, gint64 denom, gint how)
gnc_numeric gnc_numeric_add_with_error(gnc_numeric a, gnc_numeric b, gint64 denom, gint how, gnc_numeric *error)
gnc_numeric gnc_numeric_neg(gnc_numeric a)
gnc_numeric gnc_numeric_add(gnc_numeric a, gnc_numeric b, gint64 denom, gint how)
gboolean gnc_numeric_to_decimal(gnc_numeric *a, guint8 *max_decimal_places)
gboolean gnc_numeric_zero_p(gnc_numeric a)
gint gnc_numeric_compare(gnc_numeric a, gnc_numeric b)
gchar * gnc_numeric_to_string(gnc_numeric n)
gnc_numeric gnc_numeric_sub_with_error(gnc_numeric a, gnc_numeric b, gint64 denom, gint how, gnc_numeric *error)
gboolean string_to_gnc_numeric(const gchar *str, gnc_numeric *n)
gboolean gnc_numeric_negative_p(gnc_numeric a)
gnc_numeric gnc_numeric_reduce(gnc_numeric n)
gdouble gnc_numeric_to_double(gnc_numeric n)
gnc_numeric gnc_numeric_convert(gnc_numeric n, gint64 denom, gint how)
gnc_numeric gnc_numeric_mul(gnc_numeric a, gnc_numeric b, gint64 denom, gint how)
const char * gnc_numeric_errorCode_to_string(GNCNumericErrorCode error_code)
gnc_numeric gnc_numeric_error(GNCNumericErrorCode error_code)
gnc_numeric gnc_numeric_abs(gnc_numeric a)
gnc_numeric gnc_numeric_div(gnc_numeric x, gnc_numeric y, gint64 denom, gint how)
gboolean gnc_numeric_eq(gnc_numeric a, gnc_numeric b)
gboolean gnc_numeric_positive_p(gnc_numeric a)
gnc_numeric gnc_numeric_sub(gnc_numeric a, gnc_numeric b, gint64 denom, gint how)
GNCNumericErrorCode gnc_numeric_check(gnc_numeric a)
gint gnc_numeric_same(gnc_numeric a, gnc_numeric b, gint64 denom, gint how)
gnc_numeric gnc_numeric_div_with_error(gnc_numeric a, gnc_numeric b, gint64 denom, gint how, gnc_numeric *error)