itpp_sci  1.0.0
it++ based simulation framework for scicoslab, scilab and scipy
_sci_if_create_var.hpp
1 /*xxx
2 * \brief - interface functions to sci_base - abstraction layer class
3 * \author maki
4 */
5 
6 #ifndef SCI_CREATE_VAR_HPP
7 #define SCI_CREATE_VAR_HPP
8 
9 #include "_sci_if_var_struct.h"
10 #include "sci\_sci_types.h"
11 
12 using namespace SCI;
13 
15 struct var_struct var_to_struct(sci_var *p_v);
16 
17 // create new var object using var_struct descriptor
18 sci_var* create_var(struct var_struct *p_s_v);
19 
20 // upload data from c++ into external stack - all data are about source and destination are in p_s_v
21 void push(struct var_struct *p_s_v);
22 
23 inline void push(struct var_struct *p_s_v, sci_var_double *p_sci_var);
24 inline void push(struct var_struct *p_s_v, sci_var_int *p_sci_var);
25 inline void push(struct var_struct *p_s_v, sci_var_bool *p_sci_var);
26 inline void push(struct var_struct *p_s_v, sci_var_complex *p_sci_var);
27 
28 inline void push(struct var_struct *p_s_v, sci_var_vec *p_sci_var);
29 inline void push(struct var_struct *p_s_v, sci_var_ivec *p_sci_var);
30 inline void push(struct var_struct *p_s_v, sci_var_bvec *p_sci_var);
31 inline void push(struct var_struct *p_s_v, sci_var_cvec *p_sci_var);
32 
33 inline void push(struct var_struct *p_s_v, sci_var_mat *p_sci_var);
34 inline void push(struct var_struct *p_s_v, sci_var_imat *p_sci_var);
35 inline void push(struct var_struct *p_s_v, sci_var_bmat *p_sci_var);
36 inline void push(struct var_struct *p_s_v, sci_var_cmat *p_sci_var);
37 
38 // download data from external stack into c++ - all data are about source and destination are in p_s_v
39 void pop(struct var_struct *p_s_v);
40 
41 inline void pop(struct var_struct *p_s_v, sci_var_double *p_sci_var);
42 inline void pop(struct var_struct *p_s_v, sci_var_int *p_sci_var);
43 inline void pop(struct var_struct *p_s_v, sci_var_bool *p_sci_var);
44 inline void pop(struct var_struct *p_s_v, sci_var_complex *p_sci_var);
45 
46 inline void pop(struct var_struct *p_s_v, sci_var_vec *p_sci_var);
47 inline void pop(struct var_struct *p_s_v, sci_var_ivec *p_sci_var);
48 inline void pop(struct var_struct *p_s_v, sci_var_bvec *p_sci_var);
49 inline void pop(struct var_struct *p_s_v, sci_var_cvec *p_sci_var);
50 
51 inline void pop(struct var_struct *p_s_v, sci_var_mat *p_sci_var);
52 inline void pop(struct var_struct *p_s_v, sci_var_imat *p_sci_var);
53 inline void pop(struct var_struct *p_s_v, sci_var_bmat *p_sci_var);
54 inline void pop(struct var_struct *p_s_v, sci_var_cmat *p_sci_var);
55 
56 
57 #endif
SCI layer implements SCI_API interface as wrappers for SIM layer models.
Definition: _sci_create_sci_var.cpp:8
Abstract base for encapsulation of sci_variables.
Definition: _sci_var.hpp:23