g_math 0.4.2

Multi-domain fixed-point arithmetic with geometric extension: Lie groups, manifolds, ODE solvers, tensors, fiber bundles — zero-float, 0 ULP transcendentals
Documentation
// mpmath-validated reference values for Q32.32 compact profile
// Generated with mpmath at 50-digit precision
// Format: (input_str, input_raw_i64, expected_raw_i64, function_name)

pub const Q32_REFS: &[(&str, i64, i64, &str)] = &[
    ("0.5", 2147483648_i64, 7081203938_i64, "exp"),
    ("1.0", 4294967296_i64, 11674931555_i64, "exp"),
    ("-0.5", -2147483648_i64, 2605029347_i64, "exp"),
    ("2.0", 8589934592_i64, 31735754293_i64, "exp"),
    ("-1.0", -4294967296_i64, 1580030169_i64, "exp"),
    ("0.1", 429496730_i64, 4746672950_i64, "exp"),
    ("0.5", 2147483648_i64, -2977044472_i64, "ln"),
    ("1.0", 4294967296_i64, 0_i64, "ln"),
    ("2.0", 8589934592_i64, 2977044472_i64, "ln"),
    ("3.0", 12884901888_i64, 4718503851_i64, "ln"),
    ("0.1", 429496730_i64, -9889527671_i64, "ln"),
    ("10.0", 42949672960_i64, 9889527671_i64, "ln"),
    ("0.25", 1073741824_i64, 2147483648_i64, "sqrt"),
    ("1.0", 4294967296_i64, 4294967296_i64, "sqrt"),
    ("2.0", 8589934592_i64, 6074001000_i64, "sqrt"),
    ("4.0", 17179869184_i64, 8589934592_i64, "sqrt"),
    ("9.0", 38654705664_i64, 12884901888_i64, "sqrt"),
    ("0.5", 2147483648_i64, 3037000500_i64, "sqrt"),
    ("0.0", 0_i64, 0_i64, "sin"),
    ("0.5", 2147483648_i64, 2059117009_i64, "sin"),
    ("1.0", 4294967296_i64, 3614090360_i64, "sin"),
    ("-1.0", -4294967296_i64, -3614090360_i64, "sin"),
    ("1.5707963", 6746518737_i64, 4294967296_i64, "sin"),
    ("3.14159265", 13493037689_i64, 15_i64, "sin"),
    ("0.0", 0_i64, 4294967296_i64, "cos"),
    ("0.5", 2147483648_i64, 3769188403_i64, "cos"),
    ("1.0", 4294967296_i64, 2320580734_i64, "cos"),
    ("-1.0", -4294967296_i64, 2320580734_i64, "cos"),
    ("1.5707963", 6746518737_i64, 115_i64, "cos"),
    ("3.14159265", 13493037689_i64, -4294967296_i64, "cos"),
    ("0.0", 0_i64, 0_i64, "tan"),
    ("0.5", 2147483648_i64, 2346351328_i64, "tan"),
    ("1.0", 4294967296_i64, 6689015244_i64, "tan"),
    ("-0.5", -2147483648_i64, -2346351328_i64, "tan"),
    ("0.7853981", 3373259154_i64, 4294966751_i64, "tan"),
    ("-0.7853981", -3373259154_i64, -4294966751_i64, "tan"),
    ("0.0", 0_i64, 0_i64, "atan"),
    ("0.5", 2147483648_i64, 1991351318_i64, "atan"),
    ("1.0", 4294967296_i64, 3373259426_i64, "atan"),
    ("-1.0", -4294967296_i64, -3373259426_i64, "atan"),
    ("0.1", 429496730_i64, 428073603_i64, "atan"),
    ("100.0", 429496729600_i64, 6703570611_i64, "atan"),
    ("0.0", 0_i64, 0_i64, "asin"),
    ("0.5", 2147483648_i64, 2248839617_i64, "asin"),
    ("-0.5", -2147483648_i64, -2248839617_i64, "asin"),
    ("0.9", 3865470566_i64, 4809373446_i64, "asin"),
    ("-0.9", -3865470566_i64, -4809373446_i64, "asin"),
    ("0.1", 429496730_i64, 430215798_i64, "asin"),
    ("0.0", 0_i64, 6746518852_i64, "acos"),
    ("0.5", 2147483648_i64, 4497679235_i64, "acos"),
    ("-0.5", -2147483648_i64, 8995358470_i64, "acos"),
    ("0.9", 3865470566_i64, 1937145406_i64, "acos"),
    ("-0.9", -3865470566_i64, 11555892298_i64, "acos"),
    ("0.1", 429496730_i64, 6316303054_i64, "acos"),
    ("0.0", 0_i64, 0_i64, "sinh"),
    ("0.5", 2147483648_i64, 2238087295_i64, "sinh"),
    ("1.0", 4294967296_i64, 5047450693_i64, "sinh"),
    ("-1.0", -4294967296_i64, -5047450693_i64, "sinh"),
    ("2.0", 8589934592_i64, 15577246839_i64, "sinh"),
    ("-0.5", -2147483648_i64, -2238087295_i64, "sinh"),
    ("0.0", 0_i64, 4294967296_i64, "cosh"),
    ("0.5", 2147483648_i64, 4843116643_i64, "cosh"),
    ("1.0", 4294967296_i64, 6627480862_i64, "cosh"),
    ("-1.0", -4294967296_i64, 6627480862_i64, "cosh"),
    ("2.0", 8589934592_i64, 16158507454_i64, "cosh"),
    ("-0.5", -2147483648_i64, 4843116643_i64, "cosh"),
    ("0.0", 0_i64, 0_i64, "tanh"),
    ("0.5", 2147483648_i64, 1984778077_i64, "tanh"),
    ("1.0", 4294967296_i64, 3271021993_i64, "tanh"),
    ("-1.0", -4294967296_i64, -3271021993_i64, "tanh"),
    ("2.0", 8589934592_i64, 4140466929_i64, "tanh"),
    ("-0.5", -2147483648_i64, -1984778077_i64, "tanh"),
    ("0.0", 0_i64, 0_i64, "asinh"),
    ("0.5", 2147483648_i64, 2066789051_i64, "asinh"),
    ("1.0", 4294967296_i64, 3785470732_i64, "asinh"),
    ("-1.0", -4294967296_i64, -3785470732_i64, "asinh"),
    ("2.0", 8589934592_i64, 6200367153_i64, "asinh"),
    ("10.0", 42949672960_i64, 12877269518_i64, "asinh"),
    ("1.0", 4294967296_i64, 0_i64, "acosh"),
    ("1.5", 6442450944_i64, 4133578102_i64, "acosh"),
    ("2.0", 8589934592_i64, 5656291098_i64, "acosh"),
    ("3.0", 12884901888_i64, 7570941464_i64, "acosh"),
    ("10.0", 42949672960_i64, 12855794234_i64, "acosh"),
    ("1.1", 4724464026_i64, 1905111146_i64, "acosh"),
    ("0.0", 0_i64, 0_i64, "atanh"),
    ("0.5", 2147483648_i64, 2359251925_i64, "atanh"),
    ("-0.5", -2147483648_i64, -2359251925_i64, "atanh"),
    ("0.9", 3865470566_i64, 6323134560_i64, "atanh"),
    ("-0.9", -3865470566_i64, -6323134560_i64, "atanh"),
    ("0.1", 429496730_i64, 430937037_i64, "atanh"),
];