Conversation
- Introduced CMake configuration for building the tempoch C++ wrapper. - Added submodule for tempoch-ffi. - Implemented core classes: UTC, JulianDate, MJD, and Period with necessary methods. - Created error handling mechanism for tempoch exceptions. - Added example and test files demonstrating the usage of the API.
- Introduced Doxygen configuration files and updated CMakeLists.txt to enable documentation generation. - Added a Dockerfile for building the project with Doxygen and other dependencies. - Enhanced CI workflow to include C++ linting, documentation generation, and coverage reporting. - Updated mainpage.md and period.hpp with additional documentation and error handling details.
…tart, architecture, and prerequisites
… examples and tests
- Updated exception constructors in ffi_core.hpp for consistent formatting. - Enhanced check_status function for better readability and structure. - Rearranged include directives in period.hpp and tempoch.hpp for clarity. - Improved formatting and consistency in time.hpp, including UTC, JulianDate, and MJD classes. - Updated test cases in main.cpp, test_period.cpp, and test_time.cpp for consistent formatting and improved readability. - Updated submodule reference for qtty-cpp.
Generic Time
…ime-related headers and tests
…and arithmetic operations
…arity chore: update subproject commits for qtty-cpp and tempoch
feat: implement Time<S> class template and CivilTime struct; update t…
…me representations
feat: add FFI-backed time scales and conversion traits for various ti…
…ng in timescales.cpp
Add error handling classes and enhance CMake for Rust integration
- ffi_core.hpp: add PeriodListUnsortedError and PeriodListOverlappingError exception classes; handle status codes 9 and 10 in check_status() - constants.hpp: new header with tempoch::constants:: namespace wrapping all 11 named constant getter functions (j2000_jd_tt, eop_start_mjd, …) - eop.hpp: new header with EopValues struct (std::optional fields replacing NaN sentinels) and eop_at() / eop_covers() free functions - period.hpp: add Period::contains(), Period::union_with(), Period::complement_of() member functions; add validate_periods(), intersect_periods(), union_periods(), normalize_periods() free functions - tempoch.hpp: update umbrella header to include constants.hpp and eop.hpp; update documentation comment
…ch crate Add six numbered examples that mirror the tempoch Rust crate examples: 01_quickstart – UTC → TT, JD, MJD 02_scales – all scale conversions from J2000.0 TT 03_formats – constructor/accessor showcase for Time<S> 04_periods – complement, intersect, normalize, validate, contains 06_runtime_tables – EOP table access, UT1 conversion, constants 07_conversions – full chain Unix → UTC → TAI → TT → TDB / UT1 / GPS 05_serde has no C++ equivalent (no JSON round-trip in the FFI), so it is intentionally skipped to keep the numbering aligned with the Rust crate. Remove the previous examples/time_example.cpp and examples/timescales.cpp, which are superseded by the new series. Update CMakeLists.txt to register the new targets via a foreach loop, dropping the two now-deleted targets.
All 12 scale tag structs are now in tempoch::scales:: and named without the Scale suffix: JDScale → scales::JD, MJDScale → scales::MJD, TTScale → scales::TT, TAIScale → scales::TAI, TDBScale → scales::TDB, TCGScale → scales::TCG, TCBScale → scales::TCB, GPSScale → scales::GPS, UTScale → scales::UT, UTCScale → scales::UTC, JDEScale → scales::JDE, UnixTimeScale → scales::Unix All TimeScaleTraits<>, ScaleIdOf<>, TimeTraits<>, and SFINAE guards in time_base.hpp updated accordingly. Type aliases in time.hpp (JulianDate, TT, TAI, …) are unchanged in name. Examples updated to use scales:: in .to<>() calls and drop .value() from print statements in favour of operator<<.
…d clang-tidy refactor: remove old CI scripts and integrate new build and test scripts style: update .clang-format to increase column limit to 100
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.