MCPcopy Create free account
hub / github.com/NTNU-IHB/PythonFMU / SetInteger

Method SetInteger

src/pythonfmu/PySlaveInstance.cpp:326–345  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324 }
325
326 void SetInteger(const fmi2ValueReference* vr, std::size_t nvr, const fmi2Integer* values) override
327 {
328 py_safe_run([this, &vr, nvr, &values](PyGILState_STATE gilState) {
329 PyObject* vrs = PyList_New(nvr);
330 PyObject* refs = PyList_New(nvr);
331 for (int i = 0; i < nvr; i++) {
332 PyList_SetItem(vrs, i, Py_BuildValue("i", vr[i]));
333 PyList_SetItem(refs, i, Py_BuildValue("i", values[i]));
334 }
335
336 auto f = PyObject_CallMethod(pInstance_, "set_integer", "(OO)", vrs, refs);
337 Py_DECREF(vrs);
338 Py_DECREF(refs);
339 if (f == nullptr) {
340 handle_py_exception("[setInteger] PyObject_CallMethod", gilState);
341 }
342 Py_DECREF(f);
343 clearLogBuffer();
344 });
345 }
346
347 void SetBoolean(const fmi2ValueReference* vr, std::size_t nvr, const fmi2Boolean* values) override
348 {

Callers 1

fmi2SetIntegerFunction · 0.80

Calls 1

py_safe_runFunction · 0.85

Tested by

no test coverage detected