diff --git a/example/test/descriptor_test_gtest.cpp b/example/test/descriptor_test_gtest.cpp index 876c14b8..712fcdba 100644 --- a/example/test/descriptor_test_gtest.cpp +++ b/example/test/descriptor_test_gtest.cpp @@ -74,7 +74,7 @@ TEST_F(DescriptorTest, check_integer_descriptors) { TEST_F(DescriptorTest, check_lower_upper_bounds) { EXPECT_EQ(descriptors_[2].floating_point_range.at(0).from_value, 0.0001); EXPECT_EQ(descriptors_[2].floating_point_range.at(0).to_value, - std::numeric_limits::max()); + std::numeric_limits::infinity()); } TEST_F(DescriptorTest, check_lt_eq) { diff --git a/example_python/generate_parameter_module_example/parameters.yaml b/example_python/generate_parameter_module_example/parameters.yaml index 1e04369a..7adf9b12 100644 --- a/example_python/generate_parameter_module_example/parameters.yaml +++ b/example_python/generate_parameter_module_example/parameters.yaml @@ -345,6 +345,11 @@ admittance_controller: type: int_array_fixed_5 default_value: [3,3,3] read_only: true + double_no_upper_bound: + type: double + default_value: .inf + validation: + gt_eq<>: 0 hover_override: type: int default_value: 1 diff --git a/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_parameter b/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_parameter index b69454ee..d0573ecd 100644 --- a/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_parameter +++ b/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_parameter @@ -24,8 +24,8 @@ descriptor.additional_constraints = {{parameter_additional_constraints | valid_s {%- endfor %} {%- if range.lower is not none or range.upper is not none %} descriptor.floating_point_range.resize(1); -descriptor.floating_point_range.at(0).from_value = {{range.lower if range.lower is not none else "std::numeric_limits::lowest()"}}; -descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is not none else "std::numeric_limits::max()"}}; +descriptor.floating_point_range.at(0).from_value = {{range.lower if range.lower is not none else "-std::numeric_limits::infinity()"}}; +descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is not none else "std::numeric_limits::infinity()"}}; {%- endif %} {%- elif "INTEGER" in parameter_type %} {%- set range = namespace(lower=None, upper=None) %} diff --git a/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_runtime_parameter b/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_runtime_parameter index e045d4d9..f5efd5d4 100644 --- a/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_runtime_parameter +++ b/generate_parameter_library_py/generate_parameter_library_py/jinja_templates/cpp/declare_runtime_parameter @@ -40,8 +40,8 @@ descriptor.additional_constraints = {{parameter_additional_constraints | valid_s {%- endfor %} {%- if range.lower is not none or range.upper is not none %} descriptor.floating_point_range.resize(1); -descriptor.floating_point_range.at(0).from_value = {{range.lower if range.lower is not none else "std::numeric_limits::lowest()"}}; -descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is not none else "std::numeric_limits::max()"}}; +descriptor.floating_point_range.at(0).from_value = {{range.lower if range.lower is not none else "-std::numeric_limits::infinity()"}}; +descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is not none else "std::numeric_limits::infinity()"}}; {%- endif %} {%- elif "INTEGER" in parameter_type %} {%- set range = namespace(lower=None, upper=None) %}