This PR split off from PR #7 , which had become too unwieldly with its many edits.
This PR is focusing specifically to changes in library methods, and the tests to protect those methods.
The following library classes had refactors:
Splinor: methods for different boundary conditions, split off duplicated coefficient methods
matrix: there was an error in the inversion process, caught by the new tests, now fixed
stellar: fixed misspelling the name of famous physicist Max Planck
The following source code had to change in response to changes in the library:
constants uses the correct spelling of Planck
SimpleWD uses the correct spelling of Planck
In addition, the following changes were made to source code:
Isopycnic: fixed a typo in the surface coefficients of $A^\ast$ and $V_g$. Also removed light_speed2 definition, which instead just inherits from Star.
MESA: changed some ints to size_ts, and updated certain surface expansion methods, which were erroneous.
Polytrope: removed light_speed2 definition, which instead just inherits from Star
Star: replaces some string methods with new formatted strings, replaced some ints with size_ts.
ThrainMode: fixed some finder methods
And now the changes to the tests:
adds CppCheck to CI/CD
many tests have had their print-outs suppressed during running tests, to make output mangeable
matrix: add extra test of tridiagonal inversion
rootfind: replaces the TS_ASSERT_IS_NAN(x) method with more stable/secure TS_ASSERT(std::isnan(x))
Splinor: many, many more tests, including using test data functions, and a test to create outputs to "artifacts" folder
string: tests buffer overflow
ThrainMode: replaces the TS_ASSERT_IS_NAN(x) method with more stable/secure TS_ASSERT(std::isnan(x))
This PR split off from PR #7 , which had become too unwieldly with its many edits.
This PR is focusing specifically to changes in library methods, and the tests to protect those methods.
The following library classes had refactors:
Splinor
: methods for different boundary conditions, split off duplicated coefficient methodsmatrix
: there was an error in the inversion process, caught by the new tests, now fixedstellar
: fixed misspelling the name of famous physicist Max PlanckThe following source code had to change in response to changes in the library:
constants
uses the correct spelling of PlanckSimpleWD
uses the correct spelling of PlanckIn addition, the following changes were made to source code:
Isopycnic
: fixed a typo in the surface coefficients of $A^\ast$ and $V_g$. Also removedlight_speed2
definition, which instead just inherits fromStar
.MESA
: changed someint
s tosize_t
s, and updated certain surface expansion methods, which were erroneous.Polytrope
: removedlight_speed2
definition, which instead just inherits fromStar
Star
: replaces some string methods with new formatted strings, replaced someint
s withsize_t
s.ThrainMode
: fixed some finder methodsAnd now the changes to the tests:
matrix
: add extra test of tridiagonal inversionrootfind
: replaces theTS_ASSERT_IS_NAN(x)
method with more stable/secureTS_ASSERT(std::isnan(x))
Splinor
: many, many more tests, including using test data functions, and a test to create outputs to "artifacts" folderstring
: tests buffer overflowThrainMode
: replaces theTS_ASSERT_IS_NAN(x)
method with more stable/secureTS_ASSERT(std::isnan(x))
ThrainUnites
: adds a test of params method