min() and max() macro