a little math problem
John Hunter
jdhunter at ace.bsd.uchicago.edu
Fri Apr 16 11:54:29 EDT 2004
I have a number base, float or int. I need routines that return the
largest multiple of base < x, largest multiple of base <=x, smallest
multiple of base > x and smallest multiple of base >= x.
For integer base, I have been doing
def nearest_geq(base, x):
if x%base!=0:
return nearest_gt(base, x)
else:
return x
def nearest_leq(base, x):
return int(x)//base * base
def nearest_gt(base, x):
return int(x+base)//base * base
def nearest_lt(base, x):
return int(x-base)//base * base
Is there a more elegant solution that works well for floats too?
JDH
More information about the Python-list
mailing list