List of all members | Public Types | Public Member Functions | Public Attributes | Protected Member Functions
casadi::ProtoFunction Class Referenceabstract

Base class for FunctionInternal and LinsolInternal. More...

#include <function_internal.hpp>

Detailed Description

Author
Joel Andersson
Date
2017

Extra doc: https://github.com/casadi/casadi/wiki/L_jc


List of available options
IdTypeDescriptionUsed in
error_on_failOT_BOOLThrow exceptions when function evaluation fails (default true).casadi::ProtoFunction
print_timeOT_BOOLprint information about execution time. Implies record_time.casadi::ProtoFunction
record_timeOT_BOOLrecord information about execution time, for retrieval with stats().casadi::ProtoFunction
regularity_checkOT_BOOLThrow exceptions when NaN or Inf appears during evaluationcasadi::ProtoFunction
verboseOT_BOOLVerbose evaluation – for debuggingcasadi::ProtoFunction

Definition at line 94 of file function_internal.hpp.

Inheritance diagram for casadi::ProtoFunction:
Inheritance graph
[legend]
Collaboration diagram for casadi::ProtoFunction:
Collaboration graph
[legend]

Public Types

using weak_ref_type = WeakRefInternal
 

Public Member Functions

 ProtoFunction (const std::string &name)
 Constructor. More...
 
 ~ProtoFunction () override=0
 Destructor. More...
 
void construct (const Dict &opts)
 Construct. More...
 
virtual Dict generate_options (const std::string &target) const
 Reconstruct options dict. More...
 
void print_options (std::ostream &stream) const
 Print list of options. More...
 
void print_option (const std::string &name, std::ostream &stream) const
 Print all information there is to know about a certain option. More...
 
bool has_option (const std::string &option_name) const
 Does a particular option exist. More...
 
virtual void change_option (const std::string &option_name, const GenericType &option_value)
 Change option after object creation for debugging. More...
 
virtual void init (const Dict &opts)
 Initialize. More...
 
virtual void finalize ()
 Finalize the object creation. More...
 
int checkout () const
 Checkout a memory object. More...
 
void release (int mem) const
 Release a memory object. More...
 
void * memory (int ind) const
 Memory objects. More...
 
bool has_memory (int ind) const
 Check for existance of memory object. More...
 
virtual void check_mem_count (casadi_int n) const
 Check for validatity of memory object count. More...
 
virtual void * alloc_mem () const
 Create memory block. More...
 
virtual int init_mem (void *mem) const
 Initalize memory block. More...
 
virtual void free_mem (void *mem) const
 Free memory block. More...
 
virtual Dict get_stats (void *mem) const
 Get all statistics. More...
 
void clear_mem ()
 Clear all memory (called from destructor) More...
 
void print (const char *fmt,...) const
 C-style formatted printing during evaluation. More...
 
void sprint (char *buf, size_t buf_sz, const char *fmt,...) const
 C-style formatted printing to string. More...
 
void format_time (char *buffer, double time) const
 Format time in a fixed width 8 format. More...
 
void print_time (const std::map< std::string, FStats > &fstats) const
 Print timing statistics. More...
 
void serialize (SerializingStream &s) const
 Serialize an object. More...
 
virtual void serialize_body (SerializingStream &s) const
 Serialize an object without type information. More...
 
virtual void serialize_type (SerializingStream &s) const
 Serialize type information. More...
 
virtual std::string serialize_base_function () const
 String used to identify the immediate FunctionInternal subclass. More...
 
virtual std::string class_name () const =0
 Readable name of the internal class. More...
 
virtual void disp (std::ostream &stream, bool more) const =0
 Print a description of the object. More...
 
casadi_int getCount () const
 Get the reference count. More...
 
std::string debug_repr (const SharedObjectInternal *) const
 
GenericWeakRef< SharedObject, SharedObjectInternal > * weak ()
 Get a weak reference to the object. More...
 

Public Attributes

std::string name_
 Name. More...
 
bool verbose_
 Verbose printout. More...
 
bool print_time_
 
bool record_time_
 
bool regularity_check_
 Errors are thrown when NaN is produced. More...
 
bool error_on_fail_
 Throw an exception on failure? More...
 

Protected Member Functions

 ProtoFunction (DeserializingStream &s)
 Deserializing constructor. More...
 
void initSingleton ()
 
void destroySingleton ()
 
shared_from_this ()
 Get a shared object from the current internal object. More...
 
const B shared_from_this () const
 Get a shared object from the current internal object. More...
 
static const Options options_
 Options. More...
 
virtual const Optionsget_options () const
 Options. More...
 

Member Typedef Documentation

◆ weak_ref_type

Definition at line 152 of file shared_object.hpp.

Constructor & Destructor Documentation

◆ ProtoFunction() [1/2]

casadi::ProtoFunction::ProtoFunction ( const std::string &  name)

Extra doc: https://github.com/casadi/casadi/wiki/L_jd

Definition at line 59 of file function_internal.cpp.

59  : name_(name) {
60  // Default options (can be overridden in derived classes)
61  verbose_ = false;
62  print_time_ = false;
63  record_time_ = false;
64  regularity_check_ = false;
65  error_on_fail_ = true;
66  }
bool error_on_fail_
Throw an exception on failure?
bool regularity_check_
Errors are thrown when NaN is produced.
bool verbose_
Verbose printout.

References error_on_fail_, print_time_, record_time_, regularity_check_, and verbose_.

◆ ~ProtoFunction()

casadi::ProtoFunction::~ProtoFunction ( )
overridepure virtual

Extra doc: https://github.com/casadi/casadi/wiki/L_je

Definition at line 123 of file function_internal.cpp.

123  {
124  for (void* m : mem_) {
125  if (m!=nullptr) casadi_warning("Memory object has not been properly freed");
126  }
127  mem_.clear();
128  }

◆ ProtoFunction() [2/2]

casadi::ProtoFunction::ProtoFunction ( DeserializingStream s)
explicitprotected

Extra doc: https://github.com/casadi/casadi/wiki/L_jz

Definition at line 3972 of file function_internal.cpp.

3972  {
3973  int version = s.version("ProtoFunction", 1, 2);
3974  s.unpack("ProtoFunction::name", name_);
3975  s.unpack("ProtoFunction::verbose", verbose_);
3976  s.unpack("ProtoFunction::print_time", print_time_);
3977  s.unpack("ProtoFunction::record_time", record_time_);
3978  if (version >= 2) s.unpack("ProtoFunction::regularity_check", regularity_check_);
3979  if (version >= 2) s.unpack("ProtoFunction::error_on_fail", error_on_fail_);
3980  }

