The CTDE domain is now a supported domain, that is, it has overcome several of its previous limitations:
The Vector type was renamed to RVector.
|multiply||The multiply function which was used to multiply a matrix with a vector was dropped along with the providing header file VectorOperations.h. The dgemv function provided by the LAPACK library can serve as a substitute. A usage example can be found in the MatrixGain primitive which is located in the Arithmetic library.|
|Now, the scheduler automatically determines whether primitives are dynamic (that is, whether they contain continuous states) or stateevent-generators. Therefore these functions were deleted without replacement.|
|Type description||MLDesigner 2 type name||MLDesigner 3 type name||Changes|
|Array state of doubles, used for continuous states||integratorarray||integrator||
|Represent a continuous state variable||integrator||stateevent|
Following operators to access values from scalar continuous ports were dropped.
The getVector method which obtains the input vector has changed, it no longer has a return value. Instead a reference or a pointer to the data location in which to store the input vector has to be supplied as a parameter. Following methods are implemented.
Additionally an operator RVector() has been added. It also can be used to replace the getVector method from MLDesigner 2. For example, a statement from MLDesigner 2 which read:
const Vector& a = Input1.getVector();
Would read in MLDesigner 3:
const RVector& a = RVector(Input1);
Following methods to assign values to scalar continuous ports were dropped.
The getVector method with which it was possible to obtain a writable reference to the port's value was replaced by the following setVector methods.