Previously, if Blanchard-Kahn conditions were not satisfied, there was the
possibility an exception about NaN/Inf values in gy/gu was raised *before* the
exception about BK itself, leading to a confusing message. This commits moves
the test for BK before the test for NaN/Inf in gy/gu.
Closes: #674
— Ondra Kamenik has agreed to the relicensing of utils and parser modules to
GPL
— add DynareTeam’s copyright, since we have made a lot of modifications
— add proper copyright notices in all files
Note that I removed several #define whose purpose was to avoid typing "typename
ctraits<t>::…". Even though this tends to complicates the code, this is
probably safer, especially since the #define was capturing a free variable (t).
We now use a initializer list constructor for creating symmetries of the form
$y^n$, $y^n u^m$, $y^nu^m\sigma^k$.
The constructor taking a single integer is used to initialize a symmetry of a
given length.
Similar changes are made to IntSequence.
This behavior is similar to std::vector.