References error_on_fail_, name_, print_time_, record_time_, regularity_check_, casadi::DeserializingStream::unpack(), verbose_, and casadi::DeserializingStream::version().

Member Function Documentation

◆ alloc_mem()

virtual void* casadi::ProtoFunction::alloc_mem ( ) const
inlinevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jn

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::Scpgen, casadi::Qrsqp, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::Lsqr, casadi::LinsolTridiag, casadi::LinsolQr, casadi::LinsolLdl, casadi::Ipqp, casadi::ImplicitToNlp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SlicotExpm, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::Ma27Interface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CsparseInterface, casadi::CSparseCholeskyInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::OracleFunction, casadi::Nlpsol, casadi::LinsolInternal, casadi::FixedStepIntegrator, casadi::FunctionInternal, and casadi::FmuFunction.

Definition at line 184 of file function_internal.hpp.

184 { return new ProtoFunctionMemory(); }

Referenced by checkout().

◆ change_option()

void casadi::ProtoFunction::change_option ( const std::string &  option_name,
const GenericType option_value 
)
virtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jk

Reimplemented in casadi::MXFunction, casadi::FunctionInternal, and casadi::FmuFunction.

Definition at line 1008 of file function_internal.cpp.

1009  {
1010  if (option_name == "verbose") {
1011  verbose_ = option_value;
1012  } else if (option_name == "regularity_check") {
1013  regularity_check_ = option_value;
1014  } else {
1015  // Failure
1016  casadi_error("Option '" + option_name + "' cannot be changed");
1017  }
1018  }

References regularity_check_, and verbose_.

Referenced by casadi::FunctionInternal::change_option().

◆ check_mem_count()

virtual void casadi::ProtoFunction::check_mem_count ( casadi_int  n) const
inlinevirtual

Purpose if to allow more helpful error messages

Extra doc: https://github.com/casadi/casadi/wiki/L_2b7

Reimplemented in casadi::FmuFunction.

Definition at line 179 of file function_internal.hpp.

179 { }

Referenced by checkout().

◆ checkout()

int casadi::ProtoFunction::checkout ( ) const

Definition at line 3669 of file function_internal.cpp.

3669  {
3670 #ifdef CASADI_WITH_THREAD
3671  std::lock_guard<std::mutex> lock(mtx_);
3672 #endif //CASADI_WITH_THREAD
3673  if (unused_.empty()) {
3674  check_mem_count(mem_.size()+1);
3675  // Allocate a new memory object
3676  void* m = alloc_mem();
3677  mem_.push_back(m);
3678  if (init_mem(m)) {
3679  casadi_error("Failed to create or initialize memory object");
3680  }
3681  return static_cast<int>(mem_.size()) - 1;
3682  } else {
3683  // Use an unused memory object
3684  int m = unused_.top();
3685  unused_.pop();
3686  return m;
3687  }
3688  }
virtual int init_mem(void *mem) const
Initalize memory block.
virtual void * alloc_mem() const
Create memory block.
virtual void check_mem_count(casadi_int n) const
Check for validatity of memory object count.

References alloc_mem(), check_mem_count(), and init_mem().

Referenced by finalize(), casadi::FunctionBuffer::FunctionBuffer(), and casadi::Sqpmethod::init_mem().

◆ class_name()

virtual std::string casadi::SharedObjectInternal::class_name ( ) const
pure virtualinherited

Implemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::ShellCompiler, casadi::Scpgen, casadi::RungeKutta, casadi::Qrsqp, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::Lsqr, casadi::LinsolTridiag, casadi::LinsolQr, casadi::LinsolLdl, casadi::LinearInterpolantJac, casadi::LinearInterpolant, casadi::Ipqp, casadi::ImplicitToNlp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::Collocation, casadi::BSplineInterpolant, casadi::WorhpInterface, casadi::TinyXmlInterface, casadi::SuperscsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SqicInterface, casadi::SnoptInterface, casadi::SlicotExpm, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::Ma27Interface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CsparseInterface, casadi::CSparseCholeskyInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::ClangCompiler, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::SXFunction, casadi::Switch, casadi::SparsityInternal, casadi::WeakRefInternal, casadi::ZipMemResource, casadi::ZipResource, casadi::DirResource, casadi::OptiNode, casadi::Nlpsol, casadi::MXNode, casadi::MXFunction, casadi::MapSum, casadi::ThreadMap, casadi::OmpMap, casadi::Map, casadi::JitFunction, casadi::Interpolant, casadi::DllLibrary, casadi::ImporterInternal, casadi::GenericTypeInternal< ID, T >, casadi::FmuFunction, casadi::Fmu3, casadi::Fmu2, casadi::Smoothing, casadi::CentralDiff, casadi::BackwardDiff, casadi::ForwardDiff, casadi::External, casadi::DaeBuilderInternal, casadi::CallbackInternal, and casadi::BlazingSplineFunction.

Referenced by casadi::FunctionInternal::call_forward(), casadi::FunctionInternal::call_reverse(), casadi::FunctionInternal::codegen_body(), construct(), casadi::FmuInternal::deserialize(), casadi::ResourceInternal::deserialize(), casadi::FmuInternal::disp(), casadi::FunctionInternal::disp(), casadi::LinsolInternal::disp(), casadi::XmlFileInternal::dump(), casadi::FunctionInternal::eval(), casadi::FunctionInternal::eval_dm(), casadi::FunctionInternal::eval_sx(), casadi::FunctionInternal::export_code(), casadi::LinsolInternal::generate(), casadi::FunctionInternal::generate_dependencies(), casadi::Conic::generateNativeCode(), casadi::FmuInternal::get_adjoint_derivative(), casadi::FunctionInternal::get_forward(), casadi::FunctionInternal::get_function(), casadi::FunctionInternal::get_jacobian(), casadi::FunctionInternal::get_reverse(), casadi::FiniteDiff::init(), casadi::FunctionInternal::instruction_constant(), casadi::FunctionInternal::instruction_id(), casadi::FunctionInternal::instruction_input(), casadi::FunctionInternal::instruction_MX(), casadi::FunctionInternal::instruction_output(), casadi::FunctionInternal::instructions_sx(), casadi::LinsolInternal::linsol_eval_sx(), casadi::FunctionInternal::n_instructions(), casadi::FunctionInternal::n_nodes(), casadi::LinsolInternal::neig(), casadi::LinsolInternal::nfact(), casadi::FunctionInternal::oracle(), casadi::XmlFileInternal::parse(), casadi::LinsolInternal::rank(), casadi::FmuInternal::serialize_type(), casadi::ResourceInternal::serialize_type(), and casadi::LinsolInternal::solve().

