Как конвертировать тип вводак общему типу данных (например, int) в halide :: generator? - PullRequest
0 голосов
/ 26 октября 2019

Я новый парень, пытающийся программировать 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); или преобразовал вариант использования, все не удалосьработа.

Кто-нибудь может мне помочь?

...