bits = 31L * bits + Double.doubleToLongBits(planes[i].x); bits = 31L * bits + Double.doubleToLongBits(planes[i].y); bits = 31L * bits + Double.doubleToLongBits(planes[i].z); bits = 31L * bits + Double.doubleToLongBits(planes[i].w);
bits = 31L * bits + HashCodeUtil.doubleToLongBits(planes[i].x); bits = 31L * bits + HashCodeUtil.doubleToLongBits(planes[i].y); bits = 31L * bits + HashCodeUtil.doubleToLongBits(planes[i].z); bits = 31L * bits + HashCodeUtil.doubleToLongBits(planes[i].w);
    public int hashCode() {	long bits = 1L;	for (int i = 0; i < planes.length; i++) {	    bits = 31L * bits + Double.doubleToLongBits(planes[i].x);	    bits = 31L * bits + Double.doubleToLongBits(planes[i].y);	    bits = 31L * bits + Double.doubleToLongBits(planes[i].z);	    bits = 31L * bits + Double.doubleToLongBits(planes[i].w);	}	return (int) (bits ^ (bits >> 32));    }