From e986b9fa6ab8f7c8f6d929cb3cb181639a2ad1b1 Mon Sep 17 00:00:00 2001 From: Helena Zhang Date: Fri, 15 Apr 2022 03:02:22 -0400 Subject: [PATCH 1/2] fixes bug --- qiskit_experiments/framework/json.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qiskit_experiments/framework/json.py b/qiskit_experiments/framework/json.py index 7796379071..032f401ff1 100644 --- a/qiskit_experiments/framework/json.py +++ b/qiskit_experiments/framework/json.py @@ -466,8 +466,8 @@ def default(self, obj: Any) -> Any: # pylint: disable=arguments-differ # during serialization. Then both can be serialized as Variable. # Note that UFloat doesn't have a tag. settings = { - "value": obj.nominal_value, - "std_dev": obj.std_dev, + "value": _serialize_safe_float(obj.nominal_value), + "std_dev": _serialize_safe_float(obj.std_dev), "tag": getattr(obj, "tag", None), } cls = uncertainties.core.Variable From d74cae26876827c4eaa493423e706c63d9739c60 Mon Sep 17 00:00:00 2001 From: Helena Zhang Date: Fri, 15 Apr 2022 03:25:03 -0400 Subject: [PATCH 2/2] updated testt --- .../test_db_analysis_result.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/database_service/test_db_analysis_result.py b/test/database_service/test_db_analysis_result.py index 3660b7cf0d..539583bb87 100644 --- a/test/database_service/test_db_analysis_result.py +++ b/test/database_service/test_db_analysis_result.py @@ -19,6 +19,7 @@ import math import numpy as np +import uncertainties from qiskit_experiments.database_service import DbAnalysisResultV1 as DbAnalysisResult @@ -135,6 +136,26 @@ def test_display_format_inf(self): self.assertEqual(DbAnalysisResult._display_format(math.inf), "Infinity") self.assertEqual(DbAnalysisResult._display_format(-math.inf), "-Infinity") self.assertEqual(DbAnalysisResult._display_format(math.nan), "NaN") + self.assertEqual( + DbAnalysisResult._display_format( + uncertainties.ufloat(math.nan, math.nan).nominal_value + ), + "NaN", + ) + self.assertEqual( + DbAnalysisResult._display_format(uncertainties.ufloat(math.nan, math.nan).std_dev), + "NaN", + ) + self.assertEqual( + DbAnalysisResult._display_format( + uncertainties.ufloat(math.inf, -math.inf).nominal_value + ), + "Infinity", + ) + self.assertEqual( + DbAnalysisResult._display_format(uncertainties.ufloat(math.inf, -math.inf).std_dev), + "-Infinity", + ) def test_display_format_complex(self): """Test conversion of db displays"""