cleanup
This commit is contained in:
parent
de2a24e469
commit
bc5b239e65
16
Cargo.lock
generated
16
Cargo.lock
generated
@ -192,15 +192,6 @@ version = "3.9.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
|
checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "byte-unit"
|
|
||||||
version = "4.0.14"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "95ebf10dda65f19ff0f42ea15572a359ed60d7fc74fdc984d90310937be0014b"
|
|
||||||
dependencies = [
|
|
||||||
"utf8-width",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bytemuck"
|
name = "bytemuck"
|
||||||
version = "1.9.1"
|
version = "1.9.1"
|
||||||
@ -2377,12 +2368,6 @@ dependencies = [
|
|||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "utf8-width"
|
|
||||||
version = "0.1.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uuid"
|
name = "uuid"
|
||||||
version = "0.8.2"
|
version = "0.8.2"
|
||||||
@ -2792,7 +2777,6 @@ dependencies = [
|
|||||||
"async-lock",
|
"async-lock",
|
||||||
"benchmarks",
|
"benchmarks",
|
||||||
"bincode",
|
"bincode",
|
||||||
"byte-unit",
|
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"const_format",
|
"const_format",
|
||||||
"eframe",
|
"eframe",
|
||||||
|
|||||||
@ -56,7 +56,6 @@ static_assertions = "1.1"
|
|||||||
uuid = { version = "1", features = ["v4", "fast-rng", "js"] }
|
uuid = { version = "1", features = ["v4", "fast-rng", "js"] }
|
||||||
bincode = "1.3"
|
bincode = "1.3"
|
||||||
serde = "1"
|
serde = "1"
|
||||||
byte-unit = { version = "4", default-features = false }
|
|
||||||
unzip-n = "0.1"
|
unzip-n = "0.1"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|||||||
@ -349,7 +349,7 @@ impl FunctionEntry {
|
|||||||
if derivative_required {
|
if derivative_required {
|
||||||
debug_assert!(derivative_data_1[0].is_some());
|
debug_assert!(derivative_data_1[0].is_some());
|
||||||
self.derivative_data = derivative_data_1
|
self.derivative_data = derivative_data_1
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|ele| unsafe { ele.unwrap_unchecked() })
|
.map(|ele| unsafe { ele.unwrap_unchecked() })
|
||||||
.collect::<Vec<Value>>();
|
.collect::<Vec<Value>>();
|
||||||
} else {
|
} else {
|
||||||
@ -359,7 +359,7 @@ impl FunctionEntry {
|
|||||||
if do_nth_derivative {
|
if do_nth_derivative {
|
||||||
self.nth_derivative_data = Some(
|
self.nth_derivative_data = Some(
|
||||||
new_nth_derivative_data
|
new_nth_derivative_data
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|c| unsafe { c.unwrap_unchecked() })
|
.map(|c| unsafe { c.unwrap_unchecked() })
|
||||||
.collect(),
|
.collect(),
|
||||||
);
|
);
|
||||||
@ -371,8 +371,6 @@ impl FunctionEntry {
|
|||||||
self.invalidate_derivative();
|
self.invalidate_derivative();
|
||||||
}
|
}
|
||||||
|
|
||||||
let threshold: f64 = resolution / 2.0;
|
|
||||||
|
|
||||||
if !partial_regen {
|
if !partial_regen {
|
||||||
if self.back_data.is_empty() {
|
if self.back_data.is_empty() {
|
||||||
let data: Vec<Value> = dyn_iter(&resolution_iter)
|
let data: Vec<Value> = dyn_iter(&resolution_iter)
|
||||||
@ -426,6 +424,8 @@ impl FunctionEntry {
|
|||||||
self.invalidate_integral();
|
self.invalidate_integral();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let threshold: f64 = resolution / 2.0;
|
||||||
|
|
||||||
// Calculates extrema
|
// Calculates extrema
|
||||||
if settings.do_extrema && (min_max_changed | self.extrema_data.is_empty()) {
|
if settings.do_extrema && (min_max_changed | self.extrema_data.is_empty()) {
|
||||||
self.extrema_data = self.newtons_method_helper(&threshold, 1);
|
self.extrema_data = self.newtons_method_helper(&threshold, 1);
|
||||||
|
|||||||
@ -29,7 +29,6 @@ pub use crate::{
|
|||||||
math_app::AppSettings,
|
math_app::AppSettings,
|
||||||
misc::{
|
misc::{
|
||||||
// decimal_round,
|
// decimal_round,
|
||||||
format_bytes,
|
|
||||||
hashed_storage_create,
|
hashed_storage_create,
|
||||||
hashed_storage_read,
|
hashed_storage_read,
|
||||||
option_vec_printer,
|
option_vec_printer,
|
||||||
|
|||||||
@ -156,7 +156,7 @@ impl MathApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if commit == build::SHORT_COMMIT {
|
if commit == build::SHORT_COMMIT {
|
||||||
tracing::info!("Reading decompression cache. Bytes: {}, or: {}", cached_data.len(), crate::misc::format_bytes(cached_data.len()));
|
tracing::info!("Reading decompression cache. Bytes: {}", cached_data.len());
|
||||||
return Some(cached_data.to_vec());
|
return Some(cached_data.to_vec());
|
||||||
} else {
|
} else {
|
||||||
tracing::info!("Decompression cache are invalid (build: {}, previous: {})", build::SHORT_COMMIT, commit);
|
tracing::info!("Decompression cache are invalid (build: {}, previous: {})", build::SHORT_COMMIT, commit);
|
||||||
@ -176,7 +176,7 @@ impl MathApp {
|
|||||||
|
|
||||||
tracing::info!("Setting decompression cache");
|
tracing::info!("Setting decompression cache");
|
||||||
let saved_data = &crate::misc::hashed_storage_create(&build::SHORT_COMMIT.as_bytes(), data);
|
let saved_data = &crate::misc::hashed_storage_create(&build::SHORT_COMMIT.as_bytes(), data);
|
||||||
tracing::info!("Bytes: {}, or: {}", saved_data.len(), crate::misc::format_bytes(data.len()));
|
tracing::info!("Bytes: {}", saved_data.len());
|
||||||
get_localstorage().set_item(DATA_NAME, saved_data).expect("failed to set local storage cache");
|
get_localstorage().set_item(DATA_NAME, saved_data).expect("failed to set local storage cache");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,7 +187,6 @@ impl MathApp {
|
|||||||
debug_assert!(!commit.is_empty());
|
debug_assert!(!commit.is_empty());
|
||||||
debug_assert!(!func_data.is_empty());
|
debug_assert!(!func_data.is_empty());
|
||||||
|
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
assume(commit.len() > 0);
|
assume(commit.len() > 0);
|
||||||
assume(func_data.len() > 0);
|
assume(func_data.len() > 0);
|
||||||
|
|||||||
14
src/misc.rs
14
src/misc.rs
@ -173,6 +173,9 @@ impl<'a> From<&'a [f64]> for SteppedVector<'a> {
|
|||||||
// Calculate the step between elements
|
// Calculate the step between elements
|
||||||
let step = (max - min).abs() / (data.len() as f64);
|
let step = (max - min).abs() / (data.len() as f64);
|
||||||
|
|
||||||
|
debug_assert!(step.is_sign_positive());
|
||||||
|
debug_assert!(step.is_finite());
|
||||||
|
|
||||||
// Create and return the struct
|
// Create and return the struct
|
||||||
SteppedVector { data, step }
|
SteppedVector { data, step }
|
||||||
}
|
}
|
||||||
@ -224,7 +227,7 @@ pub fn newtons_method_helper(
|
|||||||
|
|
||||||
data.iter()
|
data.iter()
|
||||||
.tuple_windows()
|
.tuple_windows()
|
||||||
.filter(|(prev, curr)| !prev.y.is_nan() && !curr.y.is_nan())
|
.filter(|(prev, curr)| prev.y.is_finite() && curr.y.is_finite())
|
||||||
.filter(|(prev, curr)| prev.y.signum() != curr.y.signum())
|
.filter(|(prev, curr)| prev.y.signum() != curr.y.signum())
|
||||||
.map(|(start, _)| newtons_method(f, f_1, &start.x, range, threshold))
|
.map(|(start, _)| newtons_method(f, f_1, &start.x, range, threshold))
|
||||||
.filter(|x| x.is_some())
|
.filter(|x| x.is_some())
|
||||||
@ -334,6 +337,7 @@ pub fn hashed_storage_read(data: String) -> (String, Vec<u8>) {
|
|||||||
debug_assert!(data.len() > HASH_LENGTH);
|
debug_assert!(data.len() > HASH_LENGTH);
|
||||||
unsafe {
|
unsafe {
|
||||||
assume(!data.is_empty());
|
assume(!data.is_empty());
|
||||||
|
assume(data.len() > HASH_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// can't use data.as_bytes() here for some reason, seems to break on wasm?
|
// can't use data.as_bytes() here for some reason, seems to break on wasm?
|
||||||
@ -346,6 +350,7 @@ pub fn hashed_storage_read(data: String) -> (String, Vec<u8>) {
|
|||||||
unsafe {
|
unsafe {
|
||||||
assume(!cached_data.is_empty());
|
assume(!cached_data.is_empty());
|
||||||
assume(!hash.is_empty());
|
assume(!hash.is_empty());
|
||||||
|
assume(hash.len() == HASH_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
(
|
(
|
||||||
@ -353,10 +358,3 @@ pub fn hashed_storage_read(data: String) -> (String, Vec<u8>) {
|
|||||||
cached_data.to_vec(),
|
cached_data.to_vec(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
|
||||||
pub fn format_bytes(bytes: usize) -> String {
|
|
||||||
byte_unit::Byte::from_bytes(bytes as u64)
|
|
||||||
.get_appropriate_unit(false)
|
|
||||||
.to_string()
|
|
||||||
}
|
|
||||||
|
|||||||
@ -119,16 +119,3 @@ fn hashed_storage() {
|
|||||||
assert_eq!(read.0.chars().map(|c| c as u8).collect::<Vec<u8>>(), commit);
|
assert_eq!(read.0.chars().map(|c| c as u8).collect::<Vec<u8>>(), commit);
|
||||||
assert_eq!(read.1, data);
|
assert_eq!(read.1, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn format_bytes() {
|
|
||||||
use std::collections::HashMap;
|
|
||||||
use ytbn_graphing_software::format_bytes;
|
|
||||||
|
|
||||||
let values: HashMap<usize, &str> =
|
|
||||||
HashMap::from([(1000, "1000 B"), (10000, "10.00 KB"), (1100000, "1.10 MB")]);
|
|
||||||
|
|
||||||
for (key, value) in values {
|
|
||||||
assert_eq!(format_bytes(key), value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user