MUQ  0.4.3
SundialsAlgebra.h
Go to the documentation of this file.
1 #ifndef SUNDIALSALGEBRA_H_
2 #define SUNDIALSALGEBRA_H_
3 
4 #include <assert.h>
5 
6 #include <boost/none.hpp>
7 #include <boost/any.hpp>
8 
9 #include "MUQ/config.h"
10 
11 // Sundials includes
12 #if MUQ_HAS_SUNDIALS==1
13 #include <nvector/nvector_serial.h>
14 #include <sundials/sundials_dense.h> // definitions DlsMat DENSE_ELEM
15 #endif
16 
17 namespace muq {
18  namespace Modeling {
20  public:
22 
24 
25 #if MUQ_HAS_SUNDIALS==1
27 
31  static bool IsSundialsVector(std::type_info const& obj);
32 #endif
33 
34 #if MUQ_HAS_SUNDIALS==1
36 
40  static unsigned int Size(boost::any const& vec);
41 #endif
42 
43 #if MUQ_HAS_SUNDIALS==1
45 
50  static boost::any AccessElement(N_Vector const& obj, unsigned int const i);
51 #endif
52 
53  private:
54  };
55  }
56 } // namespace muq
57 
58 #endif
static bool IsSundialsVector(std::type_info const &obj)
Is a boost::any an N_Vector type?
static unsigned int Size(boost::any const &vec)
The size of an N_Vector.
static boost::any AccessElement(N_Vector const &obj, unsigned int const i)
Access an element of a Sundials vector.