fast image operations
Diffstat (limited to 'src/pixels/wam.rs')
-rw-r--r--src/pixels/wam.rs27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/pixels/wam.rs b/src/pixels/wam.rs
deleted file mode 100644
index e33d496..0000000
--- a/src/pixels/wam.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-use super::{float, unfloat};
-use atools::prelude::*;
-#[allow(dead_code)]
-pub trait Wam {
- /// this function weighs the sides and combines
- fn wam(self, b: Self, l: f32, r: f32) -> Self;
-}
-
-impl<const N: usize> Wam for [u8; N] {
- fn wam(self, b: Self, l: f32, r: f32) -> Self {
- // SAFETY: read [`weigh`]
- self.zip(b).map(|(a, b)| weigh(a, b, l, r))
- }
-}
-
-#[inline(always)]
-#[lower::apply(algebraic)]
-fn weigh(a: u8, b: u8, l: f32, r: f32) -> u8 {
- unfloat((float(a) * l + float(b) * r).clamp(0., 1.))
-}
-
-#[test]
-fn weig() {
- assert_eq!(weigh(10, 20, 0.5, 0.5), 15);
- assert_eq!(weigh(10, 20, 0.9, 0.1), 11);
- assert_eq!(weigh(150, 150, 1.8, 0.8), 255);
-}