Skip to content

Reject NaN values in bounded array validation - #25

Open
DiadkoShmek wants to merge 1 commit into
google-deepmind:masterfrom
DiadkoShmek:lezo3-bounded-array-nan
Open

DiadkoShmek wants to merge 1 commit into
google-deepmind:masterfrom
DiadkoShmek:lezo3-bounded-array-nan

Conversation

@DiadkoShmek

Copy link
Copy Markdown

A NaN discount currently passes BoundedArray((), float, 0, 1).validate() and consequently passes EnvironmentTestMixin checks, even though it does not belong to the declared interval.

Validate that every value satisfies both inclusive bounds. This rejects unordered NaNs while retaining the existing endpoint, infinity and empty-array behavior. Add scalar/vector/broadcast-bound regressions and a NaN-discount environment sequence.

Validation: the new regressions fail on base 91b46797fea731f80eab8cd2c8352a0674141d89 (7 failures). The full dm_env suite passes (168 tests, 6 subtests), plus 1,200 independently checked scalar interval cases across float16/32/64.

CPU validation used Python 3.13 and NumPy 2.2.6; other version combinations were not tested. This keeps plain Array validation unchanged, including its permitted NaN values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant