Program Listing for File interface_matlab.h

Return to documentation for file (include/amici/interface_matlab.h)

#ifndef AMICI_INTERFACE_MATLAB_H
#define AMICI_INTERFACE_MATLAB_H

#include "amici/amici.h"

#include <mex.h>
#include <memory>


namespace amici {

namespace generic_model {
extern std::unique_ptr<amici::Model> getModel();
} // namespace generic_model

class Model;
class ReturnDataMatlab;


void setModelData(const mxArray *prhs[], int nrhs, Model& model);

void setSolverOptions(const mxArray *prhs[], int nrhs, Solver& solver);

ReturnDataMatlab *setupReturnData(mxArray *plhs[], int nlhs);


std::unique_ptr<ExpData> expDataFromMatlabCall(const mxArray *prhs[],
                                               const Model &model);

void amici_dgemv(BLASLayout layout, BLASTranspose TransA,
                 const int M, const int N, const double alpha, const double *A,
                 const int lda, const double *X, const int incX,
                 const double beta, double *Y, const int incY);

void amici_dgemm(BLASLayout layout, BLASTranspose TransA,
                 BLASTranspose TransB, const int M, const int N,
                 const int K, const double alpha, const double *A,
                 const int lda, const double *B, const int ldb,
                 const double beta, double *C, const int ldc);

} // namespace amici

#endif