IM_RINT(3) misc math macros

Other Alias

IM_MAX, IM_MIN

SYNOPSIS

#include <vips/vips.h>

int IM_RINT( float )
any IM_MAX( any, any )
any IM_MIN( any, any )

DESCRIPTION

These macros provide some simple but fast math functions --- IM_MAX(3) returns the maximum of its two arguments, IM_MIN(3) the smallest, and IM_RINT(3) rounds a float or double to the nearest integer.

Beware: these macros may evaluate their argument more than once, so you MUST NOT use ++,--, or a function call in their argument lists.

They are defined as:


  #define IM_MAX(A,B) ((A)>(B)?(A):(B))
  #define IM_MIN(A,B) ((A)<(B)?(A):(B))
  #define IM_RINT(R) ((int)((R)>0?((R)+0.5):((R)-0.5)))

COPYRIGHT

National Gallery, 1993

AUTHOR

J. Cupitt - 23/7/93