6 #ifndef SCI_SCI_VAR_HPP
7 #define SCI_SCI_VAR_HPP
10 #include "itpp\itbase.h"
11 #include "sci\_sci_types.h"
31 virtual int get_sci_type() = 0;
32 virtual int get_rows() = 0;
33 virtual int get_cols() = 0;
35 virtual bool get_bool() = 0;
36 virtual bvec get_bvec() = 0;
37 virtual bmat get_bmat() = 0;
39 virtual int get_int() = 0;
40 virtual ivec get_ivec() = 0;
41 virtual imat get_imat() = 0;
43 virtual double get_double() = 0;
44 virtual vec get_vec() = 0;
45 virtual mat get_mat() = 0;
47 virtual complex<double> get_complex() = 0;
48 virtual cvec get_cvec() = 0;
49 virtual cmat get_cmat() = 0;
54 class sci_var_double :
public sci_var
65 sci_var_double(
double x)
71 virtual ~sci_var_double(
void)
75 virtual int get_sci_type()
77 return SCI_TYPE_DOUBLE;
92 virtual double get_double();
94 virtual int get_int();
95 virtual bool get_bool();
98 virtual vec get_vec();
99 virtual bvec get_bvec();
100 virtual ivec get_ivec();
101 virtual cvec get_cvec();
103 virtual mat get_mat();
104 virtual imat get_imat();
105 virtual bmat get_bmat();
106 virtual complex<double> get_complex();
107 virtual cmat get_cmat();
111 class sci_var_int :
public sci_var
128 virtual ~sci_var_int(
void)
132 virtual int get_sci_type()
148 virtual int get_int();
151 virtual bool get_bool();
154 virtual double get_double();
155 virtual complex<double> get_complex();
157 virtual vec get_vec();
158 virtual bvec get_bvec();
159 virtual ivec get_ivec();
160 virtual cvec get_cvec();
162 virtual mat get_mat();
163 virtual imat get_imat();
164 virtual bmat get_bmat();
165 virtual cmat get_cmat();
170 class sci_var_bool :
public sci_var
187 virtual ~sci_var_bool(
void)
191 virtual int get_sci_type()
193 return SCI_TYPE_BOOL;
207 virtual bool get_bool();
212 virtual double get_double();
213 virtual int get_int();
214 virtual complex<double> get_complex();
216 virtual vec get_vec();
217 virtual bvec get_bvec();
218 virtual ivec get_ivec();
219 virtual cvec get_cvec();
221 virtual mat get_mat();
222 virtual imat get_imat();
223 virtual bmat get_bmat();
224 virtual cmat get_cmat();
228 class sci_var_complex :
public sci_var
239 sci_var_complex(complex<double> x)
245 virtual ~sci_var_complex(
void)
249 virtual int get_sci_type()
251 return SCI_TYPE_COMPLEX;
265 virtual complex<double> get_complex();
269 virtual double get_double();
270 virtual int get_int();
271 virtual bool get_bool();
273 virtual vec get_vec();
274 virtual bvec get_bvec();
275 virtual ivec get_ivec();
276 virtual cvec get_cvec();
278 virtual mat get_mat();
279 virtual imat get_imat();
280 virtual bmat get_bmat();
281 virtual cmat get_cmat();
285 class sci_var_vec:
public sci_var
296 sci_var_vec(vec vector)
302 virtual ~sci_var_vec(
void)
306 virtual int get_sci_type()
322 virtual double get_double();
323 virtual vec get_vec();
325 virtual bool get_bool();
326 virtual bvec get_bvec();
327 virtual int get_int();
328 virtual ivec get_ivec();
330 virtual mat get_mat();
331 virtual imat get_imat();
332 virtual bmat get_bmat();
333 virtual complex<double> get_complex();
334 virtual cvec get_cvec();
335 virtual cmat get_cmat();
339 class sci_var_mat:
public sci_var
349 sci_var_mat(mat matrix)
355 virtual ~sci_var_mat(
void)
359 virtual int get_sci_type()
375 virtual double get_double();
376 virtual vec get_vec();
377 virtual mat get_mat();
379 virtual bool get_bool();
380 virtual bvec get_bvec();
381 virtual bmat get_bmat();
382 virtual int get_int();
383 virtual ivec get_ivec();
384 virtual imat get_imat();
386 virtual complex<double> get_complex();
387 virtual cvec get_cvec();
388 virtual cmat get_cmat();
392 class sci_var_ivec:
public sci_var
402 sci_var_ivec(ivec vector)
408 virtual ~sci_var_ivec(
void)
412 virtual int get_sci_type()
414 return SCI_TYPE_IVEC;
428 virtual int get_int();
429 virtual ivec get_ivec();
431 virtual bool get_bool();
432 virtual bvec get_bvec();
434 virtual bmat get_bmat();
435 virtual imat get_imat();
436 virtual double get_double();
437 virtual vec get_vec();
438 virtual mat get_mat();
439 virtual complex<double> get_complex();
440 virtual cvec get_cvec();
441 virtual cmat get_cmat();
445 class sci_var_imat:
public sci_var
455 sci_var_imat(imat matrix)
461 virtual ~sci_var_imat(
void)
465 virtual int get_sci_type()
467 return SCI_TYPE_IMAT;
481 virtual int get_int();
482 virtual ivec get_ivec();
483 virtual imat get_imat();
485 virtual bool get_bool();
486 virtual bvec get_bvec();
487 virtual bmat get_bmat();
489 virtual double get_double();
490 virtual vec get_vec();
491 virtual mat get_mat();
492 virtual complex<double> get_complex();
493 virtual cvec get_cvec();
494 virtual cmat get_cmat();
498 class sci_var_bvec:
public sci_var
508 sci_var_bvec(bvec vector)
514 virtual ~sci_var_bvec(
void)
518 virtual int get_sci_type()
520 return SCI_TYPE_BVEC;
534 virtual bool get_bool();
535 virtual bvec get_bvec();
538 virtual bmat get_bmat();
539 virtual int get_int();
540 virtual ivec get_ivec();
541 virtual imat get_imat();
542 virtual double get_double();
543 virtual vec get_vec();
544 virtual mat get_mat();
545 virtual complex<double> get_complex();
546 virtual cvec get_cvec();
547 virtual cmat get_cmat();
552 class sci_var_bmat:
public sci_var
562 sci_var_bmat(bmat matrix)
568 virtual ~sci_var_bmat(
void)
572 virtual int get_sci_type()
574 return SCI_TYPE_BMAT;
589 virtual bool get_bool();
590 virtual bvec get_bvec();
591 virtual bmat get_bmat();
594 virtual int get_int();
595 virtual ivec get_ivec();
596 virtual imat get_imat();
598 virtual double get_double();
599 virtual vec get_vec();
600 virtual mat get_mat();
602 virtual complex<double> get_complex();
603 virtual cvec get_cvec();
604 virtual cmat get_cmat();
608 class sci_var_cvec:
public sci_var
618 sci_var_cvec(cvec vector)
624 virtual ~sci_var_cvec(
void)
628 virtual int get_sci_type()
630 return SCI_TYPE_CVEC;
644 virtual complex<double> get_complex();
645 virtual cvec get_cvec();
648 virtual cmat get_cmat();
649 virtual bool get_bool();
650 virtual bvec get_bvec();
651 virtual bmat get_bmat();
652 virtual int get_int();
653 virtual ivec get_ivec();
654 virtual imat get_imat();
655 virtual double get_double();
656 virtual vec get_vec();
657 virtual mat get_mat();
661 class sci_var_cmat:
public sci_var
672 sci_var_cmat(cmat matrix)
678 virtual ~sci_var_cmat(
void)
682 virtual int get_sci_type()
684 return SCI_TYPE_CMAT;
697 virtual complex<double> get_complex();
698 virtual cvec get_cvec();
699 virtual cmat get_cmat();
701 virtual bool get_bool();
702 virtual bvec get_bvec();
703 virtual bmat get_bmat();
705 virtual int get_int();
706 virtual ivec get_ivec();
707 virtual imat get_imat();
709 virtual double get_double();
710 virtual vec get_vec();
711 virtual mat get_mat();
Definition: _sci_assert.cpp:35
virtual ~sci_var(void)
Definition: _sci_var.hpp:27
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