5#include "testing/testing.h"
18 std::vector<std::vector<float>>
values;
33 std::shared_ptr<MemoryBuffer> input = std::make_shared<MemoryBuffer>(
DataType::Color, area);
34 input->fill(area, &
params.fill_value.x);
39 EXPECT_FLOAT_EQ(output.get_elem(0, 0)[0],
params.values[0][0]);
40 EXPECT_FLOAT_EQ(output.get_elem(1, 0)[1],
params.values[0][1]);
41 EXPECT_FLOAT_EQ(output.get_elem(2, 0)[2],
params.values[0][2]);
44 EXPECT_FLOAT_EQ(output.get_elem(0, 1)[3],
params.values[1][0]);
45 EXPECT_FLOAT_EQ(output.get_elem(1, 1)[0],
params.values[1][1]);
46 EXPECT_FLOAT_EQ(output.get_elem(2, 1)[1],
params.values[1][2]);
54 {1.0f, 1.0f, 1.0f, 1.0f},
57 {{1.0f, 2.0f, 3.0f, 4.0f, 5.0f}, {2.0f, 4.0f, 6.0f, 8.0f, 10.0f}}
62 FullFrame5x2_SquaredOnes,
67 {1.0f, 1.0f, 1.0f, 1.0f},
70 {{1.0f, 2.0f, 3.0f, 4.0f, 5.0f}, {2.0f, 4.0f, 6.0f, 8.0f, 10.0f}}
78 {2.0f, 2.0f, 1.5f, .1f},
83 {0.02f, 16.0f, 24.0f},
90 operation_ = std::make_shared<SummedAreaTableOperation>();
101 const float val[4] = {1.0f, 2.0f, 1.5f, 0.1f};
103 input->fill(
area_, val);
104 std::shared_ptr<MemoryBuffer> offset = std::make_shared<MemoryBuffer>(
113 std::shared_ptr<MemoryBuffer>
sat_;
143 area.
xmin = area_.xmax - 2;
144 area.xmax = area_.xmax;
154 area.
xmin = area_.xmax - 1;
155 area.xmax = area_.xmax;
156 area.ymin = area_.ymax - 1;
157 area.ymax = area_.ymax;
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
static T sum(const btAlignedObjectArray< T > &items)
a MemoryBuffer contains access to the data
SummedAreaTableOperation class computes the summed area table.
void set_mode(const eMode mode)
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
std::shared_ptr< MemoryBuffer > sat_
std::shared_ptr< SummedAreaTableOperation > operation_
INSTANTIATE_TEST_SUITE_P(FullFrame5x2_IdentityOnes, SummedAreaTableTestP, testing::Values(SatParams{ SummedAreaTableOperation::eMode::Identity, rcti{0, 5, 0, 2}, {1.0f, 1.0f, 1.0f, 1.0f}, {{1.0f, 2.0f, 3.0f, 4.0f, 5.0f}, {2.0f, 4.0f, 6.0f, 8.0f, 10.0f}} }))
TEST_F(BuffersIteratorTest, CoordinatesIterationWithNoInputs)
TEST_P(SummedAreaTableTestP, Values)
float4 summed_area_table_sum(MemoryBuffer *buffer, const rcti &area)
std::vector< std::vector< float > > values
SummedAreaTableOperation::eMode mode