Recent Releases of https://github.com/berkeleylab/julienne
https://github.com/berkeleylab/julienne - Tidy parallel output
In previous releases, some output unrelated to reporting test outcomes was being printed by all images. This release ensures single-image output except for error terminations. All output other than internal file output and error termination stop codes now happens via a call to the new one_image_prints subroutine.
What's Changed
- doc(README): update compiler support table/text by @rouson in https://github.com/BerkeleyLab/julienne/pull/99
- Documentation: add app dir to ford.md & match project description to GitHib About text by @rouson in https://github.com/BerkeleyLab/julienne/pull/100
- Chores by @rouson in https://github.com/BerkeleyLab/julienne/pull/101
- Fix parallel testing: output only on image 1 by @rouson in https://github.com/BerkeleyLab/julienne/pull/103
- fix(tests): output only on image 1 by @rouson in https://github.com/BerkeleyLab/julienne/pull/102
- Feature: centralize output to one image by @rouson in https://github.com/BerkeleyLab/julienne/pull/104
- Fix: workaround nagfor issue by @rouson in https://github.com/BerkeleyLab/julienne/pull/106
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/3.1.0...3.1.1
- Fortran
Published by rouson 10 months ago
https://github.com/berkeleylab/julienne - New operands for `test_diagnosis_t` defined operations
New Features
- Support new type/kind operands with the
test_diagnosis_toperator.equalsExpected.integer(c_size_t)type(c_ptr)
- Support
integer(c_size_t)arguments instring_tconstructor Support user-concatenation of
string_tandcharactervalues to test diagnoses viaoperator(//)refac(string_test):simplify via defined operations
Pull Request Log
- Add testdiagnosist operators by @rouson in https://github.com/BerkeleyLab/julienne/pull/98
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/3.0.0...3.1.0
- Fortran
Published by rouson 10 months ago
https://github.com/berkeleylab/julienne - Automated test-suite scaffolding, simpler tests, logical assertions
New Features
Simple logical assertions ๐งช
Julienne's new logical assertions. are useful when a literal copy of the asserted condition suffices for diagnostic information when an assertion fails. Examples include call_julienne_assert(allocated(a)) and call julienne_assert(allocated(a)) for conditionally and unconditionally executed assertions, respectively.
Test simplification ๐
Julienne now hides the test-filtering logic so a user's definition of the required results function simply requires declaring an instance of a test_t child type, invoking the instance's inherited run function with a test_description_t array argument, and assigning the run result to the results function result:
fortran
function results() result(test_results)
type(specimen_test_t) specimen_test
type(test_result_t), allocatable :: test_results(:)
test_results = specimen_test%run([test_description_t("checking something", diagnosis_function)])
end function
where specimen_test_t extends test_t and diagnosis_function performs the test and conforms to Julienne's diagnosis_function_i abstract interface.
Scaffolding automation ๐ค
Given an existing demo/test subdirectory and a JSON file containing a "test subjects" key with an array value specifying test names, a command like the following creates the test suite for Julienne's demonstration project:
bash
fpm run scaffold --compiler flang-new --flag "-O3 -g" -- --json-file demo/test-suite.json --suite-path demo/test
which instructs scaffold to incorporate each test name into a corresponding test_t child type (e.g., specimen_test_t type), create simple tests in a like-named module (e.g., specimen_test_m module), and write a main program in demo/driver.f90. Running the main program with the following command executes the tests:
cd demo
fpm test --compiler flang-new --flag "-O3"
The scaffold program currently builds only with the LLVM (flang-new) compiler, but the generated demonstration test suite (or an analogous handwritten test suite) builds with any of the supported compilers: LLVM (flang-new), GCC (gfortran), Intel (ifx), and NAG (nagfor). Minor fixes are under way to get the scaffold program itself working with the latter three compilers.
Breaking change
The previously deprecated vector_test_description_t type and vector_diagnosis_function_i abstract interface have been removed in order to simplify automatic driver creation.
Pull Request Log
- ๐งน Assertion chores, fixes, documentation and new test by @rouson in https://github.com/BerkeleyLab/julienne/pull/84
- ๐งถ Fix(julienne_assert): define string only for fails by @rouson in https://github.com/BerkeleyLab/julienne/pull/85
- โ Centralize the test filtering logic to testdescriptionm by @rouson in https://github.com/BerkeleyLab/julienne/pull/91
- ๐ Automatically generate demo test suite from JSON file by @rouson in https://github.com/BerkeleyLab/julienne/pull/92
- ๐ฉโโ๏ธ Doc(testresultt): clarify role by @rouson in https://github.com/BerkeleyLab/julienne/pull/94
- ๐ฌ Feature: logicalassert thinner wrapper around Assert's assertalways by @rouson in https://github.com/BerkeleyLab/julienne/pull/95
- ๐ฉน Workaround gfortran 13 issue by @rouson in https://github.com/BerkeleyLab/julienne/pull/96
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.4.3...3.0.0
- Fortran
Published by rouson 10 months ago
https://github.com/berkeleylab/julienne - New test-diagnosis operators and JSON value getter
New In This Release
This release adds operators and operands that generate test_diagnosis_t results:
* .equalsExpected. now accepts operand types character, string_t and combinations thereof,
* .isBefore. and .isAfter. alphabetical and reverse-alphabetical check operators that accept character and string_t operands and combinations thereof
* The .also. operator is synonymous with the test_diagnosis_t .and. operator but avoids confusion with the intrinsic .and. operator.
* Corresponding new unit tests.
Merge Pull Requests
- Feature: character operators and operands by @rouson in https://github.com/BerkeleyLab/julienne/pull/81
- doc(README): fix and clarify example expressions by @rouson in https://github.com/BerkeleyLab/julienne/pull/75
- Fix ifx issue, add json string value getter, add testdiagnosticst operator(.also.) by @rouson in https://github.com/BerkeleyLab/julienne/pull/82
- doc(README): add .also. and explain motivation by @rouson in https://github.com/BerkeleyLab/julienne/pull/83
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.4.2...2.4.3
- Fortran
Published by rouson 11 months ago
https://github.com/berkeleylab/julienne - Use Assert 3.0.0
What's Changed
- build(fpm.toml): update to Assert 3.0.0 by @rouson in https://github.com/BerkeleyLab/julienne/pull/78
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.4.1...2.4.2
- Fortran
Published by rouson 11 months ago
https://github.com/berkeleylab/julienne - Fix test filtering
This releases fixes a problem with broadcasting the --contains command-line argument (which is used for running only a subset set of a tests). The fix involves each image getting the search string from the command-line instead of only image 1 getting the string and broadcasting it to the other images, which do not know a priori the length of string to allocate for receiving the broadcast.
What's Changed
- (fix): Fix bug related to assigning to an unallocated variable by @ktras in https://github.com/BerkeleyLab/julienne/pull/76
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.4.0...2.4.1
- Fortran
Published by rouson 12 months ago
https://github.com/berkeleylab/julienne - New operators, operand types and ranks
New In This Release
Features
- New operators
.isAtLeast.and.isAtMost.equivalent to.greaterThanOrEqualTo.and.lessThanOrEqualTo., respectively, - The above four operators accept
realanddouble precisionoperands in addition their pre-existing support forintegeroperands - Operator
.all.supports operands of all standard ranks (0-15) - The
file_tcomponent constructor is nowpure
Build System
- Updated Assert dependency to 3.0.0 release candidate to make progress toward supporting LFortran
- Simplified
fpmmanifest with non-essential details removed
Documentation
- Reorganized and updated README.md
- Document the recently released assertion capability
- Document the
.separatedBy.operator in the root-directory README.md - More descriptive assertions example output
- Reorganize examples into a directory structure:
example โโโ assertions โโโ command-line-parsing โโโ strings - Improve the formatting of
example/README.md.
Pull Requests In This Release
- Build with lfortran by @rouson in https://github.com/BerkeleyLab/julienne/pull/72
- fix(test_diagnosis): swap .isAtLeast. & .isAtMost. by @rouson in https://github.com/BerkeleyLab/julienne/pull/73
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.3.0...2.4.0
- Fortran
Published by rouson about 1 year ago
https://github.com/berkeleylab/julienne - Assertions, Compiler Support, Operators, & Documentation
New in this release
- Idiomatic assertions: Julienne's expressive idioms can now be used in assertions that are conditionally compiled and executed inside a user's procedures. See the Assertions and Writing Assertions sections in this repository's root-directory README.md file.
- Expanded compiler support: Run the Julienne test suite to see the tests, if any, that are skipped (unsupported) with your compiler.
- GCC 15: full support -- the only unsupported feature (
vector_test_description_t) is superseded by the newer.all.operator, is therefore deprecated and likely will be removed at some point). - GCC 13-14:- the only unsupported feature,
bracket(), stems from a compiler bug that has been fixed in GCC 15.
- GCC 15: full support -- the only unsupported feature (
- New defined operations:
- Relative tolerances: the two newly supported expressions below are equivalent.
x .approximates. y .withinFraction. 0.01x .approximates. y .withinPercentage. 1.0
- Relative tolerances: the two newly supported expressions below are equivalent.
- Expanded documentation: The root-directory README.md file has been updated to
- Describe the above changes,
- Provide background on the philosophy behind Julienne,
- Give more detail on the functional programming patterns that Julienne supports,
- Update the known issues with GCC,
- Tabulate example expressions in a way that comprehensively covers Julienne operators and operand types, and
- Tabulate the
string_tconstructor functions in a way that- Partially demonstrates the numeric types that Julienne can convert to strings,
- Comprehensively demonstrates
string_t's defined operations:.csv.,.sv.,.cat., and//., and - Partially demonstrates the
string_tfunctionality that Julienne provides.
Issue #70 provides a To Do list that includes items to add to the README.md to make it closer to a comprehensive delineation of Julienne's capabilities.
Pull requests since the last release
- Feature: idiomatic assertions via a thin wrapper for Assert's
assertsubroutine by @rouson in https://github.com/BerkeleyLab/julienne/pull/65 - Full support for gfortran 13, 14, and 15 by @rouson in https://github.com/BerkeleyLab/julienne/pull/68
- Update README.md for latest features by @rouson in https://github.com/BerkeleyLab/julienne/pull/69
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.2.0...2.3.0
- Fortran
Published by rouson about 1 year ago
https://github.com/berkeleylab/julienne - Feature: Relative tolerances
This release adds
operator(.withinFraction.)forrealanddouble precisionoperands,operator(.withinPercentage.)forrealanddouble precisionoperands, and- Unit tests for each operator.
What's Changed
- feat(test_diagnosis): fraction/percent tolerances by @rouson in https://github.com/BerkeleyLab/julienne/pull/64
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.1.0...2.1.1
- Fortran
Published by rouson about 1 year ago
https://github.com/berkeleylab/julienne - Automatic test diagnosis via expressions inspired by natural language
What's New
This release
1. Defines idioms for writing compact expressions that construct test diagnoses that encapsulate automatically generated diagnostic output when tests fail and
2. Reorganizes and enhances the example test suite and moves it a new demo subdirectory so that it builds as a separate fpm project with Julienne as a dependency.
The new operators eliminate much of the tedium of forming one's own diagnostics_string arguments when invoking test_diagnosis_t constructors as previously required.
An Expressive Idiom Constructing Test Diagnoses
For real or double precision values x, y, and tolerance and for integer values i and j, expressions of the following forms now evaluate to test_diagnosis_t objects constructed with descriptive diagnostic_string arguments tailored to the operators involved in the expressions:
```fortran
x .approximates. y .within. tolerance
x .lessThan. y
x .greaterThan. y
i .equalsExpected. j
i .lessThan. j
i .greaterThan. j
i .lessThanOrEqualTo. j
i .greaterThanOrEqualTo. j
``
where all of the above operators areelemental` and accept conformable arguments, i.e., same-shaped array operands or array/scalar operand combinations.
When the operands are arrays, the expressions evaluate to test_diagnosis_t arrays, which could be used as the result of a vector test function satisfying Julienne's vector_diagnosis_function_i abstract interface. Alternatively, array results can be aggregated into one test_diagnosis_t object using the .all. operator that this pull request also provides. For example,
fortran
.all. ([i,j] .lessThan. k) ! test passes if i < k .and. j < k
.all. (i .greaterThan. [j,k]) ! test passes if i > j .and. i > k
.all. ([i,j] .equalsExpected. [m,n]) ! test passes if i == m .and. j == n
where expressions operated on by.all.will result in diagnostic strings displaying only for the elements corresponding to test failures. See [test/testdiagnosistest_m.F90`] for examples of the use of the above operators.
Equivalently, if pairwise aggregation suffices, then the user-defined .and. operator in this PR can be used as follows:
fortran
(2 .greaterThanOrEqualTo. expected_min) .and. (1 .equalsExpected. 1)
which is currently implemented using .all. with a size-2 array:
fortran
.all. ([lhs,rhs])
where lhs = 2 .greaterThanOrEqualTo. expected_min and rhs = 1 .equalsExpected. 1.
What's Changed
- Chores by @rouson in https://github.com/BerkeleyLab/julienne/pull/53
- Chores and minor new feature by @rouson in https://github.com/BerkeleyLab/julienne/pull/54
- Feature: support comparison expressions that evaluate to test diagnoses by @rouson in https://github.com/BerkeleyLab/julienne/pull/55
- Reorganize examples and add string-handling example by @rouson in https://github.com/BerkeleyLab/julienne/pull/59
- fix(test_diagnosis): finish To Do item from PR #55 by @rouson in https://github.com/BerkeleyLab/julienne/pull/61
- doc(README): describe operators & improve structure by @rouson in https://github.com/BerkeleyLab/julienne/pull/62
- Revise example test suite by @rouson in https://github.com/BerkeleyLab/julienne/pull/63
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/2.0.0...2.1.0
- Fortran
Published by rouson about 1 year ago
https://github.com/berkeleylab/julienne - Features: Tally skipped tests and enhance documentation
Breaking Release
- BREAKING: Remove the legacy test and vector test functions that lack diagnostic information. ๐
- Support vector tests in which one function produces multiple diagnoses. โ๏ธ
- Support skipping but tallying tests by omitting the diagnosis function argument in
test_description_tandvector_test_description_tconstructors. โ๏ธ - Add a detailed example-test-suite README.md and a better introduction in the root-directory README.md. ๐ซ
- Add ASCII art in the root-directory README.md. ๐จ
- Tally but skips three tests when executing Julienne's test suite built by
gfortran. 3๏ธโฃ
What's Changed
- (fix): Update README.md to fix docs link by @ktras in https://github.com/BerkeleyLab/julienne/pull/47 ๐
- Add test diagnostics output by @rouson in https://github.com/BerkeleyLab/julienne/pull/44 ๐ฉบ
- Feature: Skip tests and report skipped tests by @rouson in https://github.com/BerkeleyLab/julienne/pull/48 ๐โโ๏ธ
- Documentation: Add example-test-suite README.md by @rouson in https://github.com/BerkeleyLab/julienne/pull/49 ๐
- doc(README): update introduction by @rouson in https://github.com/BerkeleyLab/julienne/pull/50 ๐
- doc(README): restructure test definition steps by @rouson in https://github.com/BerkeleyLab/julienne/pull/52 ๐
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.8.4...2.0.0
- Fortran
Published by rouson about 1 year ago
https://github.com/berkeleylab/julienne - Dependency update and minor fix
What's Changed
- Update assert by @rouson in https://github.com/BerkeleyLab/julienne/pull/42
- fix(juliennetests): include language-support.F90 by @rouson in https://github.com/BerkeleyLab/julienne/pull/43
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.8.3...1.8.4
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Fix and improve assertions
This release
- Works around an Assert 2.0.1 issue that prevents a procedure containing an assertion from having a variable named
string. - Converts several file name extensions to
.F90so that most compilers will automatically preprocess such files. - Switches all assertions to use the new Assert 2.0 macros such as
call_assertandcall_assert_diagnoseto facilitate the complete removal of the assertions by the preprocessor when theASSERTIONSmacro is not set (i.e., when the compiler flag-DASSERTIONSis not present.
What's Changed
- Fix and improve assertions by @rouson in https://github.com/BerkeleyLab/julienne/pull/41
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.8.2...1.8.3
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - 1.8.1 Update Assert dependency URL in fpm.toml
What's Changed
- fix(fpm): update Assert URL to berkeleylab by @rouson in https://github.com/BerkeleyLab/julienne/pull/39
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.8.0...1.8.1
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - 1.8.0 Support Intel ifx compiler
This release
* Fixes some compiler-dependent code in the test suite so that all tests pass with the Intel ifx compiler and
* Works around a gfortran 14.2.0 issue and thereby reduces to one the number of checks that must be disabled with gfortran.
What's Changed
- Update dependency Assert to 2.0.1 by @rouson in https://github.com/BerkeleyLab/julienne/pull/33
- Fix: work around gfortran 14.2.0 bug by @rouson in https://github.com/BerkeleyLab/julienne/pull/35
- test(string_t): fix line continuation by @rouson in https://github.com/BerkeleyLab/julienne/pull/36
- Fix edit descriptors and add ifx build command to README.md by @rouson in https://github.com/BerkeleyLab/julienne/pull/37
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.7.0...1.8.0
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - String_t construction from logical and complex types
What's Changed
- Feature: construct
string_tobjects from logical & complex arguments by @rouson in https://github.com/BerkeleyLab/julienne/pull/30 - Documentation: Fix link to example directory in README by @ktras in https://github.com/BerkeleyLab/julienne/pull/31
- Testing: temporary test-suite workaround for NAG compiler by @rouson in https://github.com/BerkeleyLab/julienne/pull/32
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.6.0...1.7.0
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Diagnostic output, test-suite example, and UML diagrams
What's New
- A capability for producing diagnostic output when a test fails. ๐ฉน ๐ค
- An example test suite demonstrating the use of diagnostic in a test failure. ๐ฉบ
- A
doc/uml/subdirectory containing UML class and sequence diagrams describing the example test suite. ๐
Executing fpm run --example main runs the new example test suite.
Changelog Summary
- Add unit tests for testdescriptiont and simplify the derived type definition by @rouson in https://github.com/BerkeleyLab/julienne/pull/27
- Feature: produce diagnostic output for test failures by @rouson in https://github.com/BerkeleyLab/julienne/pull/28
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.5.4...1.6.0
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Improve test coverage and robustness
This release
1. Replaces the previously fragile unit tests for the command_line_t type with tests that no longer require launching an fpm subprocess via execute_command_line and checking that child process's exit status.
2. Improves test output: if the flags for running the command_line_t tests are not detected in the fpm test command, the main test program prints instructions for running the command_line_t tests .
3. Updates the CI testing from macOS 12 to the GitHub CI-supported version 13.
4. Add the.smod generated submodule file extensions to the .gitignore file.
5. Fixes some issues that led to crashes when searched-for flags were not present or the flag value is not present.
6. Adds command_line_t unit tests.
What's Changed
- Improve test coverage and robustness by @rouson in https://github.com/BerkeleyLab/julienne/pull/26
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.5.3...1.5.4
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Fix: eliminate line wrapping in file_t write_lines procedure
What's Changed
- Fix: eliminate line wrap in filet writelines by @rouson in https://github.com/BerkeleyLab/julienne/pull/25
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.5.2...1.5.3
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Fix: eliminate line wrapping in test-subject report output
This release replaces list-directed printing of the test_t subject with formatted printing to work around flang's relatively short wrapping length for list-directed printing.
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - 1.5.0
This release
- A unary
operator(.csv.)with astring_tresult encapsulating a comma-separated value (CSV) created from a. astring_tarray or b. acharacterarray, - A binary
operator(.sv.)with astring_tresult encapsulating a CSV created from left- and right-hand operands: a. astring_tarray and astring_tseparator or b. astring_tarray and acharacterseparator. c. acharacterarray and acharacterseparator d. acharacterarray and astring_tseparator - A unit test that verifies the following identities: ``` "a,bc,def" == .csv. [stringt("a"), stringt("bc"), string_t("def")] "abc,def" == .csv. ["abc", "def"]
"do|re|mi" == (stringt(["do", "re", "mi"]) .sv. "|" )
"dore|mi" == (([stringt("dore"), stringt("mi")]) .sv. stringt("|"))
"do|re|mi" == ( ["do", "re", "mi"] .sv. "|" )
"do|re|mi" == ( ["do", "re", "mi"] .sv. stringt("|"))
4. A `bracket` type-bound procedure and a test verifying the following identities:
scalar%bracket() == stringt("[do re mi]") &
all(array%bracket() == [stringt("[do]"), stringt("[re]"), stringt("[mi]")]) &
all(array%bracket('"') == [stringt('"do"'), stringt('"re"'), stringt('"mi"')]) &
all(array%bracket("{","}") == [stringt('{do}'), stringt('{re}'), stringt('{mi}')]) &
``
5. Agetstringtarrayspecific procedure supporting the genericgetjsonvaluebinding and test verifying the following identities:
associate(json_line => string_t('"lead singer" : ["stevie", "ray", "vaughn"],'))
all( json_line%get_json_value(key=string_t("lead singer"), mold=[string_t::]) == [string_t("stevie"), string_t("ray"), string_t("vaughn")]))
end associate
`
What's Changed
- Features: string bracketing, CSV operators, and JSON array value reader by @rouson in https://github.com/BerkeleyLab/julienne/pull/23
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.4.0...1.5.0
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Feature: get_json_value reads string-array value from key/value pair
What's Changed
- Read string_t-array value from JSON key/value pair by @rouson in https://github.com/BerkeleyLab/julienne/pull/22
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.3.1...1.4.0
- Fortran
Published by rouson over 1 year ago
https://github.com/berkeleylab/julienne - Improved testing
What's Changed
- Add LLVM Flang to CI by @ktras in https://github.com/BerkeleyLab/julienne/pull/15
- chore(fpm.toml): update version by @rouson in https://github.com/BerkeleyLab/julienne/pull/18
- Fix n doc test workflow by @rouson in https://github.com/BerkeleyLab/julienne/pull/19
- doc(README): instruct to export FPM_{FC,FFLAGS) by @rouson in https://github.com/BerkeleyLab/julienne/pull/20
- Use language-feature macros and work around flang I/O issue by @rouson in https://github.com/BerkeleyLab/julienne/pull/21
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.3.0...1.3.1
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - Public GitHub_CI detector and generic test-description search function
What's Changed
- Feature-based macros by @rouson in https://github.com/BerkeleyLab/julienne/pull/16
- Make GitHub_CI detector public and description search function generic by @rouson in https://github.com/BerkeleyLab/julienne/pull/17
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.2.2...1.3.0
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - Double-precision separated value format
What's Changed
- Feature: add double-precision separated value format and unit test by @rouson in https://github.com/BerkeleyLab/julienne/pull/14
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.2.1...1.2.2
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - JSON double-precision array value getter to string_t
What's Changed
- feat(stringt):add json getdoubleprecisionarray
- chore(string_m): make specific binding private by @rouson in https://github.com/BerkeleyLab/julienne/pull/13
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.2.0...1.2.1
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - Double-precision JSON value getters
When a JSON line contains a string with a key and corresponding real value such as
"some-key" : 1.234
and when the get_json_value's mold argument is a double-precision scalar value, the result is now a double-precision real value.
What's Changed
- Merge sourceryinstitute main into berkeleylab main by @rouson in https://github.com/BerkeleyLab/julienne/pull/11
- Merge sourceryinstitute fork main into berkeleylab fork main by @rouson in https://github.com/BerkeleyLab/julienne/pull/12
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.1.1...1.2.0
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - Test JSON-value character getters and add copyrights
This release
1. Adds passing tests for three private string_t type-bound procedures supporting the public generic binding get_json_value:
- get_character ๐
- get_character_with_character_key ๐
- get_string_with_character_key ๐งถ
2. Adds missing copyright headers to all files in two subdirectories:
- example/ and ๐
- test/. โ๏ธ
What's Changed
- Feature/Chore: new getjsonvalue getters / add copyrights by @rouson in https://github.com/BerkeleyLab/julienne/pull/10
Full Changelog: https://github.com/BerkeleyLab/julienne/compare/1.1.0...1.1.1
- Fortran
Published by rouson almost 2 years ago
https://github.com/berkeleylab/julienne - JSON value getters with intrinsic-character key
With this release, each of the specific type-bound procedures that can be invoked through the json_get_value generic binding now has an alternative implementation that accepts a JSON key value as an intrinsic character argument that the implementation passes as an argument to a string_t constructor and uses the result to invoke the corresponding original JSON value getter.
What's Changed
- chore(testresultt): make components private by @rouson in https://github.com/BerkeleyLab/julienne/pull/1
- Eliminate NAG compiler warnings by @rouson in https://github.com/BerkeleyLab/julienne/pull/2
- Merge sourceryinstitute fork into berkeleylab fork by @rouson in https://github.com/BerkeleyLab/julienne/pull/3
- chore(read_lines): safer variable scoping by @rouson in https://github.com/BerkeleyLab/julienne/pull/4
- Add file_t constructor & make some type-bound procedures elemental by @rouson in https://github.com/BerkeleyLab/julienne/pull/5
- Add installable target to fpm toml file by @ktras in https://github.com/BerkeleyLab/julienne/pull/6
- Update license by @ktras in https://github.com/BerkeleyLab/julienne/pull/7
- Add copyright notice to license by @ktras in https://github.com/BerkeleyLab/julienne/pull/8
- Trims and character keys by @rouson in https://github.com/BerkeleyLab/julienne/pull/9
New Contributors
- @rouson made their first contribution in https://github.com/BerkeleyLab/julienne/pull/1
- @ktras made their first contribution in https://github.com/BerkeleyLab/julienne/pull/6
Full Changelog: https://github.com/BerkeleyLab/julienne/commits/1.1.0
- Fortran
Published by rouson almost 2 years ago