reckoner 0.3.0

A high level arbitrary precision arithmetic library supporting integer and rational numbers.
Documentation
{
    "template": "integer/ops/division.rs.template",
    "output": "integer/ops/division.rs",
    "trait": {
        "name": "Div",
        "fn_name": "div",
        "is_op_assign": false
    },
    "instances": [
        ["Integer", "Integer", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref"]],
        ["Integer", "&Integer", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], []],
        ["&Integer", "Integer", "Integer", "Integer::divide", "no", [], ["ref"]],
        ["&Integer", "&Integer", "Integer", "Integer::divide", "no", [], []],

        ["Integer", "i8", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
        ["Integer", "&i8", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
        ["&Integer", "i8", "Integer", "Integer::divide_c_long", "no", [], []],
        ["&Integer", "&i8", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
        ["i8", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["i8", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&i8", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&i8", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],
        
        ["Integer", "u8", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
        ["Integer", "&u8", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
        ["&Integer", "u8", "Integer", "Integer::divide_c_long", "no", [], []],
        ["&Integer", "&u8", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
        ["u8", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["u8", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&u8", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&u8", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        ["Integer", "i16", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
        ["Integer", "&i16", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
        ["&Integer", "i16", "Integer", "Integer::divide_c_long", "no", [], []],
        ["&Integer", "&i16", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
        ["i16", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["i16", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&i16", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&i16", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        ["Integer", "u16", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
        ["Integer", "&u16", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
        ["&Integer", "u16", "Integer", "Integer::divide_c_long", "no", [], []],
        ["&Integer", "&u16", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
        ["u16", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["u16", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&u16", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&u16", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        ["Integer", "i32", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
        ["Integer", "&i32", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
        ["&Integer", "i32", "Integer", "Integer::divide_c_long", "no", [], []],
        ["&Integer", "&i32", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
        ["i32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["i32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&i32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&i32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        {
            "condition": "all(target_pointer_width = \"64\", not(windows))",
            "if_instances": [
                ["Integer", "u32", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
                ["Integer", "&u32", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
                ["&Integer", "u32", "Integer", "Integer::divide_c_long", "no", [], []],
                ["&Integer", "&u32", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
                ["u32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
                ["u32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
                ["&u32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
                ["&u32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

                ["Integer", "i64", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], []],
                ["Integer", "&i64", "Integer", "Integer::divide_c_long_assign", "lhs", ["ref_mut"], ["deref"]],
                ["&Integer", "i64", "Integer", "Integer::divide_c_long", "no", [], []],
                ["&Integer", "&i64", "Integer", "Integer::divide_c_long", "no", [], ["deref"]],
                ["i64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
                ["i64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
                ["&i64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
                ["&i64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []]
            ],
            "else_instances": [
                ["Integer", "u32", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }]],
                ["Integer", "&u32", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }, "deref"]],
                ["&Integer", "u32", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }]],
                ["&Integer", "&u32", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }, "deref"]],
                ["u32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
                ["u32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
                ["&u32", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
                ["&u32", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

                ["Integer", "i64", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }]],
                ["Integer", "&i64", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }, "deref"]],
                ["&Integer", "i64", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }]],
                ["&Integer", "&i64", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }, "deref"]],
                ["i64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
                ["i64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
                ["&i64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
                ["&i64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []]
            ]
        },

        ["Integer", "u64", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }]],
        ["Integer", "&u64", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }, "deref"]],
        ["&Integer", "u64", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }]],
        ["&Integer", "&u64", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }, "deref"]],
        ["u64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["u64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&u64", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&u64", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        ["Integer", "i128", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }]],
        ["Integer", "&i128", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }, "deref"]],
        ["&Integer", "i128", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }]],
        ["&Integer", "&i128", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }, "deref"]],
        ["i128", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["i128", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&i128", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&i128", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []],

        ["Integer", "u128", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }]],
        ["Integer", "&u128", "Integer", "Integer::divide_assign", "lhs", ["ref_mut"], ["ref", { "convert": "Integer" }, "deref"]],
        ["&Integer", "u128", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }]],
        ["&Integer", "&u128", "Integer", "Integer::divide", "no", [], ["ref", { "convert": "Integer" }, "deref"]],
        ["u128", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], ["ref"]],
        ["u128", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }], []],
        ["&u128", "Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], ["ref"]],
        ["&u128", "&Integer", "Integer", "Integer::divide", "no", ["ref", { "convert": "Integer" }, "deref"], []]
    ]
}