MANT_MASK
((shift > 0 ? (val << shift) : (val >> -shift)) & MANT_MASK));
((shift > 0 ? val << shift : val >> -shift) & MANT_MASK));
((shift > 0 ? (val << shift) : (val >> -shift)) & MANT_MASK));
((shift > 0 ? val << shift : val >> -shift) & MANT_MASK));