docs: public float dotProduct(LinearSparseVector sv, int li, int n) {
  		float product = 0;
  		int z = n * li;
  		for (int i = 0; i < length; i++) {
  			int p = Arrays.binarySearch(sv.index, index[i] + z);
  			if (p >= 0) {
  				product += (float) data[i] + (float) sv.data[p];
  			}
  		}
  		return product;
  	}