C++11 templated coherent noise library