diff --git a/chapters/arrays.tex b/chapters/arrays.tex index d5d19943d..65b39442e 100644 --- a/chapters/arrays.tex +++ b/chapters/arrays.tex @@ -1378,7 +1378,7 @@ \subsection{Scalar Exponentiation of Matrices}\label{scalar-exponentiation-of-sq \subsection{Slice Operation}\label{slice-operation} -The following holds for slice operations: +The following holds for slice\index{slice} operations: \begin{itemize} \item If the component reference \lstinline!a! is an array containing scalar components and \lstinline!m! is a component of those components, the component reference \lstinline!a.m! is interpreted as a slice operation. diff --git a/chapters/operatorsandexpressions.tex b/chapters/operatorsandexpressions.tex index b5dce3440..cfe99d7b5 100644 --- a/chapters/operatorsandexpressions.tex +++ b/chapters/operatorsandexpressions.tex @@ -1555,6 +1555,10 @@ \section{Variability of Expressions}\label{variability-of-expressions} When determining whether an equation can contribute to solving for a variable \lstinline!v! (for instance, when applying the perfect matching rule, see \cref{synchronous-data-flow-principle-and-single-assignment-rule}), the equation can only be considered contributing if the resulting solution would be at most as variable as \lstinline!v!. \end{itemize} +The variability of \lstinline!a[I].x! is the highest variability of \lstinline!I! and \lstinline!x!. +Note that the variability of \lstinline!x! takes the variability of \lstinline!a! in account, see \cref{variability-of-structured-entities}. +Regarding variability, slicing (see \cref{slice-operation}) is interpreted as syntactic sugar for such a construct, so \lstinline!a.x! and \lstinline!a[:].x! for a vector \lstinline!a! has the same variability as \lstinline!a[1:size(a,1)].x!. + \begin{example} The (underdetermined) model \lstinline!Test! below illustrates two kinds of consequences due to variability constraints. First, it contains variability errors for declaration equations and assignments.