encapsulated function constructor
import Modelica;
import Modelica_LinearSystems2.Internal.StateSpaceR;
input Real A[:, size(A, 1)] "der(x) = A*x + B*u";
input Real B[size(A, 1), :] "der(x) = A*x + B*u";
input Real C[:, size(A, 1)] "y = C*x + D*u";
input Real D[size(C, 1), size(B, 2)] "y = C*x + D*u";
input Integer r;
output StateSpaceR result(redeclare Real A[size(A, 1), size(A, 2)], redeclare Real B[size(B, 1), size(B, 2)], redeclare Real C[size(C, 1), size(C, 2)], redeclare Real D[size(D, 1), size(D, 2)]);
end constructor;