From 0ca9bcf9d87bd727abbd2260966dcaef9858381b Mon Sep 17 00:00:00 2001 From: Olivia Appleton Date: Wed, 14 Aug 2024 22:35:41 -0500 Subject: [PATCH] Fix some web changes --- README.rst | 2 +- docs/_static/test-rs.html | 73 ++++++++++++++++++------------------ docs/index.rst | 2 +- docs/rust.rst | 5 +++ rust/src/include/problems.rs | 10 +++-- rust/src/lib.rs | 4 +- rust/src/main.rs | 2 +- 7 files changed, 53 insertions(+), 45 deletions(-) diff --git a/README.rst b/README.rst index a20deb89..10de4c58 100644 --- a/README.rst +++ b/README.rst @@ -110,7 +110,7 @@ Olivia's Project Euler Solutions and these tests not yet automated as in Nodejs and Bun. To run these tests yourself, |test-js-link| .. [3] While these solutions do run in most browsers, they need to be bundled with Pyodide 0.26.2+ first, and these tests are not yet automated as in CPython and pypy. To run these tests yourself, |test-py-link| -.. [4] This feature is in progress. While these solutions will run in most browsers, they need to be bundled with wasm-pack 0.2+ first, and these +.. [4] While these solutions will run in most browsers, they need to be bundled with wasm-pack 0.2+ first, and these tests are not yet automated as on non-web platforms. To run these tests yourself, |test-rs-link| Coverage diff --git a/docs/_static/test-rs.html b/docs/_static/test-rs.html index 4ebd1815..7a7c4154 100644 --- a/docs/_static/test-rs.html +++ b/docs/_static/test-rs.html @@ -11,49 +11,50 @@
diff --git a/docs/index.rst b/docs/index.rst index 4242b58c..07f2ac4d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -202,7 +202,7 @@ Problems Solved +-----------+------------+------------+------------+------------+------------+------------+------------+ |:prob:`74` | | | | | |:py-d:`0074`| | +-----------+------------+------------+------------+------------+------------+------------+------------+ -|:prob:`76` |:c-d:`0076` |:cp-d:`0076`|:cs-s:`0076`|:ja-d:`0076`|:js-s:`0076`|:py-d:`0076`|:rs-d:`0076`| +|:prob:`76` |:c-d:`0076` |:cp-d:`0076`|:cs-s:`0076`|:ja-d:`0076`|:js-s:`0076`|:py-d:`0076`|:rs-s:`0076`| +-----------+------------+------------+------------+------------+------------+------------+------------+ |:prob:`77` | | | | | |:py-d:`0077`| | +-----------+------------+------------+------------+------------+------------+------------+------------+ diff --git a/docs/rust.rst b/docs/rust.rst index 9df0df17..0bd34e47 100644 --- a/docs/rust.rst +++ b/docs/rust.rst @@ -34,6 +34,11 @@ build or test processes. Alias for ``cargo clean``. +Live Tests +---------- + +To run these problems in your browser, :live-test:`rs` + Library Code ------------ diff --git a/rust/src/include/problems.rs b/rust/src/include/problems.rs index d523e467..18acd390 100644 --- a/rust/src/include/problems.rs +++ b/rust/src/include/problems.rs @@ -42,7 +42,7 @@ pub fn get_problem<'b>(n: usize) -> Option> { 20 => Some(( &20, p0020, false)), 22 => Some(( &22, p0022, false)), 24 => Some(( &24, p0024, false)), - 27 => Some(( &27, p0027, false)), + 27 => Some(( &27, p0027, true)), 34 => Some(( &34, p0034, false)), 69 => Some(( &69, p0069, false)), 76 => Some(( &76, p0076, false)), @@ -55,11 +55,13 @@ pub fn get_problem<'b>(n: usize) -> Option> { } -pub fn generate_supported_problems() -> Vec { +pub fn generate_supported_problems(include_slow: bool) -> Vec { let mut supported_problems = Vec::new(); for n in 1..10000 { - if get_problem(n).is_some() { - supported_problems.push(n); + if let Some((_, _, slow)) = get_problem(n) { + if !slow || include_slow { + supported_problems.push(n); + } } } diff --git a/rust/src/lib.rs b/rust/src/lib.rs index d843a18b..b9b5dfe1 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -37,8 +37,8 @@ pub fn run_problem(n: usize) -> JsValue { #[cfg(any(target_arch="wasm32", target_arch="wasm64"))] #[wasm_bindgen] -pub fn get_problems() -> JsValue { - let problems = generate_supported_problems(); +pub fn get_problems(include_slow: bool) -> JsValue { + let problems = generate_supported_problems(include_slow); let js_array = Array::new_with_length(problems.len() as u32); for (i, &item) in problems.iter().enumerate() { diff --git a/rust/src/main.rs b/rust/src/main.rs index fbe774bb..f7db81e2 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -41,7 +41,7 @@ fn main() { for i in sieve { println!("{}", i); } - let supported = generate_supported_problems(); + let supported = generate_supported_problems(false); for id in supported { match get_problem(id) {