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

AMRtoLocal returns unsigned ints #779

Merged

Conversation

alexandre-de-larminat
Copy link
Contributor

@alexandre-de-larminat alexandre-de-larminat commented Nov 16, 2023

Concerns #558.
Cleaned up the previous commits and added the edit to gridlayout_amr following Philip's advice in #777.

Summary by CodeRabbit

  • Refactor

    • Updated the return types for grid layout conversion functions to ensure type consistency and safety.
    • Improved error checking with new assertions to validate non-negative local values in grid calculations.
  • Tests

    • Adjusted test cases to align with the updated data types in grid layout functionality.

Copy link

coderabbitai bot commented Nov 16, 2023

Walkthrough

Walkthrough

The recent changes involve updating the return types of functions AMRToLocal and AMRToLocal from a generic template type T to a specific std::uint32_t in both gridlayout.hpp. This suggests a shift towards using unsigned 32-bit integers for grid-related calculations, likely for consistency or to enforce non-negative values. An assertion has also been added to check for non-negative values in AMRToLocal. The test file gridlayout_amr.cpp reflects these changes by updating the expectedLocalBox variable type accordingly.

Changes

File Path Change Summary
src/core/data/grid/.../gridlayout.hpp Changed return types of AMRToLocal functions from Point<T, dimension> and Box<T, dimension> to Point<std::uint32_t, dimension> and Box<std::uint32_t, dimension>, added assertion for non-negative values in AMRToLocal.
tests/core/data/gridlayout/.../gridlayout_amr.cpp Updated the type of expectedLocalBox to Box<std::uint32_t, 1>.

Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 1

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between d183651 and e355660.
Files selected for processing (2)
  • src/core/data/grid/gridlayout.hpp (2 hunks)
  • tests/core/data/gridlayout/gridlayout_amr.cpp (1 hunks)
Additional comments: 2
tests/core/data/gridlayout/gridlayout_amr.cpp (1)
  • 84-90: The change from Box to Box<std::uint32_t, 1> reflects the update in the Box class template parameters to enforce type safety and dimensionality. This is a good practice as it ensures that the Box class is used with the correct type and dimension, which can prevent potential bugs and improve code readability. The test case has been updated accordingly to reflect these changes, which is necessary to maintain the consistency of the test suite with the updated codebase. However, ensure that all other usages of Box in the codebase are also updated to match this new template parameter requirement.
src/core/data/grid/gridlayout.hpp (1)
  • 836-842: The AMRToLocal function for converting a Box<T, dimension> to a Box<std::uint32_t, dimension> is correctly using the previously defined AMRToLocal function for Point<T, dimension>. This ensures consistency in the conversion process. However, the same considerations about underflow and type safety from the previous comment apply here as well.

@PHAREHUB PHAREHUB deleted a comment from coderabbitai bot Nov 16, 2023
@nicolasaunai nicolasaunai merged commit b112c3b into PHAREHUB:master Nov 19, 2023
6 checks passed
@alexandre-de-larminat alexandre-de-larminat deleted the uint_amr_to_local branch November 21, 2023 14:36
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.

2 participants