13#ifndef RTCTK_EXAMPLEDATATASK_COMPUTATION_HPP
14#define RTCTK_EXAMPLEDATATASK_COMPUTATION_HPP
47 m_im.
resize(m_n_acts, m_n_slopes);
48 m_cm.
resize(m_n_slopes, m_n_acts);
49 m_ipiv.resize(m_n_acts);
57 m_im = std::move(data);
62 <<
"expected:" << m_n_acts <<
" x " << m_n_slopes
78 auto time_start = std::chrono::steady_clock::now();
82 memcpy(m_cm.data(), m_im.data(), m_n_slopes * m_n_acts *
sizeof(
float));
84 LAPACK_ROW_MAJOR, m_n_acts, m_n_slopes, m_cm.data(), m_n_slopes, m_ipiv.data());
88 py::gil_scoped_acquire
gil;
98 auto elapsed = std::chrono::steady_clock::now() -
time_start;
100 return {m_cm, elapsed};
104 log4cplus::Logger& m_logger;
116 std::vector<int> m_ipiv;
A buffer class representing 2D matrix data.
Definition matrixBuffer.hpp:28
size_type GetNcols() const
Definition matrixBuffer.hpp:101
size_type GetNrows() const
Definition matrixBuffer.hpp:97
constexpr void resize(size_type n, size_type m)
Definition matrixBuffer.hpp:72
The RtctkException class is the base class for all Rtctk exceptions.
Definition exceptions.hpp:211
Result Compute(Algorithm algorithm)
Definition computation.hpp:77
void SetDynamicConfig(MatrixBuffer< float > &&data)
Definition computation.hpp:56
Computation()
Definition computation.hpp:39
void SetStaticConfig(size_t n_slopes, size_t n_acts)
Definition computation.hpp:42
Algorithm
Definition computation.hpp:37
Provides macros and utilities for exception handling.
Logging Support Library based on log4cplus.
Declaration of the embedded Python module for MatrixBuffer classes.
Declaration of the MatrixBuffer template class used in APIs.
Definition commandReplier.cpp:22
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition businessLogic.cpp:27
Definition computation.hpp:43
struct rtctk::exampleDataTask::Computation::Result::@0 stats
const MatrixBuffer< float > & cm
Definition computation.hpp:70
std::chrono::duration< double > elapsed
Definition computation.hpp:73