diff options
author | Justin Worthe <justin@worthe-it.co.za> | 2019-05-17 22:57:19 +0200 |
---|---|---|
committer | Justin Worthe <justin@worthe-it.co.za> | 2019-05-17 22:57:19 +0200 |
commit | dad50b87af3ecd23387bcf78dd16399a33074540 (patch) | |
tree | ff55d9143171e70e951a11ffe135840e781d5efb /src/geometry | |
parent | 56627fa6c913919acef6799c489ba9c5cf25cd0a (diff) |
Strategy to focus mcts
Diffstat (limited to 'src/geometry')
-rw-r--r-- | src/geometry/vec.rs | 8 |
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 { |