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

import { Exponent } from "./exponent";

export type AddExponents<L extends Exponent, R extends Exponent> = AddTable[L][R];

interface AddTable {
    "-5": AddNeg5Table;
    "-4": AddNeg4Table;
    "-3": AddNeg3Table;
    "-2": AddNeg2Table;
    "-1": AddNeg1Table;
    "0": AddZeroTable;
    "1": AddPos1Table;
    "2": AddPos2Table;
    "3": AddPos3Table;
    "4": AddPos4Table;
    "5": AddPos5Table;
}

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

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

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

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

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

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

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

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

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

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

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