◆ clear_mem()

void casadi::ProtoFunction::clear_mem ( )

Extra doc: https://github.com/casadi/casadi/wiki/L_jq

Definition at line 3557 of file function_internal.cpp.

3557  {
3558  for (auto&& i : mem_) {
3559  if (i!=nullptr) free_mem(i);
3560  }
3561  mem_.clear();
3562  }
virtual void free_mem(void *mem) const
Free memory block.

References free_mem().

Referenced by casadi::AlpaqaInterface::~AlpaqaInterface(), casadi::AmplInterface::~AmplInterface(), casadi::BlazingSplineFunction::~BlazingSplineFunction(), casadi::Blocksqp::~Blocksqp(), casadi::BonminInterface::~BonminInterface(), casadi::BSplineInterpolant::~BSplineInterpolant(), casadi::CallbackInternal::~CallbackInternal(), casadi::CbcInterface::~CbcInterface(), casadi::ClarabelInterface::~ClarabelInterface(), casadi::ClpInterface::~ClpInterface(), casadi::CplexInterface::~CplexInterface(), casadi::CsparseInterface::~CsparseInterface(), casadi::CvodesInterface::~CvodesInterface(), casadi::DaqpInterface::~DaqpInterface(), casadi::External::~External(), casadi::FastNewton::~FastNewton(), casadi::FatropConicInterface::~FatropConicInterface(), casadi::FatropInterface::~FatropInterface(), casadi::Feasiblesqpmethod::~Feasiblesqpmethod(), casadi::FiniteDiff::~FiniteDiff(), casadi::FixedStepIntegrator::~FixedStepIntegrator(), casadi::FmuFunction::~FmuFunction(), casadi::GurobiInterface::~GurobiInterface(), casadi::HighsInterface::~HighsInterface(), casadi::HpipmInterface::~HpipmInterface(), casadi::HpmpcInterface::~HpmpcInterface(), casadi::IdasInterface::~IdasInterface(), casadi::ImplicitToNlp::~ImplicitToNlp(), casadi::IpoptInterface::~IpoptInterface(), casadi::Ipqp::~Ipqp(), casadi::JitFunction::~JitFunction(), casadi::KinsolInterface::~KinsolInterface(), casadi::KnitroInterface::~KnitroInterface(), casadi::LapackLu::~LapackLu(), casadi::LapackQr::~LapackQr(), casadi::LinearInterpolant::~LinearInterpolant(), casadi::LinearInterpolantJac::~LinearInterpolantJac(), casadi::LinsolLdl::~LinsolLdl(), casadi::LinsolQr::~LinsolQr(), casadi::LinsolTridiag::~LinsolTridiag(), casadi::Lsqr::~Lsqr(), casadi::Ma27Interface::~Ma27Interface(), casadi::MadnlpInterface::~MadnlpInterface(), casadi::Map::~Map(), casadi::MapSum::~MapSum(), casadi::MumpsInterface::~MumpsInterface(), casadi::MXFunction::~MXFunction(), casadi::Newton::~Newton(), casadi::Nlpsol::~Nlpsol(), casadi::OmpMap::~OmpMap(), casadi::OoqpInterface::~OoqpInterface(), casadi::OsqpInterface::~OsqpInterface(), casadi::ProxqpInterface::~ProxqpInterface(), casadi::QpoasesInterface::~QpoasesInterface(), casadi::QpToNlp::~QpToNlp(), casadi::Qrqp::~Qrqp(), casadi::Qrsqp::~Qrsqp(), casadi::Scpgen::~Scpgen(), casadi::SLEQPInterface::~SLEQPInterface(), casadi::SlicotDple::~SlicotDple(), casadi::SlicotExpm::~SlicotExpm(), casadi::SnoptInterface::~SnoptInterface(), casadi::Sqpmethod::~Sqpmethod(), casadi::SuperscsInterface::~SuperscsInterface(), casadi::Switch::~Switch(), casadi::SXFunction::~SXFunction(), casadi::SymbolicQr::~SymbolicQr(), casadi::ThreadMap::~ThreadMap(), and casadi::WorhpInterface::~WorhpInterface().

◆ construct()

void casadi::ProtoFunction::construct ( const Dict opts)

Prepares the function for evaluation

Extra doc: https://github.com/casadi/casadi/wiki/L_jf

Definition at line 138 of file function_internal.cpp.

138  {
139  // Sanitize dictionary is needed
140  if (!Options::is_sane(opts)) {
141  // Call recursively
142  return construct(Options::sanitize(opts));
143  }
144 
145  // Make sure all options exist
146  get_options().check(opts);
147 
148  // Initialize the class hierarchy
149  try {
150  init(opts);
151  } catch(std::exception& e) {
152  casadi_error("Error calling " + class_name() + "::init for '" + name_ + "':\n"
153  + std::string(e.what()));
154  }
155 
156  // Revisit class hierarchy in reverse order
157  try {
158  finalize();
159  } catch(std::exception& e) {
160  casadi_error("Error calling " + class_name() + "::finalize for '" + name_ + "':\n"
161  + std::string(e.what()));
162  }
163  }
void construct(const Dict &opts)
Construct.
virtual const Options & get_options() const
Options.
virtual void init(const Dict &opts)
Initialize.
virtual void finalize()
Finalize the object creation.
virtual std::string class_name() const =0
Readable name of the internal class.
static bool is_sane(const Dict &opts)
Is the dictionary sane.
Definition: options.cpp:169
static Dict sanitize(const Dict &opts, bool top_level=true)
Sanitize a options dictionary.
Definition: options.cpp:173
void check(const Dict &opts) const
Check if options exist.
Definition: options.cpp:240

References casadi::Options::check(), casadi::SharedObjectInternal::class_name(), finalize(), get_options(), init(), casadi::Options::is_sane(), name_, and casadi::Options::sanitize().

