Skip to content

Updating directory names for GNU Octave - #452

Open
Tony-Drummond wants to merge 5 commits into
mainfrom
subdir_rename/GNU_Octave
Open

Updating directory names for GNU Octave#452
Tony-Drummond wants to merge 5 commits into
mainfrom
subdir_rename/GNU_Octave

Conversation

@Tony-Drummond

Copy link
Copy Markdown
Collaborator

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Example
  • Documentation

Description

Renamed all subdirectories containing the GNU Octave scripts with the implementation of MOLE v1.2, and all tests and examples. Updated internal links to support the auto-documentation mechanisms.

Related Issues & Documents

QA Instructions, Screenshots, Recordings

Keep-open request

  • I am requesting maintainer review for keep-open.

Reason:

Added/updated tests?

_We encourage you to test all code included with MOLE, including examples.

  • Yes. Unit tests for Octave and Documentation (Doxygen, Sphinx, and Read The Docs pages)
  • No, and this is why: please replace this line with details on why tests
    have not been included
  • I need help with writing tests

Read Contributing Guide and Code of Conduct

[optional] Are there any post deployment tasks we need to perform?

[optional] What gif best describes this PR or how it makes you feel?

@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Tony-Drummond
Tony-Drummond force-pushed the subdir_rename/GNU_Octave branch from 9906502 to 51c40f3 Compare September 4, 2026 06:41
@Tony-Drummond

Tony-Drummond commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Hi Software Engineering Gov. Circle (@cpaolini, @jbrzensk, @valeriabarra, @joehellmers, @gpagallo) and @jcastillo001 This completes the rename of the MOLE GNU Octave subdirectory. For MOLE v.1.2 the impacted subdirectories by this PR are:
./tests/octave
./examples/octave
./doc/sphinx/source/api/octave
./doc/sphinx/octave
./src/octave

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

There are a couple of concrete issues in the updated wiring/utility code (notably mismatched .gitattributes paths and missing invalid-parameter handling) that should be fixed to avoid broken repo metadata and brittle runtime behavior.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR refactors the repository’s Octave-related layout by renaming the prior matlab_octave-named directories to octave and updating code/doc links and build/test wiring to match, aligning with the MOLE v1.2 Octave implementation organization.

Changes:

  • Renames Octave source/examples/tests directories to src/octave, examples/octave, and tests/octave, and updates addpath(...) usage accordingly.
  • Updates CMake/CI/docs references (README, Sphinx, Doxygen notes) to the new Octave paths.
  • Adds/relocates a large set of Octave .m implementation files and generated Octave API documentation assets.
