move sample into correct subdirectories
make rule patterns
use cpp and hpp extensions
create a domain specific test
generalize identity test
create a permutation from an image
use unsigned integers as base
reuse max_base
create helper for images
implement permutation multiplication