Referenced by casadi::Function::create(), casadi::FmuFunction::factory(), casadi::FmuFunction::get_forward(), casadi::FmuFunction::get_jacobian(), casadi::LinearInterpolant::get_jacobian(), and casadi::FmuFunction::get_reverse().

◆ debug_repr()

std::string casadi::GenericSharedInternal< SharedObject , SharedObjectInternal >::debug_repr ( const Internal *  i) const
inherited

Definition at line 62 of file generic_shared_internal.hpp.

162  {
163  // Note: i != this because of something something multiple inheritance
164  return str( (casadi_int)(i)) + "/" + static_cast<const Internal*>(this)->class_name();
165  }
std::string str(const T &v)
String representation, any type.

◆ destroySingleton()

void casadi::GenericSharedInternal< SharedObject , SharedObjectInternal >::destroySingleton ( )
inlineprotectedinherited

Called in the destructor of singletons

Definition at line 77 of file generic_shared_internal.hpp.

77  {
78  static_cast<Internal*>(this)->count--;
79  }

◆ disp()

virtual void casadi::SharedObjectInternal::disp ( std::ostream &  stream,
bool  more 
) const
pure virtualinherited

◆ finalize()

void casadi::ProtoFunction::finalize ( )
virtual

This function, which visits the class hierarchy in reverse order is run after init() has been completed.

Extra doc: https://github.com/casadi/casadi/wiki/L_jm

Reimplemented in casadi::LinsolQr, casadi::OracleFunction, casadi::FunctionInternal, and casadi::CallbackInternal.

Definition at line 743 of file function_internal.cpp.

743  {
744  // Create memory object
745  int mem = checkout();
746  casadi_assert_dev(mem==0);
747  }
int checkout() const
Checkout a memory object.

References checkout().

Referenced by construct(), casadi::Linsol::deserialize(), casadi::FunctionInternal::finalize(), and casadi::LinsolQr::finalize().

◆ format_time()

void casadi::ProtoFunction::format_time ( char *  buffer,
double  time 
) const

Extra doc: https://github.com/casadi/casadi/wiki/L_jt

Definition at line 3856 of file function_internal.cpp.

3856  {
3857  // Always of width 8
3858  casadi_assert_dev(time>=0);
3859  double log_time = log10(time);
3860  int magn = static_cast<int>(floor(log_time));
3861  int iprefix = static_cast<int>(floor(log_time/3));
3862  if (iprefix<-4) {
3863  sprint(buffer, 10, " 0");
3864  return;
3865  }
3866  if (iprefix>=5) {
3867  sprint(buffer, 10, " inf");
3868  return;
3869  }
3870  char prefixes[] = "TGMk munp";
3871  char prefix = prefixes[4-iprefix];
3872 
3873  int rem = magn-3*iprefix;
3874  double time_normalized = time/pow(10, 3*iprefix);
3875 
3876  if (rem==0) {
3877  sprint(buffer, 10, " %1.2f%cs", time_normalized, prefix);
3878  } else if (rem==1) {
3879  sprint(buffer, 10, " %2.2f%cs", time_normalized, prefix);
3880  } else {
3881  sprint(buffer, 10, "%3.2f%cs", time_normalized, prefix);
3882  }
3883  }
void sprint(char *buf, size_t buf_sz, const char *fmt,...) const
C-style formatted printing to string.

References sprint().

Referenced by print_time().

◆ free_mem()

virtual void casadi::ProtoFunction::free_mem ( void *  mem) const
inlinevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jp

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::Scpgen, casadi::Qrsqp, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::Lsqr, casadi::LinsolTridiag, casadi::LinsolQr, casadi::LinsolLdl, casadi::Ipqp, casadi::ImplicitToNlp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SlicotExpm, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::Ma27Interface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CsparseInterface, casadi::CSparseCholeskyInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::OracleFunction, casadi::Nlpsol, casadi::LinsolInternal, casadi::FixedStepIntegrator, casadi::FunctionInternal, and casadi::FmuFunction.

Definition at line 194 of file function_internal.hpp.

194 { delete static_cast<ProtoFunctionMemory*>(mem); }

Referenced by clear_mem().

◆ generate_options()

Dict casadi::ProtoFunction::generate_options ( const std::string &  target) const
virtual

Reimplemented in casadi::SXFunction, casadi::MXFunction, and casadi::FunctionInternal.

Definition at line 381 of file function_internal.cpp.

381  {
382  Dict opts;
383  opts["verbose"] = verbose_;
384  opts["print_time"] = print_time_;
385  opts["record_time"] = record_time_;
386  opts["regularity_check"] = regularity_check_;
387  opts["error_on_fail"] = error_on_fail_;
388  return opts;
389  }
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.

References error_on_fail_, print_time_, record_time_, regularity_check_, and verbose_.

Referenced by casadi::FunctionInternal::generate_options().

◆ get_options()

virtual const Options& casadi::ProtoFunction::get_options ( ) const
inlinevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jg

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::Scpgen, casadi::Qrsqp, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::LinsolQr, casadi::LinsolLdl, casadi::LinearInterpolant, casadi::Ipqp, casadi::ImplicitToNlp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::Collocation, casadi::BSplineInterpolant, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::SundialsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::SXFunction, casadi::Rootfinder, casadi::OracleFunction, casadi::Nlpsol, casadi::MXFunction, casadi::JitFunction, casadi::Interpolant, casadi::ImplicitFixedStepIntegrator, casadi::FixedStepIntegrator, casadi::Integrator, casadi::FunctionInternal, casadi::FmuFunction, casadi::FiniteDiff, casadi::Expm, casadi::Dple, casadi::Conic, and casadi::BlazingSplineFunction.

Definition at line 118 of file function_internal.hpp.

118 { return options_;}
static const Options options_
Options.

Referenced by construct(), has_option(), print_option(), and print_options().

◆ get_stats()

Dict casadi::ProtoFunction::get_stats ( void *  mem) const
virtual

◆ getCount()

Definition at line 60 of file generic_shared_internal.hpp.

186  {
187  return static_cast<const Internal*>(this)->count;
188  }

◆ has_memory()

bool casadi::ProtoFunction::has_memory ( int  ind) const

Definition at line 3665 of file function_internal.cpp.

3665  {
3666  return ind<mem_.size();
3667  }

◆ has_option()

bool casadi::ProtoFunction::has_option ( const std::string &  option_name) const

Extra doc: https://github.com/casadi/casadi/wiki/L_jj

