50 using coord_t =
typename shambase::VectorProperties<pos_t>::component_type;
51 using ipos_t =
typename Morton::int_vec_repr;
52 using int_t =
typename Morton::int_vec_repr_base;
56 inline static CoordTransform get_transform(pos_t bounding_box_min, pos_t bounding_box_max) {
58 bounding_box_min, bounding_box_max);
60 inline static ipos_t to_morton_grid(pos_t pos,
CoordTransform transform) {
64 inline static pos_t to_real_space(ipos_t pos,
CoordTransform transform) {
81 sycl::buffer<pos_t> &in_positions,
82 pos_t bounding_box_min,
83 pos_t bounding_box_max,
84 std::unique_ptr<sycl::buffer<morton_t>> &out_morton);
87 const sham::DeviceScheduler_ptr &dev_sched,
90 pos_t bounding_box_min,
91 pos_t bounding_box_max,
92 std::unique_ptr<sycl::buffer<morton_t>> &out_morton);
106 std::unique_ptr<sycl::buffer<morton_t>> &buf_morton) {
107 details::sycl_fill_trailling_buffer<morton_t>(
108 queue, morton_count, fill_count, buf_morton);
111 static void sycl_irange_to_range(
114 pos_t bounding_box_min,
115 pos_t bounding_box_max,
116 std::unique_ptr<sycl::buffer<ipos_t>> &buf_pos_min_cell,
117 std::unique_ptr<sycl::buffer<ipos_t>> &buf_pos_max_cell,
118 std::unique_ptr<sycl::buffer<pos_t>> &out_buf_pos_min_cell_flt,
119 std::unique_ptr<sycl::buffer<pos_t>> &out_buf_pos_max_cell_flt);
void sycl_fill_trailling_buffer(sycl::queue &queue, u32 morton_count, u32 fill_count, std::unique_ptr< sycl::buffer< morton_t > > &buf_morton)
fill the end of a buffer (indices from morton_count up to fill_count-1) with error values (maximum in...
static void sycl_xyz_to_morton(sycl::queue &queue, u32 pos_count, sycl::buffer< pos_t > &in_positions, pos_t bounding_box_min, pos_t bounding_box_max, std::unique_ptr< sycl::buffer< morton_t > > &out_morton)
convert a buffer of 3d positions to morton codes
static void sycl_fill_trailling_buffer(sycl::queue &queue, u32 morton_count, u32 fill_count, std::unique_ptr< sycl::buffer< morton_t > > &buf_morton)
fill the end of a buffer (indices from morton_count up to fill_count-1) with error values (maximum in...