def print_results(self, results: list[np.ndarray], num_runs: list[int]) -> np.floating[Any]:
        """Prints the measurement results for X, Y, and Z measurements.

        Args:
            results: List containing memory qubit measurements for X, Y and Z.
            num_runs: List containing the total number of simulation runs to obtain X, Y and Z.

        Returns:
            the success probability, as the mean of (# of successful runs) / (# of runs) needed
            to obtain an estimate for X, Y and Z.
        """
        success_probability = []

        for label, result, runs in zip(('X', 'Y', 'Z'), results, num_runs):
            expectation = 1 - 2 * np.mean(result)
            num_estimates = result.shape[0]
            print(
                f'{label} = {expectation} from {num_estimates} estimates '
                f'out of {runs} simulation runs'
            )
            success_probability.append(num_estimates / runs)

        return np.mean(success_probability)
Prints the measurement results for X, Y, and Z measurements.

        Args:
            results: List containing memory qubit measurements for X, Y and Z.
            num_runs: List containing the total number of simulation runs to obtain X, Y and Z.

        Returns:
            the success probability, as the mean of (# of successful runs) / (# of runs) needed
            to obtain an estimate for X, Y and Z.
        
examples/hhl.py