Type Alias MultiplyExponents<A, B>
MultiplyExponents: A extends 0 ? B extends 0 ? 0 : B extends 1 ? 0 : B extends -1 ? 0 : B extends 2 ? 0 : B extends -2 ? 0 : B extends 3 ? 0 : B extends -3 ? 0 : B extends 4 ? 0 : B extends -4 ? 0 : (...)
extends (...)
? (...)
: (...)
: A extends 1 ? B extends 0 ? 0 : B extends 1 ? 1 : B extends -1 ? -1 : B extends 2 ? 2 : B extends -2 ? -2 : B extends 3 ? 3 : B extends -3 ? -3 : B extends 4 ? 4 : (...)
extends (...)
? (...)
: (...)
: A extends -1 ? B extends 0 ? 0 : B extends 1 ? -1 : B extends -1 ? 1 : B extends 2 ? -2 : B extends -2 ? 2 : B extends 3 ? -3 : B extends -3 ? 3 : (...)
extends (...)
? (...)
: (...)
: A extends 2 ? B extends 0 ? 0 : B extends 1 ? 2 : B extends -1 ? -2 : B extends 2 ? 4 : B extends -2 ? -4 : B extends 3 ? 6 : (...)
extends (...)
? (...)
: (...)
: A extends -2 ? B extends 0 ? 0 : B extends 1 ? -2 : B extends -1 ? 2 : B extends 2 ? -4 : B extends -2 ? 4 : (...)
extends (...)
? (...)
: (...)
: A extends 3 ? B extends 0 ? 0 : B extends 1 ? 3 : B extends -1 ? -3 : B extends 2 ? 6 : (...)
extends (...)
? (...)
: (...)
: A extends -3 ? B extends 0 ? 0 : B extends 1 ? -3 : B extends -1 ? 3 : (...)
extends (...)
? (...)
: (...)
: A extends 4 ? B extends 0 ? 0 : B extends 1 ? 4 : (...)
extends (...)
? (...)
: (...)
: A extends -4 ? B extends 0 ? 0 : (...)
extends (...)
? (...)
: (...)
: A extends 5 ? (...)
extends (...)
? (...)
: (...)
: (...)
extends (...)
? (...)
: (...)