Added member and namespace level swap to rational.