Skip to content

Commit

Permalink
fix in cpp template for evaluate return value
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@20809 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
niklwors committed May 23, 2014
1 parent b3899d5 commit 299bcf1
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 25 deletions.
4 changes: 3 additions & 1 deletion Compiler/Template/CodegenCpp.tpl
Expand Up @@ -9616,14 +9616,16 @@ template update( list<SimEqSystem> allEquationsPlusWhen,list<SimWhenClause> when
int offset = (*iter) - first_equation_index;
(this->*equations_array[offset])();
}
return false;
}

/*! Evaluates only a single equation by index. */
bool <%className%>::evaluate_single(const int index) {
int offset = index - first_equation_index;
(this->*equations_array[offset])();
return false;
}

>>
end update;
/*Ranking: removed from update: if(command & IContinuous::RANKING) checkConditions();*/
Expand Down
18 changes: 17 additions & 1 deletion SimulationRuntime/cpp/Core/Math/stdafx.h
Expand Up @@ -13,9 +13,25 @@
#include <vector>
#include "boost/tuple/tuple.hpp"
#include <boost/array.hpp>
#include <boost/multi_array.hpp>
#include <functional>
#define BOOST_UBLAS_SHALLOW_ARRAY_ADAPTOR
#include <boost/numeric/ublas/storage.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/assert.hpp>
#include <boost/algorithm/minmax_element.hpp>
using namespace boost::numeric;
using boost::multi_array;
using boost::const_multi_array_ref;
using boost::multi_array_ref;
using std::vector;
using boost::tuple;
using boost::tie;
using boost::get;
using boost::make_tuple;
using boost::array;
using boost::array;


11 changes: 11 additions & 0 deletions SimulationRuntime/cpp/Core/Solver/stdafx.h
Expand Up @@ -54,6 +54,17 @@
//#include <boost/archive/xml_iarchive.hpp>

#include <boost/unordered_map.hpp>
#include <boost/numeric/ublas/storage.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/assert.hpp>
#include <boost/algorithm/minmax_element.hpp>
using namespace boost::numeric;
using boost::multi_array;
using boost::const_multi_array_ref;
using boost::multi_array_ref;

/*Namespaces*/
using namespace boost::extensions;
Expand Down
26 changes: 22 additions & 4 deletions SimulationRuntime/cpp/Core/System/stdafx.h
Expand Up @@ -48,10 +48,20 @@
#include "Utils/extension/factory_map.hpp"
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
//#include <boost/archive/xml_oarchive.hpp>
//#include <boost/archive/xml_iarchive.hpp>
#include <boost/multi_array.hpp>
#include <boost/unordered_map.hpp>
#include <functional>
#define BOOST_UBLAS_SHALLOW_ARRAY_ADAPTOR
#include <boost/numeric/ublas/storage.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/assert.hpp>
#include <boost/algorithm/minmax_element.hpp>
using namespace boost::numeric;
using boost::multi_array;
using boost::const_multi_array_ref;
using boost::multi_array_ref;

/*Namespaces*/
using namespace boost::extensions;
Expand Down Expand Up @@ -123,4 +133,12 @@ using namespace boost::extensions;
namespace fs = boost::filesystem;
using boost::unordered_map;
#endif

/*
template class boost::multi_array<double,2>;
template class boost::multi_array<double,1>;
template class boost::multi_array<int,2>;
template class boost::multi_array<int,1>;
template class ublas::vector<double>;
template class ublas::vector<int>;
template class uBlas::compressed_matrix<double, uBlas::column_major, 0, uBlas::unbounded_array<int>, uBlas::unbounded_array<double> > ;
*/
16 changes: 2 additions & 14 deletions SimulationRuntime/cpp/Include/Core/Math/ArrayOperations.h
@@ -1,7 +1,5 @@
#pragma once
//#define BOOST_ENABLE_ASSERT_HANDLER
#include <boost/assert.hpp>
#include <boost/algorithm/minmax_element.hpp>

/*****************************************************************************/
/**
Expand All @@ -23,18 +21,8 @@ Assertion function
*/
//void boost::assertion_failed(char const * expr, char const * function,
// char const * file, long line);
#include <boost/multi_array.hpp>
#include <functional>
#define BOOST_UBLAS_SHALLOW_ARRAY_ADAPTOR
#include <boost/numeric/ublas/storage.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
using namespace boost::numeric;
using boost::multi_array;
using boost::const_multi_array_ref;
using boost::multi_array_ref;


/*index type for multi array, first shape, second indeces*/
typedef std::vector<std::vector<size_t> > idx_type;
typedef std::pair<vector<size_t>,idx_type > spec_type;
Expand Down
27 changes: 22 additions & 5 deletions SimulationRuntime/cpp/Include/Core/Modelica.h
Expand Up @@ -66,9 +66,16 @@ using namespace std;
#include "Utils/extension/factory_map.hpp"
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
//#include <boost/archive/xml_oarchive.hpp>
//#include <boost/archive/xml_iarchive.hpp>

#include <boost/assert.hpp>
#include <boost/algorithm/minmax_element.hpp>
#include <boost/multi_array.hpp>
#include <functional>
#define BOOST_UBLAS_SHALLOW_ARRAY_ADAPTOR
#include <boost/numeric/ublas/storage.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/unordered_map.hpp>

/*Namespaces*/
Expand All @@ -79,8 +86,9 @@ namespace uBlas = boost::numeric::ublas;
using namespace boost::extensions;
using namespace boost::assign;
using namespace boost::numeric;


using boost::multi_array;
using boost::const_multi_array_ref;
using boost::multi_array_ref;
using boost::unordered_map;
using boost::lexical_cast;
using boost::numeric_cast;
Expand Down Expand Up @@ -132,3 +140,12 @@ typedef ublas::matrix<double, adaptor_t> shared_matrix_t;
#include <System/IEvent.h>
#include <Solver/INonLinSolverSettings.h>
#include <DataExchange/IHistory.h>
/*
extern template class boost::multi_array<double,2>;
extern template class boost::multi_array<double,1>;
extern template class boost::multi_array<int,2>;
extern template class boost::multi_array<int,1>;
extern template class ublas::vector<double>;
extern template class ublas::vector<int>;
extern template class uBlas::compressed_matrix<double, uBlas::column_major, 0, uBlas::unbounded_array<int>, uBlas::unbounded_array<double> > ;
*/

0 comments on commit 299bcf1

Please sign in to comment.