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