From: fred Date: Wed, 11 Dec 1996 12:37:07 +0000 (+0000) Subject: flower-1.0.13 X-Git-Tag: release/1.5.59~6618 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=4b8eb68f6e0e5803c0ef0502680f2e73da3b44c3;p=lilypond.git flower-1.0.13 --- diff --git a/flower/compare.hh b/flower/compare.hh index 9f9d4e5906..df278a2bfb 100644 --- a/flower/compare.hh +++ b/flower/compare.hh @@ -6,18 +6,36 @@ #ifndef COMPARE_HH #define COMPARE_HH +#define one_operator(type, function, op) \ +inline bool \ +operator op (type t1, type t2) {\ + return function(t1, t2) op 0;\ +}\ -#define one_operator(type, function, op) \ -inline bool operator op (type t1, type t2) { return function(t1, t2) op 0; } +#define gpp_minmax_operator(type, op, opp) \ +inline type \ +operator op(type t1, type t2)\ +{\ + return (t1 opp t2) ? t1 : t2;\ +}\ + +#ifdef __GNUC__ +#define gpp_minmax(type, prefix)\ + prefix gpp_minmax_operator(type, ?, >) +#else +#define gpp_minmax(type, prefix) +#endif /// handy notations for a signed comparison -#define template_instantiate_compare(type, function, prefix) \ +#define template_instantiate_compare(type, function, prefix) \ prefix one_operator(type, function, >)\ prefix one_operator(type, function, >=)\ prefix one_operator(type, function, ==)\ prefix one_operator(type, function, !=)\ prefix one_operator(type, function, <)\ prefix one_operator(type, function, <=)\ +gpp_minmax(type, prefix)\ prefix inline type MAX(type t1, type t2) { return (t1 > t2 )? t1 : t2; }\ prefix inline type MIN(type t1, type t2) { return (t1 < t2 )? t1 : t2; }\ \