// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.

import { Exponent } from "./exponent";

export type DivideExponents<L extends Exponent, R extends Exponent> = DivideTable[L][R];

interface DivideTable {
    "-5": DividedByNeg5Table;
    "-4": DividedByNeg4Table;
    "-3": DividedByNeg3Table;
    "-2": DividedByNeg2Table;
    "-1": DividedByNeg1Table;
    "0": DividedByZeroTable;
    "1": DividedByPos1Table;
    "2": DividedByPos2Table;
    "3": DividedByPos3Table;
    "4": DividedByPos4Table;
    "5": DividedByPos5Table;
}

interface DividedByNeg5Table {
    "-5": "1";
    "-4": never;
    "-3": never;
    "-2": never;
    "-1": "5";
    "0": never;
    "1": "-5";
    "2": never;
    "3": never;
    "4": never;
    "5": "-1";
}

interface DividedByNeg4Table {
    "-5": never;
    "-4": "1";
    "-3": never;
    "-2": "2";
    "-1": "4";
    "0": never;
    "1": "-4";
    "2": "-2";
    "3": never;
    "4": "-1";
    "5": never;
}

interface DividedByNeg3Table {
    "-5": never;
    "-4": never;
    "-3": "1";
    "-2": never;
    "-1": "3";
    "0": never;
    "1": "-3";
    "2": never;
    "3": "-1";
    "4": never;
    "5": never;
}

interface DividedByNeg2Table {
    "-5": never;
    "-4": never;
    "-3": never;
    "-2": "1";
    "-1": "2";
    "0": never;
    "1": "-2";
    "2": "-1";
    "3": never;
    "4": never;
    "5": never;
}

interface DividedByNeg1Table {
    "-5": never;
    "-4": never;
    "-3": never;
    "-2": never;
    "-1": "1";
    "0": never;
    "1": "-1";
    "2": never;
    "3": never;
    "4": never;
    "5": never;
}

interface DividedByZeroTable {
    "-5": "0";
    "-4": "0";
    "-3": "0";
    "-2": "0";
    "-1": "0";
    "0": never;
    "1": "0";
    "2": "0";
    "3": "0";
    "4": "0";
    "5": "0";
}

interface DividedByPos1Table {
    "-5": never;
    "-4": never;
    "-3": never;
    "-2": never;
    "-1": "-1";
    "0": never;
    "1": "1";
    "2": never;
    "3": never;
    "4": never;
    "5": never;
}

interface DividedByPos2Table {
    "-5": never;
    "-4": never;
    "-3": never;
    "-2": "-1";
    "-1": "-2";
    "0": never;
    "1": "2";
    "2": "1";
    "3": never;
    "4": never;
    "5": never;
}

interface DividedByPos3Table {
    "-5": never;
    "-4": never;
    "-3": "-1";
    "-2": never;
    "-1": "-3";
    "0": never;
    "1": "3";
    "2": never;
    "3": "1";
    "4": never;
    "5": never;
}

interface DividedByPos4Table {
    "-5": never;
    "-4": "-1";
    "-3": never;
    "-2": "-2";
    "-1": "-4";
    "0": never;
    "1": "4";
    "2": "2";
    "3": never;
    "4": "1";
    "5": never;
}

interface DividedByPos5Table {
    "-5": "-1";
    "-4": never;
    "-3": never;
    "-2": never;
    "-1": "-5";
    "0": never;
    "1": "5";
    "2": never;
    "3": never;
    "4": never;
    "5": "1";
}
