From de40ec59dee6c922db4818b6004199458957fdcb Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 09:59:22 -0700 Subject: [PATCH 01/11] Clean up CI pipelines --- .github/workflows/{ci.yaml => ci-build.yaml} | 7 ++++-- .github/workflows/ci-lint.yaml | 26 ++++++++++++++++++++ Makefile.toml | 26 -------------------- 3 files changed, 31 insertions(+), 28 deletions(-) rename .github/workflows/{ci.yaml => ci-build.yaml} (93%) create mode 100644 .github/workflows/ci-lint.yaml delete mode 100644 Makefile.toml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci-build.yaml similarity index 93% rename from .github/workflows/ci.yaml rename to .github/workflows/ci-build.yaml index 5dfc3a7..e45e4f4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci-build.yaml @@ -1,5 +1,5 @@ --- -name: CI +name: CI - Build "on": pull_request: push: @@ -77,4 +77,7 @@ jobs: rustup show - name: Build - run: cargo make --no-workspace workspace-ci-flow + run: cargo build --workspace --all-features + + - name: Test + run: cargo test --workspace --all-features diff --git a/.github/workflows/ci-lint.yaml b/.github/workflows/ci-lint.yaml new file mode 100644 index 0000000..e85238e --- /dev/null +++ b/.github/workflows/ci-lint.yaml @@ -0,0 +1,26 @@ +--- +name: CI - Lint +on: + pull_request: +jobs: + lint: + name: PR Checks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.GH_TOKEN }} + + - name: Install rust + run: | + rustup -V + rustup set profile minimal + rustup toolchain install stable + rustup show + + - name: Check Formatting + run: cargo fmt --check --all + + - name: Clippy + run: cargo clippy --check --workspace --all-features diff --git a/Makefile.toml b/Makefile.toml deleted file mode 100644 index 30155f2..0000000 --- a/Makefile.toml +++ /dev/null @@ -1,26 +0,0 @@ -[env] -CARGO_MAKE_RELEASE_FLOW_TARGET = "${{ matrix.binary_target }}" -CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true -CARGO_MAKE_RUN_CLIPPY = true -CARGO_MAKE_CLIPPY_ARGS = "--all-features -- -D warnings" -CARGO_MAKE_RUN_CHECK_FORMAT = true -CARGO_MAKE_CARGO_VERBOSE_FLAGS = "-vv" -RUSTFLAGS="-D warnings" - -[tasks.check-format-ci-flow] -condition = { env_set = [ - "CARGO_MAKE_RUN_CHECK_FORMAT", -], channels = [ - "stable", -], platforms = [ - "linux", -] } - -[tasks.clippy-ci-flow] -condition = { env_set = [ - "CARGO_MAKE_RUN_CLIPPY", -], channels = [ - "stable", -], platforms = [ - "linux", -] } From 0591fe7ea2f920b0d719214d9c7357d01fd04bc6 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:05:50 -0700 Subject: [PATCH 02/11] Merge the two CI pipelines --- .github/workflows/ci-lint.yaml | 26 ------------------- .github/workflows/{ci-build.yaml => ci.yaml} | 27 +++++++++++++++++--- 2 files changed, 23 insertions(+), 30 deletions(-) delete mode 100644 .github/workflows/ci-lint.yaml rename .github/workflows/{ci-build.yaml => ci.yaml} (81%) diff --git a/.github/workflows/ci-lint.yaml b/.github/workflows/ci-lint.yaml deleted file mode 100644 index e85238e..0000000 --- a/.github/workflows/ci-lint.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: CI - Lint -on: - pull_request: -jobs: - lint: - name: PR Checks - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - token: ${{ secrets.GH_TOKEN }} - - - name: Install rust - run: | - rustup -V - rustup set profile minimal - rustup toolchain install stable - rustup show - - - name: Check Formatting - run: cargo fmt --check --all - - - name: Clippy - run: cargo clippy --check --workspace --all-features diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci.yaml similarity index 81% rename from .github/workflows/ci-build.yaml rename to .github/workflows/ci.yaml index e45e4f4..953f4d7 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,6 @@ --- name: CI - Build -"on": +on: pull_request: push: branches: @@ -8,8 +8,28 @@ name: CI - Build schedule: - cron: "0 16 * * 1" # 8am PST every Monday jobs: - ci: - name: Format, lint, and test + lint: + name: PR Checks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install rust + run: | + rustup -V + rustup set profile minimal + rustup toolchain install stable + rustup show + + - name: Check Formatting + run: cargo fmt --check --all + + - name: Clippy + run: cargo clippy --check --workspace --all-features + build: + name: Build and test runs-on: ${{ matrix.os }} strategy: matrix: @@ -46,7 +66,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - - uses: davidB/rust-cargo-make@v1 - name: Install musl tools if: matrix.needs_musl From c52d50e063938127c1d4b5d639fac77dece68e3e Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:09:39 -0700 Subject: [PATCH 03/11] Reformat --- .github/workflows/ci.yaml | 176 +++++++++++++++++++------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 953f4d7..0b180d9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,102 +1,102 @@ --- -name: CI - Build -on: - pull_request: - push: - branches: - - "master" - schedule: - - cron: "0 16 * * 1" # 8am PST every Monday -jobs: - lint: - name: PR Checks - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive + name: CI + on: + pull_request: + push: + branches: + - "master" + schedule: + - cron: "0 16 * * 1" # 8am PST every Monday + jobs: + lint: + name: Lints + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive - - name: Install rust - run: | - rustup -V - rustup set profile minimal - rustup toolchain install stable - rustup show + - name: Install rust + run: | + rustup -V + rustup set profile minimal + rustup toolchain install stable + rustup show - - name: Check Formatting - run: cargo fmt --check --all + - name: Check Formatting + run: cargo fmt --check --all - - name: Clippy - run: cargo clippy --check --workspace --all-features - build: - name: Build and test - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - # Ubuntus - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-musl - needs_musl: true - toolchain: stable - - os: ubuntu-20.04 - binary_target: x86_64-unknown-linux-gnu - toolchain: stable + - name: Clippy + run: cargo clippy --check --workspace --all-features + build: + name: Build and test + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + # Ubuntus + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-musl + needs_musl: true + toolchain: stable + - os: ubuntu-20.04 + binary_target: x86_64-unknown-linux-gnu + toolchain: stable - # MacOS ARM - - os: macos-latest - binary_target: aarch64-apple-darwin - toolchain: stable + # MacOS ARM + - os: macos-latest + binary_target: aarch64-apple-darwin + toolchain: stable - # Windows - - os: windows-latest - binary_target: x86_64-pc-windows-msvc - toolchain: stable + # Windows + - os: windows-latest + binary_target: x86_64-pc-windows-msvc + toolchain: stable - # Nightly Rust - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-gnu - toolchain: nightly + # Nightly Rust + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-gnu + toolchain: nightly - # MSRV - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-gnu - toolchain: 1.62.1 - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive + # MSRV + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-gnu + toolchain: 1.62.1 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive - - name: Install musl tools - if: matrix.needs_musl - run: | - sudo apt-get install musl-tools - sudo ln -s /usr/bin/musl-gcc /usr/bin/musl-g++ + - name: Install musl tools + if: matrix.needs_musl + run: | + sudo apt-get install musl-tools + sudo ln -s /usr/bin/musl-gcc /usr/bin/musl-g++ - # Required for bindgen on Windows - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v2 - if: matrix.os == 'windows-latest' - with: - version: "10.0" - directory: ${{ runner.temp }}/llvm-10.0/ + # Required for bindgen on Windows + - name: Install LLVM and Clang + uses: KyleMayes/install-llvm-action@v2 + if: matrix.os == 'windows-latest' + with: + version: "10.0" + directory: ${{ runner.temp }}/llvm-10.0/ - - name: Set CMake generator - if: matrix.os == 'windows-latest' - run: | - echo "CMAKE_GENERATOR=NMake Makefiles" >> $env:GITHUB_ENV - echo "${{ env.CMAKE_GENERATOR }}" - echo $env:CMAKE_GENERATOR + - name: Set CMake generator + if: matrix.os == 'windows-latest' + run: | + echo "CMAKE_GENERATOR=NMake Makefiles" >> $env:GITHUB_ENV + echo "${{ env.CMAKE_GENERATOR }}" + echo $env:CMAKE_GENERATOR - - name: Install rust ${{ matrix.binary_target }} - run: | - rustup -V - rustup set profile minimal - rustup toolchain install --force-non-host ${{ matrix.toolchain }}-${{ matrix.binary_target }} - rustup show + - name: Install rust ${{ matrix.binary_target }} + run: | + rustup -V + rustup set profile minimal + rustup toolchain install --force-non-host ${{ matrix.toolchain }}-${{ matrix.binary_target }} + rustup show - - name: Build - run: cargo build --workspace --all-features + - name: Build + run: cargo build --workspace --all-features - - name: Test - run: cargo test --workspace --all-features + - name: Test + run: cargo test --workspace --all-features From 19b9a4a8fd17c02e062c8761dcbb2fa13f0d7454 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:12:09 -0700 Subject: [PATCH 04/11] Fix formatting --- .github/workflows/ci.yaml | 176 +++++++++++++++++++------------------- 1 file changed, 86 insertions(+), 90 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0b180d9..ae1b38d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,102 +1,98 @@ --- - name: CI - on: - pull_request: - push: - branches: - - "master" - schedule: - - cron: "0 16 * * 1" # 8am PST every Monday - jobs: - lint: - name: Lints - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: +name: CI +on: + pull_request: + push: + branches: + - "master" + schedule: + - cron: "0 16 * * 1" # 8am PST every Monday +jobs: + lint: + name: Lints + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: submodules: recursive + - name: Install rust + run: | + rustup -V + rustup set profile minimal + rustup toolchain install stable + rustup show - - name: Install rust - run: | - rustup -V - rustup set profile minimal - rustup toolchain install stable - rustup show + - name: Check Formatting + run: cargo fmt --check --all - - name: Check Formatting - run: cargo fmt --check --all + - name: Clippy + run: cargo clippy --check --workspace --all-features - - name: Clippy - run: cargo clippy --check --workspace --all-features - build: - name: Build and test - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - # Ubuntus - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-musl - needs_musl: true - toolchain: stable - - os: ubuntu-20.04 - binary_target: x86_64-unknown-linux-gnu - toolchain: stable - - # MacOS ARM - - os: macos-latest - binary_target: aarch64-apple-darwin - toolchain: stable - - # Windows - - os: windows-latest - binary_target: x86_64-pc-windows-msvc - toolchain: stable - - # Nightly Rust - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-gnu + build: + name: Build and test + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + # Ubuntus + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-musl + needs_musl: true + toolchain: stable + - os: ubuntu-20.04 + binary_target: x86_64-unknown-linux-gnu + toolchain: stable + # MacOS ARM + - os: macos-latest + binary_target: aarch64-apple-darwin + toolchain: stable + # Windows + - os: windows-latest + binary_target: x86_64-pc-windows-msvc + toolchain: stable + # Nightly Rust + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-gnu toolchain: nightly + # MSRV + - os: ubuntu-latest + binary_target: x86_64-unknown-linux-gnu + toolchain: 1.62.1 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive - # MSRV - - os: ubuntu-latest - binary_target: x86_64-unknown-linux-gnu - toolchain: 1.62.1 - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Install musl tools - if: matrix.needs_musl - run: | - sudo apt-get install musl-tools - sudo ln -s /usr/bin/musl-gcc /usr/bin/musl-g++ + - name: Install musl tools + if: matrix.needs_musl + run: | + sudo apt-get install musl-tools + sudo ln -s /usr/bin/musl-gcc /usr/bin/musl-g++ - # Required for bindgen on Windows - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v2 - if: matrix.os == 'windows-latest' - with: - version: "10.0" - directory: ${{ runner.temp }}/llvm-10.0/ + # Required for bindgen on Windows + - name: Install LLVM and Clang + uses: KyleMayes/install-llvm-action@v2 + if: matrix.os == 'windows-latest' + with: + version: "10.0" + directory: ${{ runner.temp }}/llvm-10.0/ - - name: Set CMake generator - if: matrix.os == 'windows-latest' - run: | - echo "CMAKE_GENERATOR=NMake Makefiles" >> $env:GITHUB_ENV - echo "${{ env.CMAKE_GENERATOR }}" - echo $env:CMAKE_GENERATOR + - name: Set CMake generator + if: matrix.os == 'windows-latest' + run: | + echo "CMAKE_GENERATOR=NMake Makefiles" >> $env:GITHUB_ENV + echo "${{ env.CMAKE_GENERATOR }}" + echo $env:CMAKE_GENERATOR - - name: Install rust ${{ matrix.binary_target }} - run: | - rustup -V - rustup set profile minimal - rustup toolchain install --force-non-host ${{ matrix.toolchain }}-${{ matrix.binary_target }} - rustup show + - name: Install rust ${{ matrix.binary_target }} + run: | + rustup -V + rustup set profile minimal + rustup toolchain install --force-non-host ${{ matrix.toolchain }}-${{ matrix.binary_target }} + rustup show - - name: Build - run: cargo build --workspace --all-features + - name: Build + run: cargo build --workspace --all-features - - name: Test - run: cargo test --workspace --all-features + - name: Test + run: cargo test --workspace --all-features From 60077387e8844d3a84966adda6db1eb92b58989f Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:12:53 -0700 Subject: [PATCH 05/11] Fix --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ae1b38d..178b5b8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -53,7 +53,7 @@ jobs: # Nightly Rust - os: ubuntu-latest binary_target: x86_64-unknown-linux-gnu - toolchain: nightly + toolchain: nightly # MSRV - os: ubuntu-latest binary_target: x86_64-unknown-linux-gnu From 09f2d0bc826f5f335516bac114d5524bd33101c1 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:13:47 -0700 Subject: [PATCH 06/11] Remove Ubuntu 20.04 --- .github/workflows/ci.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 178b5b8..9b2aa77 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -39,9 +39,6 @@ jobs: binary_target: x86_64-unknown-linux-musl needs_musl: true toolchain: stable - - os: ubuntu-20.04 - binary_target: x86_64-unknown-linux-gnu - toolchain: stable # MacOS ARM - os: macos-latest binary_target: aarch64-apple-darwin From 55f88e1285afcabdc7da6bd2cd9227fc8410aee5 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:18:18 -0700 Subject: [PATCH 07/11] Deny clippy warnings --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9b2aa77..494a198 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -26,7 +26,7 @@ jobs: run: cargo fmt --check --all - name: Clippy - run: cargo clippy --check --workspace --all-features + run: cargo clippy --workspace --all-features -- -Dwarnings build: name: Build and test From 3ccb9ca2c6af4e9af8e548e647a7cf27c814c329 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:37:00 -0700 Subject: [PATCH 08/11] Fix clippy warnings --- swiftnav/src/coords.rs | 10 +++++----- swiftnav/src/troposphere.rs | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/swiftnav/src/coords.rs b/swiftnav/src/coords.rs index c37e403..e0c7906 100644 --- a/swiftnav/src/coords.rs +++ b/swiftnav/src/coords.rs @@ -41,11 +41,11 @@ //! the more common algortihms based on the Newton-Raphson method. //! //! # References -//! * "A comparison of methods used in rectangular to Geodetic Coordinates -//! Transformations", Burtch R. R. (2006), American Congress for Surveying -//! and Mapping Annual Conference. Orlando, Florida. -//! * "Transformation from Cartesian to Geodetic Coordinates Accelerated by -//! Halley’s Method", T. Fukushima (2006), Journal of Geodesy. +//! * "A comparison of methods used in rectangular to Geodetic Coordinates +//! Transformations", Burtch R. R. (2006), American Congress for Surveying +//! and Mapping Annual Conference. Orlando, Florida. +//! * "Transformation from Cartesian to Geodetic Coordinates Accelerated by +//! Halley’s Method", T. Fukushima (2006), Journal of Geodesy. use std::ops::{Add, AddAssign, Mul, MulAssign, Sub, SubAssign}; diff --git a/swiftnav/src/troposphere.rs b/swiftnav/src/troposphere.rs index 9070e78..cc91220 100644 --- a/swiftnav/src/troposphere.rs +++ b/swiftnav/src/troposphere.rs @@ -13,8 +13,8 @@ //! parameters are hardcoded into the library, unlike the ionosphere model. //! //! # References -//! * UNB Neutral Atmosphere Models: Development and Performance. R Leandro, -//! M Santos, and R B Langley +//! * UNB Neutral Atmosphere Models: Development and Performance. R Leandro, +//! M Santos, and R B Langley /// Calculate tropospheric delay using UNM3m model. /// From c3ff142ff4910940bdf1a2e859ee90687697056b Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:37:11 -0700 Subject: [PATCH 09/11] Add Cargo doc step --- .github/workflows/ci.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 494a198..ada3e24 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,10 +23,15 @@ jobs: rustup show - name: Check Formatting - run: cargo fmt --check --all + run: cargo fmt --check --all --verbose - name: Clippy - run: cargo clippy --workspace --all-features -- -Dwarnings + run: cargo clippy --workspace --all-features --verbose -- -Dwarnings + + - name: Docs + env: + RUSTDOCFLAGS:-D warnings + run: cargo doc --workspace --all-features --no-deps --verbose build: name: Build and test @@ -89,7 +94,7 @@ jobs: rustup show - name: Build - run: cargo build --workspace --all-features + run: cargo build --workspace --all-features --verbose - name: Test - run: cargo test --workspace --all-features + run: cargo test --workspace --all-features --verbose From 9c9bb4e49d7bb1bbeec4c3e3035a65e3621b29fa Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:38:37 -0700 Subject: [PATCH 10/11] Fix --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ada3e24..2562135 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -30,7 +30,7 @@ jobs: - name: Docs env: - RUSTDOCFLAGS:-D warnings + RUSTDOCFLAGS: -D warnings run: cargo doc --workspace --all-features --no-deps --verbose build: From 6b01afc3fa355ecd20c476d9ac355e463ef85f78 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Tue, 15 Apr 2025 10:54:54 -0700 Subject: [PATCH 11/11] Fix doc warnings --- .github/workflows/ci.yaml | 5 ++++- swiftnav/src/reference_frame/mod.rs | 18 +++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2562135..7490f3f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -28,10 +28,13 @@ jobs: - name: Clippy run: cargo clippy --workspace --all-features --verbose -- -Dwarnings + # Check for docs warnings + # Only do this for the swiftnav crate since swiftnav-sys has some errors + # in the bindgen output - name: Docs env: RUSTDOCFLAGS: -D warnings - run: cargo doc --workspace --all-features --no-deps --verbose + run: cargo doc --package swiftnav --all-features --no-deps --verbose build: name: Build and test diff --git a/swiftnav/src/reference_frame/mod.rs b/swiftnav/src/reference_frame/mod.rs index e771dea..b9a7c11 100644 --- a/swiftnav/src/reference_frame/mod.rs +++ b/swiftnav/src/reference_frame/mod.rs @@ -36,14 +36,14 @@ //! This module provides several types and functions to help transform a set of coordinates //! from one reference frame to another, and from one epoch to another. Several sets of //! transformation parameters are included for converting between common reference frames. -//! To start out, you must have a [`Coordinate`](crate::coords::Coordinate) that you want to -//! transform. This consists of a position, an epoch, and a reference frame as well as an optional -//! velocity. You then need to get the [`Transformation`](crate::reference_frame::Transformation) -//! object that describes the transformation from the reference frame of the coordinate to the -//! desired reference frame. You can then call the `transform` method on the transformation object -//! to get a new coordinate in the desired reference frame. This transformation will change the -//! position and velocity of the coordinate, but it does not the change the epoch of the coordinate. -//! If you need to change the epoch of the coordinate you will need to use the [`Coordinate::adjust_epoch`](crate::coords::Coordinate::adjust_epoch) +//! To start out, you must have a [`Coordinate`] that you want to transform. This consists of a +//! position, an epoch, and a reference frame as well as an optional velocity. You then need to +//! get the [`Transformation`] object that describes the transformation from the reference +//! frame of the coordinate to the desired reference frame. You can then call the `transform` +//! method on the transformation object to get a new coordinate in the desired reference frame. +//! This transformation will change the position and velocity of the coordinate, but it does +//! not the change the epoch of the coordinate. If you need to change the epoch of the +//! coordinate you will need to use the [`Coordinate::adjust_epoch`](crate::coords::Coordinate::adjust_epoch) //! method which uses the velocity of the coordinate to determine the position at the new epoch. //! //! # Example @@ -304,7 +304,7 @@ pub fn get_transformation( /// A helper type for finding transformations between reference frames that require multiple steps /// -/// This object can be used to determine which calls to [`get_transformation`](crate::reference_frame::get_transformation) +/// This object can be used to determine which calls to [`get_transformation`] /// are needed when a single transformation does not exist between two reference frames. pub struct TransformationGraph { graph: HashMap>,