public static double resemblance(Path pathA, Path pathB, HashFunction func, int b, int k) {
    	
		if (b <= 0 || b > 16)
		    throw new AssertionError("hyperLogLog :  b <= 0 or b > 16");
		
		// Build fingerPrint arrays
		int[] MA = HyperLogLog.buildFingerPrint(pathA, func, b, k);
		int[] MB = HyperLogLog.buildFingerPrint(pathB, func, b, k);
		
		return calculateResemblance(MA, MB, b);
    }