File summaries
File Description
.gitattributes Updates linguist documentation paths (currently mismatched; needs correction).
tests/octave/CMakeLists.txt Registers Octave .m tests (executed via matlab -batch; wording should be clarified).
tests/octave/testPoissonAccuracy.m Adds a Poisson accuracy test (minor documentation/clarity fix suggested).
src/octave/interpolFacesToCentersG1DPeriodic.m Adds periodic interpolator (needs explicit invalid-k handling).
src/octave/** Moves/adds Octave implementation functions under the new directory name.
examples/octave/** Updates examples to reference src/octave and adjusts Octave wording in comments/docs.
doc/sphinx/source/** Updates Sphinx navigation and links to examples/octave and api/octave.
.github/workflows/matlab-tests.yml Updates MATLAB CI test selection to src/octave and tests/octave.
README.md / CONTRIBUTING.md Updates developer docs and commands to new Octave directory naming.
Review details
  • Files reviewed: 179/347 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .gitattributes Outdated
Comment on lines +3 to +4
examples_octave/* linguist-documentation
doc_octave/* linguist-documentation
Comment on lines +1 to 5
# Find all GNU Octave test files (test*.m)
file(GLOB TEST_SOURCES test*.m)

# Enable testing
enable_testing()

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@jbrzensk,For now it runs the Octave scripts as if they were MATLAB script, given the full compatibility. For consistency, all these tests are going to be under the same directory and reference as GNU Octave tests ONLY. @cpaolini has plans to include the GNU tests runner, and he advised to run both MATLAB test runners and the GNU test runners to demonstrate that all MOLE GNU Octave's scripts are fully compatible with MATLAB.

@valeriabarra

Copy link
Copy Markdown
Collaborator

Hi @Tony-Drummond , thank you. I think you mentioned that also some files in the julia/MOLE.jl directory needto updated, but I don't see them being included here. Thanks

@Tony-Drummond

Copy link
Copy Markdown
Collaborator Author

Hi @valeriabarra , this was included in the email I sent to the Software Engineering Gov. Circle (the name of the files that I identified are in bold)
./julia/MOLE.jl/docs/src/examples/index.md:
The MOLE library contains many examples written in OCTAVE/MATLAB, C++, and Julia. These examples span a broad range of partial differential equations. Below are more technical explinations of the examples included in the library.
The name for OCTAVE/MATLAB, C++, and Julia will be the same (i.e., the files elliptic1D.m, elliptic1D.cpp, and elliptic1D.jl solve the same differential equation explained here under Elliptic1D). These examples are only the ones implemented in Julia. There are many more OCTAVE/MATLAB and C++ examples, which can be found in the main MOLE documentation.
The MOLE library contains many examples written in OCTAVE/MATLAB, C++, and Julia. These examples span a broad range of partial differential equations. Below are more technical explinations of the examples included in the library.
The name for OCTAVE/MATLAB, C++, and Julia will be the same (i.e., the files elliptic1D.m, elliptic1D.cpp, and elliptic1D.jl solve the same differential equation explained here under Elliptic1D). These examples are only the ones implemented in Julia. There are many more OCTAVE/MATLAB and C++ examples, which can be found in the main MOLE documentation.
.
/julia/MOLE.jl/examples/hyperbolic/hyperbolic1D.jl:
from MATLAB MOLE example using the Leapfrog Scheme

./julia/MOLE.jl/src/BCs/scalarBC.jl:
Fields mirror the MATLAB function:
Fields mirror the MATLAB function:
1D BC applicator. Mirrors MATLAB addScalarBC1D.

# Equivalent of MATLAB: q = find(dc.^2 + nc.^2, 1)
2D BC applicator. Mirrors MATLAB addScalarBC2D.

@jbrzensk

jbrzensk commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Looks like the only change is the gitattributes file, to reference the corret locations.

@valeriabarra

Copy link
Copy Markdown
Collaborator

Hi @valeriabarra , this was included in the email I sent to the Software Engineering Gov. Circle (the name of the files that I identified are in bold) ./julia/MOLE.jl/docs/src/examples/index.md: The MOLE library contains many examples written in OCTAVE/MATLAB, C++, and Julia. These examples span a broad range of partial differential equations. Below are more technical explinations of the examples included in the library. The name for OCTAVE/MATLAB, C++, and Julia will be the same (i.e., the files elliptic1D.m, elliptic1D.cpp, and elliptic1D.jl solve the same differential equation explained here under Elliptic1D). These examples are only the ones implemented in Julia. There are many more OCTAVE/MATLAB and C++ examples, which can be found in the main MOLE documentation. The MOLE library contains many examples written in OCTAVE/MATLAB, C++, and Julia. These examples span a broad range of partial differential equations. Below are more technical explinations of the examples included in the library. The name for OCTAVE/MATLAB, C++, and Julia will be the same (i.e., the files elliptic1D.m, elliptic1D.cpp, and elliptic1D.jl solve the same differential equation explained here under Elliptic1D). These examples are only the ones implemented in Julia. There are many more OCTAVE/MATLAB and C++ examples, which can be found in the main MOLE documentation. . /julia/MOLE.jl/examples/hyperbolic/hyperbolic1D.jl: from MATLAB MOLE example using the Leapfrog Scheme

./julia/MOLE.jl/src/BCs/scalarBC.jl: Fields mirror the MATLAB function: Fields mirror the MATLAB function: 1D BC applicator. Mirrors MATLAB addScalarBC1D.

# Equivalent of MATLAB: q = find(dc.^2 + nc.^2, 1)
2D BC applicator. Mirrors MATLAB addScalarBC2D.

Hi, yes, I saw that, but I do not see those references being changed in this PR. Are you considering adding them here or you prefer a separate PR? Thanks

@Tony-Drummond

Tony-Drummond commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

@valeriabarra, I updated the MOLE.jl related files. I just didn't want to interfere with anything else happening inside the MOLE.jl development.

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.

Part 2: Rename subdirectories and check all internal links

4 participants