code: function fnv_1a(v, seed) {
      var a = 2166136261 ^ (seed || 0);
      for (var i = 0, n = v.length; i < n; ++i) {
        var c = v.charCodeAt(i),
            d = c & 0xff00;
        if (d) a = fnv_multiply(a ^ d >> 8);
        a = fnv_multiply(a ^ c & 0xff);
      }
      return fnv_mix(a);
    }
docs: Fowler/Noll/Vo hashing. Nonstandard variation: this function optionally takes a seed value that is incorporated into the offset basis. According to http://www.isthe.com/chongo/tech/comp/fnv/index.html "almost any offset_basis will serve so long as it is non-zero".