Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure mask is properly accounted for in Masked.ptp() #15380

Merged
merged 1 commit into from Sep 25, 2023

Conversation

mhvk
Copy link
Contributor

@mhvk mhvk commented Sep 25, 2023

Description

This pull request is to address a bug in Masked.ptp(), which meant that if any element was masked, the result would be masked too. Now it is ensures that it is the same as .max() - .min().

Found in #15378.

  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

@mhvk mhvk added this to the v5.0.9 milestone Sep 25, 2023
@mhvk mhvk requested a review from nstarman September 25, 2023 15:29
@github-actions
Copy link

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see instructions for rebase and squash.
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the "Extra CI" label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the "no-changelog-entry-needed" label. If this is a manual backport, use the "skip-changelog-checks" label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • Is a milestone set? Milestone must be set but we cannot check for it on Actions; do not let the green checkmark fool you.
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate "backport-X.Y.x" label(s) before merge.

@mhvk mhvk added Bug 💤 backport-v5.0.x on-merge: backport to v5.0.x 💤 backport-v5.3.x on-merge: backport to v5.3.x and removed Bug labels Sep 25, 2023
@mhvk
Copy link
Contributor Author

mhvk commented Sep 25, 2023

OK, tests pass except for -dev - that failure will be addressed by #15378.

astropy/utils/masked/core.py Show resolved Hide resolved
expected = self.ma.max(**kwargs) - self.ma.min(**kwargs)
assert_array_equal(o.unmasked, expected.unmasked)
assert_array_equal(o.mask, expected.mask)
out = np.zeros_like(expected)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably worth commenting what each test block is doing

Suggested change
out = np.zeros_like(expected)
# testing setting via `out`
out = np.zeros_like(expected)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are lots of tests in the file like this. Still, happy to do it, though perhaps once I rebase #15378? Prefer to avoid running CI again...

Copy link
Member

@pllim pllim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is for numpy 2.0 compat, there is no need to backport. Unless this is a real bug beyond that?

@mhvk
Copy link
Contributor Author

mhvk commented Sep 25, 2023

@pllim - this is a real bug. I uncovered it in #15378 while adjusting for numpy 2.0, but the bug is for older versions too...

Copy link
Member

@pllim pllim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I agree to follow up on nitpicks in the other PR. Let's get this in to unblock the other one. Thanks!

@pllim pllim merged commit 568e2e3 into astropy:main Sep 25, 2023
34 of 42 checks passed
meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Sep 25, 2023
meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Sep 25, 2023
@mhvk mhvk deleted the utils-masked-ptp-bug branch September 25, 2023 19:33
pllim added a commit that referenced this pull request Sep 25, 2023
…380-on-v5.3.x

Backport PR #15380 on branch v5.3.x (Ensure mask is properly accounted for in Masked.ptp())
pllim added a commit that referenced this pull request Sep 25, 2023
…380-on-v5.0.x

Backport PR #15380 on branch v5.0.x (Ensure mask is properly accounted for in Masked.ptp())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug utils.masked utils 💤 backport-v5.0.x on-merge: backport to v5.0.x 💤 backport-v5.3.x on-merge: backport to v5.3.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants