Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save janekdb/b8b50d8bce21ca3797fd52b18d0fb0d0 to your computer and use it in GitHub Desktop.
Save janekdb/b8b50d8bce21ca3797fd52b18d0fb0d0 to your computer and use it in GitHub Desktop.
Scala Type Level Programming: The Natural Numbers: Multiplication Assertions
implicitly[MsbZero#mult[MsbZero] =:= MsbZero]
implicitly[MsbZero#mult[MsbOne] =:= MsbZero]
implicitly[MsbOne#mult[MsbZero] =:= MsbZero]
implicitly[MsbOne#mult[MsbOne] =:= MsbOne]
implicitly[T0#mult[T0] =:= T0]
implicitly[T0#mult[T2] =:= T0]
implicitly[T0#mult[T4] =:= T0]
implicitly[T1#mult[T0] =:= T0]
implicitly[T1#mult[T2] =:= T2]
implicitly[T1#mult[T4] =:= T4]
implicitly[T2#mult[T0] =:= T0]
implicitly[T2#mult[T2] =:= T4]
implicitly[T2#mult[T4] =:= T8]
implicitly[T3#mult[T0] =:= T0]
implicitly[T3#mult[T2] =:= T6]
implicitly[T3#mult[T4] =:= T12]
implicitly[T4#mult[T0] =:= T0]
implicitly[T4#mult[T2] =:= T8]
implicitly[T4#mult[T4] =:= T16]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment