diff options
Diffstat (limited to 'ml/dlib/dlib/matlab/call_matlab.h')
-rw-r--r-- | ml/dlib/dlib/matlab/call_matlab.h | 852 |
1 files changed, 0 insertions, 852 deletions
diff --git a/ml/dlib/dlib/matlab/call_matlab.h b/ml/dlib/dlib/matlab/call_matlab.h deleted file mode 100644 index cc06a6812..000000000 --- a/ml/dlib/dlib/matlab/call_matlab.h +++ /dev/null @@ -1,852 +0,0 @@ -// Copyright (C) 2012 Massachusetts Institute of Technology, Lincoln Laboratory -// License: Boost Software License See LICENSE.txt for the full license. -// Authors: Davis E. King (davis@dlib.net) -#ifndef MIT_LL_CALL_MATLAB_H__ -#define MIT_LL_CALL_MATLAB_H__ - -#include <string> -#include <sstream> -#include <dlib/error.h> -#include <dlib/assert.h> - -namespace dlib -{ - -// ---------------------------------------------------------------------------------------- - -struct invalid_args_exception : error -{ - /*! - WHAT THIS OBJECT REPRESENTS - This is the exception thrown when the mex wrapper tries to convert a matlab - object into a C++ object but for whatever reason can't (usually because the - types don't match). - !*/ - invalid_args_exception(const std::string& msg_): error(msg_) {} - invalid_args_exception(const std::ostringstream& msg_): error(msg_.str()) {} -}; - -// ---------------------------------------------------------------------------------------- - -void check_for_matlab_ctrl_c(); -/*! - ensures - - If the user of MATLAB has pressed ctrl+c then this function will throw an - exception. -!*/ - -// ---------------------------------------------------------------------------------------- - -class matlab_object -{ - /*! - WHAT THIS OBJECT REPRESENTS - This object is a simple wrapper around matlab's generic mxArray, which is the - thing that is matlab's "anything object". So a matlab_object can be used as an - argument to a mex_function() that can bind to any matlab object at all. It can - also bind to "nothing" and so is inherently also an optional argument when - present in a mex_funciton(). - !*/ -public: - matlab_object() : handle(0),should_free(false),arg_idx(0) {} - matlab_object(const matlab_object&) = delete; - - ~matlab_object(); - - - // Check if a matlab object is bound to this object. - bool is_empty() const { return handle==0; } - operator bool() const { return handle!=0; } - - // Convert from MATLAB to C++, throw invalid_args_exception if not possible. - template <typename T> operator T() const; - template <typename T> void get(T& item) const; - - // Convert from a C++ object to MATLAB - template <typename T> matlab_object& operator= (const T& new_val); - - - template <typename T> bool try_get(T& item) const - { - try { get(item); return true; } - catch(invalid_args_exception&) { return false; } - } - - const void* get_handle() const { return handle; } - /*! - ensures - - returns a pointer to the mxArray object. Might be NULL. - !*/ - - - matlab_object& operator=(const matlab_object&) = delete; - - // Users shouldn't call these functions - const void* release_object_to_matlab() { const void* temp=handle; handle = 0; return temp; } - void set_object_handle(int arg_idx_, const void* sh) { DLIB_CASSERT(!handle); handle = sh; arg_idx=arg_idx_; } -private: - - const void* handle; - bool should_free; - int arg_idx; -}; - -// ---------------------------------------------------------------------------------------- - -class matlab_struct -{ - /*! - WHAT THIS OBJECT REPRESENTS - This object lets you interface with MATLAB structs from C++. For example, - given a MATLAB struct named mystruct, you could access it's fields like this: - MATLAB way: mystruct.field - C++ way: mystruct["field"] - MATLAB way: mystruct.field.subfield - C++ way: mystruct["field"]["subfield"] - - To get the values as C++ types you do something like this: - int val = mystruct["field"]; - or - int val; - mystruct["field"].get(val); - - See also example_mex_struct.cpp for an example that uses this part of the API. - !*/ - - class sub; -public: - matlab_struct() : struct_handle(0),should_free(false),arg_idx(0) {} - matlab_struct(const matlab_struct&) = delete; - ~matlab_struct(); - - const sub operator[] (const std::string& name) const; - sub operator[] (const std::string& name); - bool has_field(const std::string& name) const; - - const void* release_struct_to_matlab() { const void* temp=struct_handle; struct_handle = 0; return temp; } - void set_struct_handle(int arg_idx_, const void* sh) { DLIB_CASSERT(!struct_handle); struct_handle = sh; arg_idx=arg_idx_; } -private: - - class sub - { - public: - sub() : struct_handle(0), field_idx(-1) {} - - template <typename T> operator T() const; - template <typename T> void get(T& item) const; - template <typename T> sub& operator= (const T& new_val); - const sub operator[] (const std::string& name) const; - sub operator[] (const std::string& name); - bool has_field(const std::string& name) const; - private: - friend class matlab_struct; - const void* struct_handle; - int field_idx; - sub& operator=(const sub&); - }; - const void* struct_handle; - bool should_free; - int arg_idx; - matlab_struct& operator=(const matlab_struct&); -}; - -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- - -template <typename T> -struct output_decorator -{ - output_decorator(T& item_):item(item_){} - T& item; -}; - -template <typename T> -output_decorator<T> returns(T& item) { return output_decorator<T>(item); } -/*! - ensures - - decorates item as an output type. This stuff is used by the call_matlab() - functions to tell if an argument is an input to the function or is supposed - to be bound to one of the return arguments. -!*/ - -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- - -struct function_handle -{ - /*! - WHAT THIS OBJECT REPRESENTS - This type is used to represent function handles passed from MATLAB into a - mex function. You can call the function referenced by the handle by - saying: - call_matlab(my_handle); - !*/ - - // These two lines are just implementation details, ignore them. - function_handle():h(0){} - void* const h; -}; - -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- - -void call_matlab ( - const std::string& function_name -); -/*! - ensures - - Calls MATLAB's function of the given name -!*/ - -// ---------------------------------------------------------------------------------------- - -void call_matlab ( - const function_handle& funct -); -/*! - ensures - - Calls MATLAB's function represented by the handle funct -!*/ - -// ---------------------------------------------------------------------------------------- - -template < - typename T1 - > -void call_matlab ( - const std::string& function_name, - const T1& A1 -); -/*! - ensures - - calls MATLAB's function of the given name. - - if (A1 is not decorated as an output by returns()) then - - A1 is passed as an argument into the MATLAB function - - else - - A1 is treated as the first return value from the MATLAB function. -!*/ - -template < - typename T1 - > -void call_matlab ( - const function_handle& funct, - const T1& A1 -) { call_matlab("feval", funct, A1); } -/*! - ensures - - Calls MATLAB's function represented by the handle funct - - if (A1 is not decorated as an output by returns()) then - - A1 is passed as an argument into the MATLAB function - - else - - A1 is treated as the first return value from the MATLAB function. -!*/ - -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- -/* - The rest of this file is just overloads of call_matlab() for up to 10 arguments (or - just 9 arguments if function_handle is used). They all do the same thing as the above - version of call_matlab(). Generally, any argument not decorated by returns() is an - input to the MATLAB function. On the other hand, all arguments decorated by returns() - are treated as outputs. -*/ -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3, - typename T4 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6, - typename T7 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6, - const T7& A7 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6, - typename T7, - typename T8 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6, - const T7& A7, - const T8& A8 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& A12 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17, typename T18 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17, - const T18& A18 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17, typename T18, typename T19 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17, - const T18& A18, const T19& A19 -); - -// ---------------------------------------------------------------------------------------- - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17, typename T18, typename T19, - typename T20 - > -void call_matlab ( - const std::string& function_name, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17, - const T18& A18, const T19& A19, const T20& A20 -); - -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- -// ---------------------------------------------------------------------------------------- - -template < - typename T1, - typename T2 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2 -) -{ - call_matlab("feval", funct, A1, A2); -} - -template < - typename T1, - typename T2, - typename T3 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3 -) -{ - call_matlab("feval", funct, A1, A2, A3); -} - -template < - typename T1, - typename T2, - typename T3, - typename T4 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4); -} - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5); -} - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6); -} - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6, - typename T7 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6, - const T7& A7 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7); -} - -template < - typename T1, - typename T2, - typename T3, - typename T4, - typename T5, - typename T6, - typename T7, - typename T8 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, - const T2& A2, - const T3& A3, - const T4& A4, - const T5& A5, - const T6& A6, - const T7& A7, - const T8& A8 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17, typename T18 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17, - const T18& A18 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18); -} - -template < - typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename - T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, - typename T14, typename T15, typename T16, typename T17, typename T18, typename T19 - > -void call_matlab ( - const function_handle& funct, - const T1& A1, const T2& A2, const T3& A3, const T4& A4, const T5& A5, const T6& A6, - const T7& A7, const T8& A8, const T9& A9, const T10& A10, const T11& A11, const T12& - A12, const T13& A13, const T14& A14, const T15& A15, const T16& A16, const T17& A17, - const T18& A18, const T19& A19 -) -{ - call_matlab("feval", funct, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19); -} - -// ---------------------------------------------------------------------------------------- - -// We define this function here so that, if you write some code that has check_for_matlab_ctrl_c() -// sprinkled throughout it you can still compile that code outside the mex wrapper -// environment and these calls will simply be no-ops. -#ifndef MATLAB_MEX_FILE -inline void check_for_matlab_ctrl_c() {} -#endif - -} - -#endif // MIT_LL_CALL_MATLAB_H__ - |