Skip to content

Zero-initialize Matrix values by default#177

Open
julianlitz wants to merge 2 commits intomainfrom
litz_default_init_matrix
Open

Zero-initialize Matrix values by default#177
julianlitz wants to merge 2 commits intomainfrom
litz_default_init_matrix

Conversation

@julianlitz
Copy link
Collaborator

@julianlitz julianlitz commented Feb 13, 2026

  • Zero initialize matrix values by default
  • Clearer folder separation in LinearAlgebra: Vector, Matrix, Solvers
  • Clean up #includes throughout the project

Merge Request - GuideLine Checklist

Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.

Checks by code author:

Always to be checked:

  • There is at least one issue associated with the pull request.
  • New code adheres with the coding guidelines
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

If functions were changed or functionality was added:

  • Tests for new functionality has been added
  • A local test was succesful

If new functionality was added:

  • There is appropriate documentation of your work. (use doxygen style comments)

If new third party software is used:

  • Did you pay attention to its license? Please remember to add it to the wiki after successful merging.

If new mathematical methods or epidemiological terms are used:

  • Are new methods referenced? Did you provide further documentation?

Checks by code reviewer(s):

  • Is the code clean of development artifacts e.g., unnecessary comments, prints, ...
  • The ticket goals for each associated issue are reached or problems are clearly addressed (i.e., a new issue was introduced).
  • There are appropriate unit tests and they pass.
  • The git history is clean and linearized for the merge request. All reviewers should squash commits and write a simple and meaningful commit message.
  • Coverage report for new code is acceptable.
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.15%. Comparing base (7748cf5) to head (be241e2).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #177   +/-   ##
=======================================
  Coverage   94.15%   94.15%           
=======================================
  Files          92       92           
  Lines        9524     9529    +5     
=======================================
+ Hits         8967     8972    +5     
  Misses        557      557           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment on lines -5 to -8
#ifdef GMGPOLAR_USE_MUMPS
#include "dmumps_c.h"
#include "mpi.h"
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are the includes no longer needed?

Copy link
Collaborator Author

@julianlitz julianlitz Feb 13, 2026

Choose a reason for hiding this comment

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

They are moved in the main
smoother.h.

Previously they were in
smootherTake.h and smootherGive.h

Copy link
Collaborator

Choose a reason for hiding this comment

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

What strategy are you using for the includes? There are several that are common in different repos, e.g.

  • include what you use
  • include as little as possible

Copy link
Collaborator Author

@julianlitz julianlitz Feb 13, 2026

Choose a reason for hiding this comment

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

As the compile time is not a big issue in this project and the custom test cases take basically the most time, I am including the things that are used in that file.

You could go the effort and move some more things to the .cpp or do forward declarations, but it's likely not worth it.

And since Take and Give are pretty similar, I just put all includes in the main virtual header to keep the code shorter where it matters.

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