Skip to content

Commit

Permalink
Merge branch 'master' into implement_android_generate_cert
Browse files Browse the repository at this point in the history
  • Loading branch information
joonhaengHeo authored Jun 9, 2023
2 parents 2e59134 + b611144 commit 643483b
Show file tree
Hide file tree
Showing 38 changed files with 15,939 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,8 @@ class FloatConverter(BaseConverter):

def maybe_convert(self, typename, value):
if typename == 'single':
value = float('%g' % value)
float_representation = float("%.16f" % value)
value = float('%g' % float_representation)
return value


Expand Down
20 changes: 19 additions & 1 deletion scripts/py_matter_yamltests/matter_yamltests/constraints.py
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,10 @@ def check_response(self, value, value_type_name) -> bool:
success = value >= -36028797018963967 and value <= 36028797018963967
elif self._type == 'nullable_int64s' and type(value) is int:
success = value >= -9223372036854775807 and value <= 9223372036854775807
elif self._type == 'single' and type(value) is float:
success = self._is_single(value)
elif self._type == 'double' and type(value) is float:
success = self._is_double(value)
else:
success = self._type == value_type_name
return success
Expand Down Expand Up @@ -502,18 +506,32 @@ def get_reason(self, value, value_type_name) -> str:
if value >= -9223372036854775807 and value <= 9223372036854775807:
types.append('nullable_int64s')

if self._is_single(value):
types.append('single')

if self._is_double(value):
types.append('double')

types.sort(key=lambda input_type: [int(c) if c.isdigit(
) else c for c in re.split('([0-9]+)', input_type)])

if value_type_name not in types:
types.append(value_type_name)

if len(types) == 1:
reason = f'The response type {types[0]}) does not match the constraint.'
reason = f'The response type ({types[0]}) does not match the constraint.'
else:
reason = f'The response value ({value}) is of one of those types: {types}.'
return reason

def _is_single(self, value):
return (value >= -1.7976931348623157E+308 and value <= -2.2250738585072014E-308) or value == 0.0 or (
value >= 2.2250738585072014E-308 and value <= 1.7976931348623157E+308) or math.isnan(value) or math.isinf(value)

def _is_double(self, value):
return (value >= -1.7976931348623157E+308 and value <= -2.2250738585072014E-308) or value == 0.0 or (
value >= 2.2250738585072014E-308 and value <= 1.7976931348623157E+308) or math.isnan(value) or math.isinf(value)


class _ConstraintMinLength(BaseConstraint):
def __init__(self, context, min_length):
Expand Down
Loading

0 comments on commit 643483b

Please sign in to comment.