Mercurial > fem-fenics-eugenio
comparison src/expression.h @ 173:9e944b0d0fc8
Some Formatting improvements (?)
author | gedeone-octave <marcovass89@hotmail.it> |
---|---|
date | Sat, 12 Oct 2013 16:06:00 +0100 |
parents | 5fe2a157f4eb |
children |
comparison
equal
deleted
inserted
replaced
172:8ea37cfc7a14 | 173:9e944b0d0fc8 |
---|---|
28 | 28 |
29 class expression : public dolfin::Expression | 29 class expression : public dolfin::Expression |
30 { | 30 { |
31 | 31 |
32 public: | 32 public: |
33 expression() : dolfin::Expression() {} | 33 expression() |
34 : dolfin::Expression() {} | |
34 | 35 |
35 expression (octave_fcn_handle & _f) : | 36 expression (octave_fcn_handle & _f) |
36 dolfin::Expression (), f (new octave_fcn_handle (_f)) {} | 37 : dolfin::Expression (), f (new octave_fcn_handle (_f)) {} |
37 | 38 |
38 expression (octave_fcn_handle & _f, std::size_t _n) : | 39 expression (octave_fcn_handle & _f, |
39 dolfin::Expression (_n), f (new octave_fcn_handle (_f)) {} | 40 std::size_t _n) |
41 : dolfin::Expression (_n), f (new octave_fcn_handle (_f)) {} | |
40 | 42 |
41 ~expression (void) { delete f; } | 43 ~expression (void) { delete f; } |
42 | 44 |
45 void | |
46 eval (dolfin::Array<double>& values, | |
47 const dolfin::Array<double>& x) const | |
48 { | |
49 octave_value_list b; | |
50 b.resize (x.size ()); | |
51 for (std::size_t i = 0; i < x.size (); ++i) | |
52 b(i) = x[i]; | |
53 octave_value_list tmp = feval (f->function_value (), b); | |
54 Array<double> res = tmp(0).array_value (); | |
43 | 55 |
44 void eval (dolfin::Array<double>& values, const dolfin::Array<double>& x) const | 56 for (std::size_t i = 0; i < values.size (); ++i) |
45 { | 57 values[i] = res(i); |
46 octave_value_list b; | 58 } |
47 b.resize (x.size ()); | |
48 for (std::size_t i = 0; i < x.size (); ++i) | |
49 b(i) = x[i]; | |
50 octave_value_list tmp = feval (f->function_value (), b); | |
51 Array<double> res = tmp(0).array_value (); | |
52 | |
53 for (std::size_t i = 0; i < values.size (); ++i) | |
54 values[i] = res(i); | |
55 } | |
56 | 59 |
57 private: | 60 private: |
58 octave_fcn_handle * f; | 61 octave_fcn_handle * f; |
59 }; | 62 }; |
60 #endif | 63 #endif |