Definition at line 1004 of file function_internal.cpp.

1004  {
1005  return get_options().find(option_name) != 0;
1006  }
const Options::Entry * find(const std::string &name) const
Definition: options.cpp:32

References casadi::Options::find(), and get_options().

◆ init()

void casadi::ProtoFunction::init ( const Dict opts)
virtual

Initialize and make the object ready for setting arguments and evaluation. This method is typically called after setting options but before evaluating. If passed to another class (in the constructor), this class should invoke this function when initialized.

Extra doc: https://github.com/casadi/casadi/wiki/L_jl

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::Scpgen, casadi::RungeKutta, casadi::Qrsqp, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::LinsolTridiag, casadi::LinsolQr, casadi::LinsolLdl, casadi::LinearInterpolantJac, casadi::LinearInterpolant, casadi::Ipqp, casadi::ImplicitToNlp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::Collocation, casadi::BSplineInterpolant, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::SundialsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SlicotExpm, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::Ma27Interface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CsparseInterface, casadi::CSparseCholeskyInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::XFunction< DerivedType, MatType, NodeType >, casadi::XFunction< MXFunction, MX, MXNode >, casadi::XFunction< SXFunction, Matrix< SXElem >, SXNode >, casadi::SXFunction, casadi::Switch, casadi::Rootfinder, casadi::OracleFunction, casadi::Nlpsol, casadi::MXFunction, casadi::MapSum, casadi::ThreadMap, casadi::OmpMap, casadi::Map, casadi::LinsolInternal, casadi::JitFunction, casadi::Interpolant, casadi::ImplicitFixedStepIntegrator, casadi::FixedStepIntegrator, casadi::Integrator, casadi::FunctionInternal, casadi::FmuFunction, casadi::FiniteDiff, casadi::GenericExternal, casadi::External, casadi::Expm, casadi::Dple, casadi::Conic, casadi::CallbackInternal, and casadi::BlazingSplineFunction.

Definition at line 364 of file function_internal.cpp.

364  {
365  // Read options
366  for (auto&& op : opts) {
367  if (op.first=="verbose") {
368  verbose_ = op.second;
369  } else if (op.first=="print_time") {
370  print_time_ = op.second;
371  } else if (op.first=="record_time") {
372  record_time_ = op.second;
373  } else if (op.first=="regularity_check") {
374  regularity_check_ = op.second;
375  } else if (op.first=="error_on_fail") {
376  error_on_fail_ = op.second;
377  }
378  }
379  }

References error_on_fail_, print_time_, record_time_, regularity_check_, and verbose_.

Referenced by construct(), casadi::FunctionInternal::init(), and casadi::LinsolInternal::init().

◆ init_mem()

int casadi::ProtoFunction::init_mem ( void *  mem) const
virtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jo

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::Scpgen, casadi::Qrqp, casadi::Newton, casadi::Lsqr, casadi::LinsolTridiag, casadi::LinsolQr, casadi::LinsolLdl, casadi::Ipqp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::SundialsInterface, casadi::KinsolInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SlicotExpm, casadi::SlicotDple, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::Ma27Interface, casadi::HpmpcInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CsparseInterface, casadi::CSparseCholeskyInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AmplInterface, casadi::AlpaqaInterface, casadi::Rootfinder, casadi::OracleFunction, casadi::Nlpsol, casadi::LinsolInternal, casadi::FixedStepIntegrator, casadi::Integrator, casadi::FmuFunction, and casadi::Conic.

Definition at line 813 of file function_internal.cpp.

813  {
814  auto m = static_cast<ProtoFunctionMemory*>(mem);
815  if (record_time_) {
816  m->add_stat("total");
817  m->t_total = &m->fstats.at("total");
818  } else {
819  m->t_total = nullptr;
820  }
821  return 0;
822  }

References casadi::ProtoFunctionMemory::add_stat(), and record_time_.

Referenced by checkout(), casadi::FunctionInternal::codegen_checkout(), casadi::Conic::init_mem(), casadi::FmuFunction::init_mem(), casadi::LinsolInternal::init_mem(), casadi::OracleFunction::init_mem(), casadi::SlicotDple::init_mem(), casadi::SlicotExpm::init_mem(), and casadi::OracleFunction::local_init_mem().

◆ initSingleton()

void casadi::GenericSharedInternal< SharedObject , SharedObjectInternal >::initSingleton ( )
inlineprotectedinherited

Called in the constructor of singletons to avoid that the counter reaches zero

Definition at line 71 of file generic_shared_internal.hpp.

71  {
72  casadi_assert_dev(static_cast<Internal*>(this)->count==0);
73  static_cast<Internal*>(this)->count++;
74  }

◆ memory()

void * casadi::ProtoFunction::memory ( int  ind) const

Definition at line 3658 of file function_internal.cpp.

3658  {
3659 #ifdef CASADI_WITH_THREAD
3660  std::lock_guard<std::mutex> lock(mtx_);
3661 #endif //CASADI_WITH_THREAD
3662  return mem_.at(ind);
3663  }

Referenced by casadi::FunctionInternal::call_gen(), casadi::FunctionInternal::get_jac_sparsity_gen(), casadi::FunctionInternal::get_jac_sparsity_hierarchical(), casadi::Sqpmethod::solve_ela_QP(), and casadi::Sqpmethod::solve_QP().

◆ print()

void casadi::ProtoFunction::print ( const char *  fmt,
  ... 
) const

Extra doc: https://github.com/casadi/casadi/wiki/L_jr

Definition at line 3897 of file function_internal.cpp.

3897  {
3898  // Variable number of arguments
3899  va_list args;
3900  va_start(args, fmt);
3901  // Static & dynamic buffers
3902  char buf[256];
3903  size_t buf_sz = sizeof(buf);
3904  char* buf_dyn = nullptr;
3905  // Try to print with a small buffer
3906  casadi_int n = vsnprintf(buf, buf_sz, fmt, args);
3907  // Need a larger buffer?
3908  if (n>static_cast<casadi_int>(buf_sz)) {
3909  buf_sz = static_cast<size_t>(n+1);
3910  buf_dyn = new char[buf_sz];
3911  n = vsnprintf(buf_dyn, buf_sz, fmt, args);
3912  }
3913  // Print buffer content
3914  if (n>=0) uout() << (buf_dyn ? buf_dyn : buf) << std::flush;
3915  // Cleanup
3916  delete[] buf_dyn;
3917  va_end(args);
3918  // Throw error if failure
3919  casadi_assert(n>=0, "Print failure while processing '" + std::string(fmt) + "'");
3920  }
std::ostream & uout()

