diff --git a/.github/workflows/docs-and-testcov.yml b/.github/workflows/docs-and-testcov.yml
index 70cd1fe..2307ec2 100644
--- a/.github/workflows/docs-and-testcov.yml
+++ b/.github/workflows/docs-and-testcov.yml
@@ -86,6 +86,8 @@ jobs:
cp tarpaulin-report.json target/doc/rustframe/
cp tarpaulin-badge.json target/doc/rustframe/
cp last-commit-date.json target/doc/rustframe/
+ mkdir -p target/doc/rustframe/.github
+ cp .github/rustframe_logo.png target/doc/rustframe/.github/
echo "" > target/doc/index.html
- name: Upload Pages artifact
diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml
index ba90e9e..6fe312d 100644
--- a/.github/workflows/run-unit-tests.yml
+++ b/.github/workflows/run-unit-tests.yml
@@ -7,6 +7,7 @@ on:
jobs:
run-unit-tests:
+ if: github.event.pull_request.draft == false
name: run-unit-tests
runs-on: ubuntu-latest
env:
diff --git a/README.md b/README.md
index d44e91c..3a990ae 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,7 @@
-# rustframe
+
+#
rustframe
+
+
📚 [Docs](https://magnus167.github.io/rustframe/) | 🐙 [GitHub](https://github.com/Magnus167/rustframe) | 🌐 [Gitea mirror](https://gitea.nulltech.uk/Magnus167/rustframe) | 🦀 [Crates.io](https://crates.io/crates/rustframe) | 🔖 [docs.rs](https://docs.rs/rustframe/latest/rustframe/)
@@ -53,35 +56,37 @@ let dates: Vec =
.list()
.unwrap();
- let col_names: Vec = vec!["a".to_string(), "b".to_string()];
+let col_names: Vec = vec!["a".to_string(), "b".to_string()];
- let ma: Matrix = Matrix::from_cols(vec![vec![1.0, 2.0, 3.0, 4.0], vec![5.0, 6.0, 7.0, 8.0]]);
- let mb: Matrix = Matrix::from_cols(vec![vec![4.0, 3.0, 2.0, 1.0], vec![8.0, 7.0, 6.0, 5.0]]);
+let ma: Matrix =
+ Matrix::from_cols(vec![vec![1.0, 2.0, 3.0, 4.0], vec![5.0, 6.0, 7.0, 8.0]]);
+let mb: Matrix =
+ Matrix::from_cols(vec![vec![4.0, 3.0, 2.0, 1.0], vec![8.0, 7.0, 6.0, 5.0]]);
- let fa: Frame = Frame::new(
- ma.clone(),
- col_names.clone(),
- Some(RowIndex::Date(dates.clone())),
- );
- let fb: Frame = Frame::new(mb, col_names, Some(RowIndex::Date(dates)));
+let fa: Frame = Frame::new(
+ ma.clone(),
+ col_names.clone(),
+ Some(RowIndex::Date(dates.clone())),
+);
+let fb: Frame = Frame::new(mb, col_names, Some(RowIndex::Date(dates)));
- // Math that reads like math
- let result: Frame = &fa * &fb; // element‑wise multiply
- let total: f64 = result.sum_vertical().iter().sum::();
- assert_eq!(total, 184.0);
+// Math that reads like math
+let result: Frame = &fa * &fb; // element‑wise multiply
+let total: f64 = result.sum_vertical().iter().sum::();
+assert_eq!(total, 184.0);
- // broadcast & reduce
- let result: Matrix = &ma + 1.0; // add scalar
- let result: Matrix = &result - 1.0; // subtract scalar
- let result: Matrix = &result * 2.0; // multiply by scalar
- let result: Matrix = &result / 2.0; // divide by scalar
+// broadcast & reduce
+let result: Matrix = &ma + 1.0; // add scalar
+let result: Matrix = &result - 1.0; // subtract scalar
+let result: Matrix = &result * 2.0; // multiply by scalar
+let result: Matrix = &result / 2.0; // divide by scalar
- let check: bool = result.eq_elementwise(ma.clone()).all();
- assert!(check);
+let check: bool = result.eq_elementwise(ma.clone()).all();
+assert!(check);
- // The above math can also be written as:
- let check: bool = (&(&(&(&ma + 1.0) - 1.0) * 2.0) / 2.0)
- .eq_elementwise(ma)
- .all();
- assert!(check);
+// The above math can also be written as:
+let check: bool = (&(&(&(&ma + 1.0) - 1.0) * 2.0) / 2.0)
+ .eq_elementwise(ma)
+ .all();
+assert!(check);
```