```\nfunction fraction(uint numerator, uint denominator) internal pure returns (uint) {\n    if (numerator == 0) return 0;\n\n    require(denominator > 0, "FixedPoint: division by zero");\n    require(numerator <= type(uint144).max, "FixedPoint: numerator too big");\n\n    return (numerator << RESOLUTION) / denominator;\n}\n```\n