Conversation
| h(h), | ||
| direction((forward) ? FWD : BWD), | ||
| eps(eps), | ||
| contractions(contractions), | ||
| u(u0), | ||
| z(u0 - u0.mid()), | ||
| r(z), | ||
| B(Matrix::eye(dim,dim)), | ||
| Binv(Matrix::eye(dim,dim)), | ||
| u_hat(u0.mid()), | ||
| f(f) {} |
There was a problem hiding this comment.
Les noms des arguments se confondent avec ceux des attributs -> bug possible ?
(par convention dans Codac : les attributs commencent par '_')
There was a problem hiding this comment.
On m'a dit de recopier j'ai recopié... mais je suis d'accord que respecter la convention est préférable.
| if (u_0.is_superset(u_1)) { | ||
| return u_0; | ||
| } else { | ||
| u_0 = (1 + eps) * u_1 - eps * u_1; |
There was a problem hiding this comment.
Cette ligne est étrange.. u_0 = u_1 ?
There was a problem hiding this comment.
u_1 est un IntervalVector (voir ligne 65) donc " epsu_1 - epsu_1 " est non nul et u_0 != u_1.
| */ | ||
| class LohnerAlgorithm { | ||
| public: | ||
| constexpr static const double FWD = 1., BWD = -1.; |
There was a problem hiding this comment.
There was a problem hiding this comment.
Je ne suis pas sûr. Autant dans le CtcLohner on utilise la classe TimePropag, autant dans l'algo lui-même la notion de forward ou backward est représenté par un double 1 ou -1 (stocké dans _direction) pour éviter des "if / else" dans le code. La seule apparition de la variable direction est suffisante pour gérer le sens de propagation.
No description provided.