References casadi::uout().

Referenced by casadi::Feasiblesqpmethod::anderson_acc_step_update(), casadi::Nlpsol::callback(), casadi::Blocksqp::convertHessian(), casadi::FmuFunction::eval_task(), casadi::Feasiblesqpmethod::feasibility_iterations(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::Blocksqp::fullstep(), casadi::Blocksqp::init(), casadi::Feasiblesqpmethod::init(), casadi::Ipqp::init(), casadi::Qrqp::init(), casadi::Qrsqp::init(), casadi::Sqpmethod::init(), casadi::LinsolQr::nfact(), casadi::Feasiblesqpmethod::print_iteration(), casadi::Qrsqp::print_iteration(), casadi::Sqpmethod::print_iteration(), casadi::SundialsInterface::print_stats(), print_time(), casadi::Blocksqp::printInfo(), casadi::Blocksqp::printProgress(), casadi::Blocksqp::run(), casadi::Blocksqp::solve(), casadi::Feasiblesqpmethod::solve(), casadi::Qrsqp::solve(), casadi::Sqpmethod::solve(), casadi::Sqpmethod::solve_ela_QP(), casadi::Feasiblesqpmethod::solve_LP(), casadi::Feasiblesqpmethod::solve_QP(), casadi::Qrsqp::solve_QP(), casadi::Sqpmethod::solve_QP(), and casadi::Blocksqp::solveQP().

◆ print_option()

void casadi::ProtoFunction::print_option ( const std::string &  name,
std::ostream &  stream 
) const

Extra doc: https://github.com/casadi/casadi/wiki/L_ji

Definition at line 1000 of file function_internal.cpp.

1000  {
1001  get_options().print_one(name, stream);
1002  }
void print_one(const std::string &name, std::ostream &stream) const
Print all information there is to know about a certain option.
Definition: options.cpp:274

References get_options(), and casadi::Options::print_one().

◆ print_options()

void casadi::ProtoFunction::print_options ( std::ostream &  stream) const

Extra doc: https://github.com/casadi/casadi/wiki/L_jh

Definition at line 996 of file function_internal.cpp.

996  {
997  get_options().print_all(stream);
998  }
void print_all(std::ostream &stream) const
Print list of options.
Definition: options.cpp:268

References get_options(), and casadi::Options::print_all().

◆ print_time()

void casadi::ProtoFunction::print_time ( const std::map< std::string, FStats > &  fstats) const

Extra doc: https://github.com/casadi/casadi/wiki/L_ju

Definition at line 3817 of file function_internal.cpp.

3817  {
3818  if (!print_time_) return;
3819  // Length of the name being printed
3820  size_t name_len=0;
3821  for (auto &&s : fstats) {
3822  name_len = std::max(s.first.size(), name_len);
3823  }
3824  name_len = std::max(name_.size(), name_len);
3825 
3826  // Print name with a given length. Format: "%NNs "
3827  char namefmt[10];
3828  sprint(namefmt, sizeof(namefmt), "%%%ds ", static_cast<casadi_int>(name_len));
3829 
3830  // Print header
3831  print(namefmt, name_.c_str());
3832 
3833  print(" : %8s %10s %8s %10s %9s\n", "t_proc", "(avg)", "t_wall", "(avg)", "n_eval");
3834 
3835 
3836  char buffer_proc[10];
3837  char buffer_wall[10];
3838  char buffer_proc_avg[10];
3839  char buffer_wall_avg[10];
3840 
3841  // Print keys
3842  for (const auto &s : fstats) {
3843  if (s.second.n_call!=0) {
3844  print(namefmt, s.first.c_str());
3845  format_time(buffer_proc, s.second.t_proc);
3846  format_time(buffer_wall, s.second.t_wall);
3847  format_time(buffer_proc_avg, s.second.t_proc/s.second.n_call);
3848  format_time(buffer_wall_avg, s.second.t_wall/s.second.n_call);
3849  print(" | %s (%s) %s (%s) %9d\n",
3850  buffer_proc, buffer_proc_avg,
3851  buffer_wall, buffer_wall_avg, s.second.n_call);
3852  }
3853  }
3854  }
void print(const char *fmt,...) const
C-style formatted printing during evaluation.
void format_time(char *buffer, double time) const
Format time in a fixed width 8 format.

References format_time(), name_, print(), print_time_, and sprint().

Referenced by casadi::FunctionInternal::eval_gen().

◆ release()

void casadi::ProtoFunction::release ( int  mem) const

Definition at line 3690 of file function_internal.cpp.

3690  {
3691 #ifdef CASADI_WITH_THREAD
3692  std::lock_guard<std::mutex> lock(mtx_);
3693 #endif //CASADI_WITH_THREAD
3694  unused_.push(mem);
3695  }

◆ serialize()

void casadi::ProtoFunction::serialize ( SerializingStream s) const

Extra doc: https://github.com/casadi/casadi/wiki/L_jv

Definition at line 4181 of file function_internal.cpp.

4181  {
4182  serialize_type(s);
4183  serialize_body(s);
4184  }
virtual void serialize_type(SerializingStream &s) const
Serialize type information.
virtual void serialize_body(SerializingStream &s) const
Serialize an object without type information.

References serialize_body(), and serialize_type().

◆ serialize_base_function()

virtual std::string casadi::ProtoFunction::serialize_base_function ( ) const
inlinevirtual

◆ serialize_body()

void casadi::ProtoFunction::serialize_body ( SerializingStream s) const
virtual

Extra doc: https://github.com/casadi/casadi/wiki/L_jw

Reimplemented in casadi::SymbolicQr, casadi::Sqpmethod, casadi::RungeKutta, casadi::Qrqp, casadi::QpToNlp, casadi::Newton, casadi::LinsolQr, casadi::LinsolLdl, casadi::LinearInterpolant, casadi::Ipqp, casadi::Feasiblesqpmethod, casadi::FastNewton, casadi::Collocation, casadi::BSplineInterpolant, casadi::WorhpInterface, casadi::SuperscsInterface, casadi::SundialsInterface, casadi::IdasInterface, casadi::CvodesInterface, casadi::SnoptInterface, casadi::SLEQPInterface, casadi::QpoasesInterface, casadi::ProxqpInterface, casadi::OsqpInterface, casadi::OoqpInterface, casadi::MumpsInterface, casadi::MadnlpInterface, casadi::LapackQr, casadi::LapackLu, casadi::KnitroInterface, casadi::IpoptInterface, casadi::HpipmInterface, casadi::HighsInterface, casadi::GurobiInterface, casadi::FatropInterface, casadi::FatropConicInterface, casadi::DaqpInterface, casadi::CplexInterface, casadi::ClpInterface, casadi::ClarabelInterface, casadi::CbcInterface, casadi::BonminInterface, casadi::Blocksqp, casadi::AlpaqaInterface, casadi::XFunction< DerivedType, MatType, NodeType >, casadi::XFunction< MXFunction, MX, MXNode >, casadi::XFunction< SXFunction, Matrix< SXElem >, SXNode >, casadi::SXFunction, casadi::Switch, casadi::Rootfinder, casadi::OracleFunction, casadi::Nlpsol, casadi::MXFunction, casadi::MapSum, casadi::Map, casadi::LinsolInternal, casadi::Interpolant, casadi::ImplicitFixedStepIntegrator, casadi::FixedStepIntegrator, casadi::Integrator, casadi::FunctionInternal, casadi::FmuFunction, casadi::External, casadi::Conic, and casadi::BlazingSplineFunction.

Definition at line 3962 of file function_internal.cpp.

3962  {
3963  s.version("ProtoFunction", 2);
3964  s.pack("ProtoFunction::name", name_);
3965  s.pack("ProtoFunction::verbose", verbose_);
3966  s.pack("ProtoFunction::print_time", print_time_);
3967  s.pack("ProtoFunction::record_time", record_time_);
3968  s.pack("ProtoFunction::regularity_check", regularity_check_);
3969  s.pack("ProtoFunction::error_on_fail", error_on_fail_);
3970  }

References error_on_fail_, name_, casadi::SerializingStream::pack(), print_time_, record_time_, regularity_check_, verbose_, and casadi::SerializingStream::version().

Referenced by serialize(), casadi::FunctionInternal::serialize_body(), and casadi::LinsolInternal::serialize_body().

◆ serialize_type()

virtual void casadi::ProtoFunction::serialize_type ( SerializingStream s) const
inlinevirtual

◆ shared_from_this() [1/2]

B casadi::GenericSharedInternal< SharedObject , SharedObjectInternal >::shared_from_this ( )
inlineprotectedinherited

Definition at line 83 of file generic_shared_internal.hpp.

83  {
84  casadi_assert_dev(B::test_cast(static_cast<Internal*>(this)));
85  B ret;
86  ret.own(static_cast<Internal*>(this));
87  return ret;
88  }

◆ shared_from_this() [2/2]

const B casadi::GenericSharedInternal< SharedObject , SharedObjectInternal >::shared_from_this ( ) const
inlineprotectedinherited

Definition at line 92 of file generic_shared_internal.hpp.

92  {
93  casadi_assert_dev(B::test_cast(static_cast<const Internal*>(this)));
94  B ret;
95  ret.own(const_cast<Internal*>(static_cast<const Internal*>(this)));
96  return ret;
97  }

◆ sprint()

void casadi::ProtoFunction::sprint ( char *  buf,
size_t  buf_sz,
const char *  fmt,
  ... 
) const

Extra doc: https://github.com/casadi/casadi/wiki/L_js

Definition at line 3885 of file function_internal.cpp.

3885  {
3886  // Variable number of arguments
3887  va_list args;
3888  va_start(args, fmt);
3889  // Print to buffer
3890  casadi_int n = vsnprintf(buf, buf_sz, fmt, args);
3891  // Cleanup
3892  va_end(args);
3893  // Throw error if failure
3894  casadi_assert(n>=0 && n<buf_sz, "Print failure while processing '" + std::string(fmt) + "'");
3895  }

Referenced by format_time(), and print_time().

◆ weak()

Extra doc: https://github.com/casadi/casadi/wiki/L_1ai

Definition at line 67 of file generic_shared_internal.hpp.

191  {
192  if (weak_ref_==nullptr) {
193  weak_ref_ = new GenericWeakRef<Shared, Internal>(static_cast<Internal*>(this));
194  }
195  return weak_ref_;
196  }

Member Data Documentation

◆ error_on_fail_

bool casadi::ProtoFunction::error_on_fail_

◆ name_

std::string casadi::ProtoFunction::name_

Definition at line 246 of file function_internal.hpp.

Referenced by casadi::MXFunction::ad_forward(), casadi::SXFunction::ad_forward(), casadi::MXFunction::ad_reverse(), casadi::SXFunction::ad_reverse(), casadi::Integrator::augmented_dae(), casadi::OracleFunction::calc_function(), casadi::FunctionInternal::call_forward(), casadi::FunctionInternal::call_reverse(), casadi::FunctionInternal::codegen_body(), casadi::External::codegen_body(), casadi::External::codegen_checkout(), casadi::External::codegen_declarations(), casadi::MXFunction::codegen_declarations(), casadi::SXFunction::codegen_declarations(), casadi::External::codegen_decref(), casadi::External::codegen_incref(), casadi::FunctionInternal::codegen_meta(), casadi::FunctionInternal::codegen_name(), casadi::External::codegen_release(), casadi::FunctionInternal::codegen_sparsities(), construct(), casadi::OracleFunction::create_function(), casadi::FunctionInternal::definition(), casadi::FunctionInternal::eval(), casadi::MXFunction::eval(), casadi::SXFunction::eval(), casadi::FunctionInternal::eval_mx(), casadi::MXFunction::eval_mx(), casadi::SXFunction::eval_mx(), casadi::SXFunction::eval_sx(), casadi::FmuFunction::factory(), casadi::FunctionInternal::finalize(), casadi::FunctionInternal::forward(), casadi::FunctionInternal::FunctionInternal(), casadi::Integrator::get_forward(), casadi::Integrator::get_forward_dae(), casadi::Map::get_function(), casadi::MapSum::get_function(), casadi::OracleFunction::get_function(), casadi::GenericExternal::get_jac_sparsity(), casadi::BlazingSplineFunction::get_jacobian(), casadi::FunctionInternal::get_n_in(), casadi::External::get_n_in(), casadi::FunctionInternal::get_n_out(), casadi::External::get_n_out(), casadi::FunctionInternal::get_name_in(), casadi::External::get_name_in(), casadi::FunctionInternal::get_name_out(), casadi::External::get_name_out(), casadi::FunctionInternal::get_partition(), casadi::Integrator::get_reverse(), casadi::FunctionInternal::get_sparsity_in(), casadi::GenericExternal::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), casadi::GenericExternal::get_sparsity_out(), casadi::FunctionInternal::get_stats(), casadi::External::has_forward(), casadi::GenericExternal::has_jac_sparsity(), casadi::External::has_jacobian(), casadi::External::has_reverse(), casadi::External::init(), casadi::FunctionInternal::init(), casadi::MXFunction::init(), casadi::SXFunction::init(), casadi::CvodesInterface::init(), casadi::IdasInterface::init(), casadi::External::init_external(), casadi::GenericExternal::init_external(), casadi::FunctionInternal::jac_is_symm(), casadi::FunctionInternal::jacobian(), casadi::FunctionInternal::map(), casadi::OracleFunction::monitored(), casadi::MXFunction::print_arg(), casadi::SXFunction::print_arg(), casadi::FunctionInternal::print_in(), casadi::FunctionInternal::print_out(), casadi::MXFunction::print_res(), casadi::SXFunction::print_res(), print_time(), ProtoFunction(), casadi::CvodesInterface::reset(), casadi::IdasInterface::reset(), casadi::IdasInterface::resetB(), casadi::FunctionInternal::reverse(), serialize_body(), casadi::GurobiInterface::solve(), casadi::SnoptInterface::solve(), casadi::Integrator::sp_forward(), casadi::Integrator::sp_reverse(), casadi::FunctionInternal::wrap(), and casadi::FunctionInternal::wrap_as_needed().

