updated Irrational.h