Я новый парень, пытающийся программировать Halide. Я столкнулся с проблемой при переносе некоторого кода Halide в Android через Halide::Generator
. Ниже приведен мой код:
#include "Halide.h"
using namespace Halide;
using namespace Halide::ConciseCasts;
using namespace std;
Func align_layer(int i) {
Func ret;
Var x, y;
ret(x, y) = i;
return ret;
}
class TestGenerator : public Halide::Generator<TestGenerator>
{
public:
Input<uint16_t> value{"value"};
// We then define a method that constructs and return the Halide
// pipeline:
void generate()
{
int test = value;
}
};
HALIDE_REGISTER_GENERATOR(TestGenerator, test_generator)
Когда я скомпилировал его, я получил ошибку ниже:
generator_test.cpp: 31: 14: ошибка: невозможно преобразовать 'Halide :: Internal:: GeneratorBase :: Input {aka Halide :: GeneratorInput} 'в' int 'при инициализации int test = value;
Я сделал некоторую попытку: int test = (int)(value);
или преобразовал вариант использования, все не удалосьработа.
Кто-нибудь может мне помочь?