private int hashFunction() { int a = GOLDEN_RATIO; if (_next != null && _first != null) { a += _next.hashCode() << 8; a += _first.hashCode(); } return HashFunctions.mix(a, GOLDEN_RATIO, 3); }
@SuppressWarnings({ "incomplete-switch", "fallthrough" }) protected int hashFunction() { final int len = getArity(); int alpha = GOLDEN_RATIO; final int b = GOLDEN_RATIO + (getAFun().hashCode() << 8); switch (len) { case 3: alpha += getArgument(2).hashCode() << 16; case 2: alpha += getArgument(1).hashCode() << 8; case 1: alpha += getArgument(0).hashCode(); } return HashFunctions.mix(alpha, b, len); }