Skip to content

Instantly share code, notes, and snippets.

@hades2510
Created November 3, 2022 08:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hades2510/ce5ac9cda348aa4c1291287be8841f07 to your computer and use it in GitHub Desktop.
Save hades2510/ce5ac9cda348aa4c1291287be8841f07 to your computer and use it in GitHub Desktop.
type PartialAddOne<T extends Bit[]> = T extends [
...infer U extends Bit[],
infer R extends Bit
]
? R extends One
? [...PartialAddOne<U>, Zero]
: [...U, One]
: [];
type AddOne<T extends Byte> = T extends [
...infer U extends Bit[],
infer R extends Bit
]
? R extends One
? [...PartialAddOne<U>, Zero]
: [...U, One]
: [];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment