summaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2019-05-17 22:57:19 +0200
committerJustin Worthe <justin@worthe-it.co.za>2019-05-17 22:57:19 +0200
commitdad50b87af3ecd23387bcf78dd16399a33074540 (patch)
treeff55d9143171e70e951a11ffe135840e781d5efb /src/geometry
parent56627fa6c913919acef6799c489ba9c5cf25cd0a (diff)
Strategy to focus mcts
Diffstat (limited to 'src/geometry')
-rw-r--r--src/geometry/vec.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/geometry/vec.rs b/src/geometry/vec.rs
index f6bd29f..ab2210d 100644
--- a/src/geometry/vec.rs
+++ b/src/geometry/vec.rs
@@ -1,5 +1,5 @@
use std::ops::*;
-use num_traits::{NumOps, NumAssignOps};
+use num_traits::{NumOps, NumAssignOps, Signed};
use num_traits::pow::Pow;
use num_traits::real::Real;
@@ -21,6 +21,12 @@ macro_rules! impl_vector {
$VecN { $($field),+ }
}
}
+
+ impl<T: NumOps + Ord + Signed + Copy> $VecN<T> {
+ pub fn walking_distance(&self) -> T {
+ fold_array!(max, { $(self.$field.abs()),+ })
+ }
+ }
impl<T: NumOps + Pow<u8, Output=T> + Copy> $VecN<T> {
pub fn magnitude_squared(&self) -> T {