36#include "DGtal/base/Common.h"
37#include "DGtal/kernel/SpaceND.h"
38#include "DGtal/kernel/PointVector.h"
39#include "DGtal/kernel/domains/HyperRectDomain.h"
41#include "DGtalCatch.h"
49 static constexpr std::size_t dim = 3;
50 static constexpr signed long long int size = 200;
60 , dimensions(
Point::dimension)
62 std::iota(dimensions.begin(), dimensions.end(),
Dimension(0));
67 std::vector<Point::Dimension> dimensions;
71TEST_CASE_METHOD(BenchDomain,
"Benchmarking HyperRectDomain iterators using Catch2",
"[catch]")
77 for (
auto const& pt :
domain)
93 BENCHMARK(
"Domain traversal using subRange")
97 for (
auto const& pt :
domain.subRange(dimensions))
103 BENCHMARK(
"Domain reverse traversal using subRange")
108 for (
auto it = range.rbegin(), it_end = range.rend(); it != it_end; ++it)
ConstReverseIterator rbegin() const
ConstSubRange subRange(const std::vector< Dimension > &permutation) const
ConstReverseIterator rend() const
PointVector< dim, Integer > Point
Points in DGtal::SpaceND.
DGtal::LinearOperator< Calculus, dim, duality, dim, duality > diagonal(const DGtal::KForm< Calculus, dim, duality > &kform)
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
BENCHMARK(BM_StringCreation)
TEST_CASE_METHOD(Fixture_object_diamond_with_hole, "Basic Graph functions", "[interface]")