| 169 | } |
| 170 | |
| 171 | py::UniqueObj SLDAModelObject::getRegressionCoef(PyObject* varId) const |
| 172 | { |
| 173 | auto* inst = getInst<tomoto::ISLDAModel>(); |
| 174 | if (!varId || varId == Py_None) |
| 175 | { |
| 176 | float* ptr; |
| 177 | py::UniqueObj ret = py::newEmptyArray(ptr, inst->getF(), inst->getK()); |
| 178 | for (size_t i = 0; i < inst->getF(); ++i) |
| 179 | { |
| 180 | auto l = inst->getRegressionCoef(i); |
| 181 | memcpy(ptr + i * inst->getK(), l.data(), sizeof(float) * inst->getK()); |
| 182 | } |
| 183 | return ret; |
| 184 | } |
| 185 | |
| 186 | size_t varIdVal; |
| 187 | if (!py::toCpp(varId, varIdVal)) throw py::ValueError{ "`var_id` must be an integer or None." }; |
| 188 | if (varIdVal >= inst->getF()) throw py::ValueError{ "`var_id` must be < `f`" }; |
| 189 | return py::buildPyValue(inst->getRegressionCoef(varIdVal)); |
| 190 | } |
| 191 | |
| 192 | std::string SLDAModelObject::getTypeOfVar(size_t varId) const |
| 193 | { |
nothing calls this directly
no test coverage detected