*From*: Sven Neumann <sven gimp org>*To*: Jan Kratochvil <lace jankratochvil net>*Cc*: drlion-dated-1091219837 02c327 teepee ath cx, gtk-devel-list gnome org*Subject*: Re: MATH_MOD: Include in GLib?*Date*: 26 Jul 2004 12:41:47 +0200

Hi, Jan Kratochvil <lace jankratochvil net> writes: > On Mon, 26 Jul 2004 10:43:21 +0200, Sven Neumann wrote: > > Daniel Brockman <drlion deepwood net> writes: > ... > > > #define MOD(x, m) ((x) >= 0 ? (x) % (m) : (m) + (x) % (m)) > ... > > If at all it would have to be G_MOD(x). But I doubt that > > the semantics of such a macro are obvious enough and that it would be > > of general usefulness. > > I consider this macro as a generally used workaround of a bug in C standard. > I intuitively expect the result of "x%m" will be 0..(m-1), not the C result > of -(m-1)..(m-1). It has similiar position as G_N_ELEMENTS(). The result of "x%m" will be 0..(m-1) provided that you respect the fact that the modulo operator is undefined on negative operands. The behaviour is machine-dependent and you should simply avoid to use modulo with signed variables. Also note that your suggest macro won't work if x < m. Sven

**Follow-Ups**:**Re: MATH_MOD: Include in GLib?***From:*Jan Kratochvil

**Re: MATH_MOD: Include in GLib?***From:*Owen Taylor

**References**:**MATH_MOD: Include in GLib?***From:*Daniel Brockman

**Re: MATH_MOD: Include in GLib?***From:*Sven Neumann

**Re: MATH_MOD: Include in GLib?***From:*Jan Kratochvil

[Date Prev][Date Next] [Thread Prev][Thread Next] [Thread Index] [Date Index] [Author Index]