У меня есть алгоритм обнаружения линии, который использует 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 : Каков наилучший из возможных способов выделить размер рабочей области без необходимости жесткого кодирования переменных алгоритма обнаружения строк в модуле решателя?