OpenSimplex in Go

OpenSimplex noise is a random noise algorithm by Kurt Spencer, made as a
patent-free alternative to Perlin and Simplex noise. This Go port is based on
Kurt's Java implementation.
For an introduction to OpenSimplex noise, see Kurt Spencer's
post announcing it. If
you're not familiar with random noise, the Wikipedia post on Perlin
noise is a good introduction.
Why not Perlin noise?
As Kurt explains in his
post, Perlin noise tends to
generate noise with noticeable axis-aligned artifacts. Simplex noise fixes
these artifacts, but it's patented. OpenSimplex noise is for people who don't
want to deal with Simplex's patent.
The difference between Perlin and OpenSimplex noise is easiest to see in
pictures. This is Perlin noise, with a noticeable bias towards vertical and
horizontal artifacts:

Here's what OpenSimplex noise looks like:

Tests
This implementation of OpenSimplex's tests verify its output against the output
of the reference Java implementation. I haven't run these tests on different
architectures, so results may vary.
License
This code is under the same "license" as Kurt's OpenSimplex - the public domain
"unlicense."
Next Steps
- More documentation
- Benchmarks