◆ options_

const Options casadi::ProtoFunction::options_
static
Initial value:
= {{},
{{"verbose",
"Verbose evaluation -- for debugging"}},
{"print_time",
"print information about execution time. Implies record_time."}},
{"record_time",
"record information about execution time, for retrieval with stats()."}},
{"regularity_check",
"Throw exceptions when NaN or Inf appears during evaluation"}},
{"error_on_fail",
"Throw exceptions when function evaluation fails (default true)."}}
}
}

Extra doc: https://github.com/casadi/casadi/wiki/L_jg

Definition at line 117 of file function_internal.hpp.

Referenced by casadi::casadi_register_linsol_csparse(), casadi::casadi_register_linsol_lsqr(), casadi::casadi_register_linsol_ma27(), and casadi::casadi_register_linsol_tridiag().

◆ print_time_

bool casadi::ProtoFunction::print_time_

◆ record_time_

bool casadi::ProtoFunction::record_time_

◆ regularity_check_

bool casadi::ProtoFunction::regularity_check_

◆ verbose_

bool casadi::ProtoFunction::verbose_

Definition at line 249 of file function_internal.hpp.

Referenced by casadi::MXFunction::ad_forward(), casadi::SXFunction::ad_forward(), casadi::MXFunction::ad_reverse(), casadi::SXFunction::ad_reverse(), casadi::Integrator::advance(), change_option(), casadi::BSplineInterpolant::construct_graph(), casadi::OracleFunction::create_function(), casadi::FmuFunction::eval(), casadi::Integrator::eval(), casadi::MXFunction::eval(), casadi::SXFunction::eval(), casadi::MXFunction::eval_mx(), casadi::SXFunction::eval_mx(), casadi::SXFunction::eval_sx(), casadi::FmuFunction::factory(), casadi::FunctionInternal::finalize(), casadi::KinsolInterface::func(), generate_options(), casadi::FmuFunction::get_forward(), casadi::Integrator::get_forward(), casadi::Integrator::get_forward_dae(), casadi::FunctionInternal::get_jac_sparsity_gen(), casadi::FunctionInternal::get_jac_sparsity_hierarchical(), casadi::FunctionInternal::get_jac_sparsity_hierarchical_symm(), casadi::FmuFunction::get_jacobian(), casadi::FunctionInternal::get_partition(), casadi::FmuFunction::get_reverse(), casadi::Integrator::get_reverse(), init(), casadi::FiniteDiff::init(), casadi::FmuFunction::init(), casadi::FunctionInternal::init(), casadi::MXFunction::init(), casadi::SXFunction::init(), casadi::Blocksqp::init(), casadi::FatropConicInterface::init(), casadi::FatropInterface::init(), casadi::HpipmInterface::init(), casadi::HpmpcInterface::init(), casadi::IpoptInterface::init(), casadi::MadnlpInterface::init(), casadi::CvodesInterface::init(), casadi::IdasInterface::init(), casadi::Feasiblesqpmethod::init(), casadi::Scpgen::init(), casadi::Sqpmethod::init(), casadi::IpoptInterface::init_mem(), casadi::IdasInterface::init_mem(), casadi::SXFunction::instructions_sx(), casadi::BonminInterface::intermediate_callback(), casadi::OracleFunction::jit_dependencies(), casadi::CsparseInterface::nfact(), casadi::LapackLu::nfact(), casadi::LapackQr::nfact(), casadi::LinsolQr::nfact(), casadi::Integrator::predict_events(), ProtoFunction(), casadi::CvodesInterface::reset(), casadi::IdasInterface::reset(), casadi::IdasInterface::resetB(), serialize_body(), casadi::CbcInterface::solve(), casadi::ClpInterface::solve(), casadi::CplexInterface::solve(), casadi::GurobiInterface::solve(), casadi::HpipmInterface::solve(), casadi::QpoasesInterface::solve(), casadi::Ipqp::solve(), casadi::Qrqp::solve(), casadi::AlpaqaInterface::solve(), casadi::AmplInterface::solve(), casadi::SnoptInterface::solve(), casadi::KinsolInterface::solve(), casadi::WorhpInterface::solve(), casadi::Newton::solve(), casadi::Qrsqp::solve(), casadi::Scpgen::solve(), casadi::Sqpmethod::solve(), casadi::Sqpmethod::solve_ela_QP(), casadi::Feasiblesqpmethod::solve_LP(), casadi::Feasiblesqpmethod::solve_QP(), casadi::Qrsqp::solve_QP(), casadi::Sqpmethod::solve_QP(), casadi::Integrator::sp_forward(), casadi::Integrator::sp_reverse(), and casadi::Integrator::trigger_event().


The documentation for this class was generated from the following files: