37 #if defined(__INTEL_COMPILER)
40 #include <mm_malloc.h>
43 #if defined(__INTEL_COMPILER)
44 #define ASSUME_ALIGNED(c) __assume_aligned( (c), DC_MEM_ALIGNMENT)
46 #define ASSUME_ALIGNED(c) (c) = (float*) __builtin_assume_aligned( (c), DC_MEM_ALIGNMENT)
49 namespace Clustering {
53 using Neighbor = std::pair<std::size_t, float>;
55 using Neighborhood = std::map<std::size_t, Clustering::Tools::Neighbor>;
58 write_pops(std::string fname, std::vector<std::size_t> pops);
61 write_fes(std::string fname, std::vector<float> fes);
63 std::vector<std::size_t>
69 template <
typename NUM>
73 template <
typename NUM>
75 write_single_column(std::string filename, std::vector<NUM> dat,
bool with_scientific_format=
false);
77 template <
typename KEY,
typename VAL>
79 write_map(std::string filename, std::map<KEY, VAL> mapping);
85 std::pair<Neighborhood, Neighborhood>
94 std::map<std::size_t, std::size_t>
100 template <
typename NUM>
101 std::tuple<NUM*, std::size_t, std::size_t>
103 std::vector<std::size_t> usecols = std::vector<std::size_t>());
105 template <
typename NUM>
112 template <
typename NUM>