Как передать размер рабочего пространства решателя - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть алгоритм обнаружения линии, который использует Solver (оптимизация Algo), чтобы найти некоторые решения для проблемы обнаружения линии.

class line-detect {
    public:
    (some functions);
    private:
    solver mSolve;
}

class Solver {
    public:
    (Some functions);
    private:
    (some functions);
}

В solver.cpp размер рабочей области / буфера, используемый длявычисления решателя распределяются с использованием переменных-алгоритмов определения строки.

В Solver.cpp размер рабочего пространства распределяется следующим образом:

const uint32_t SIZEOF_WORKSPACE = static_cast<uint32_t>(((2 * NUM_ERRS_MAX) + (5 * NUM_VARS_MAX) + NUM_VARS_MAX * NUM_ERRS_MAX ) * sizeof(float64_t) + (NUM_VARS_MAX * sizeof(int32_t)));

В настоящее время решатель находится внутри самого алгоритма, но яхочу извлечь решатель и использовать в качестве отдельного объекта / модуля.Я извлек решатель, но этот размер рабочего пространства / буфера должен быть распределен статически (т.е. я должен жестко закодировать значения алгоритма обнаружения строк в модуле решателя)

Ques : Каков наилучший из возможных способов выделить размер рабочей области без необходимости жесткого кодирования переменных алгоритма обнаружения строк в модуле решателя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...