fn rounding_driver( n: NumberValue, d: Option<NumberValue>, double_round: fn(f64) -> f64, int_divide: fn(i64, i64) -> i64, bigum_divide: fn(BigInt, BigInt) -> BigInt, ) -> Result<NumberValue>