|
14 | 14 | */ |
15 | 15 | #include <algorithm> // `std::shuffle` |
16 | 16 | #include <cassert> // `assert` |
| 17 | +#include <cmath> // `std::abs` |
17 | 18 | #include <random> // `std::default_random_engine` |
18 | 19 | #include <stdexcept> // `std::terminate` |
19 | 20 | #include <unordered_map> // `std::unordered_map` |
@@ -673,16 +674,16 @@ void test_cosine(std::size_t collection_size, std::size_t dimensions) { |
673 | 674 | scalar_t const* row(std::size_t i) const noexcept { return (*vector_of_vectors_ptr)[i].data(); } |
674 | 675 |
|
675 | 676 | float operator()(member_cref_t const& a, member_cref_t const& b) const { |
676 | | - return metric_cos_gt<scalar_t>{}(row(get_slot(b)), row(get_slot(a)), dimensions); |
| 677 | + return metric_cos_gt<scalar_t, float>{}(row(get_slot(b)), row(get_slot(a)), dimensions); |
677 | 678 | } |
678 | 679 | float operator()(scalar_t const* some_vector, member_cref_t const& member) const { |
679 | | - return metric_cos_gt<scalar_t>{}(some_vector, row(get_slot(member)), dimensions); |
| 680 | + return metric_cos_gt<scalar_t, float>{}(some_vector, row(get_slot(member)), dimensions); |
680 | 681 | } |
681 | 682 | float operator()(member_citerator_t const& a, member_citerator_t const& b) const { |
682 | | - return metric_cos_gt<scalar_t>{}(row(get_slot(b)), row(get_slot(a)), dimensions); |
| 683 | + return metric_cos_gt<scalar_t, float>{}(row(get_slot(b)), row(get_slot(a)), dimensions); |
683 | 684 | } |
684 | 685 | float operator()(scalar_t const* some_vector, member_citerator_t const& member) const { |
685 | | - return metric_cos_gt<scalar_t>{}(some_vector, row(get_slot(member)), dimensions); |
| 686 | + return metric_cos_gt<scalar_t, float>{}(some_vector, row(get_slot(member)), dimensions); |
686 | 687 | } |
687 | 688 | }; |
688 | 689 |
|
|
0 commit comments