You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The $S_1*>S_2$ upsampling appears at the output of an ondemand. It is necessary to compile $S_1$ into the clock time reference $S_2$ (which is added to the current time reference). The signal $S_1$ must also be stored in a variable to do the upsampling.
The downsampling $S_1<*S_2$ appears at the entrance of an ondemand. This means that compiling $S_1<*S_2$ into the $M_2.T$ time environment (where $M_2$ is the compiled version of $S_2$) is like compiling $S_1$ into the $T$ time environment and using a variable to do the downsampling.
If it is the first visit, we have $\vmark{X_i.T}=0$:
$$
\inference[(r1)]{
\VID{X_i.T} = v\
\vmark{X_i.T}<-v\
\rdef{X}=(...,S_i,...) \
\cs{S_i.T}=M_i\times J_i \
\cs{S_d.T}=M_d\times J_d \
\TID{T} = t \
J_3 = {\instr{T}{v[t,0]}{M_i}} \cup {\instr{T}{t}{t+1}}
}{
\cs{(X_i@S_d).T}= v[t,M_d]\times J_3 \cup J_i \cup J_d
}
$$
Signal Compilation: recursion
Next visits
If it is not the first visit, we have $\vmark{X_i.T}=v$:
$$
\inference[(r2)]{
\cs{S_d.T}=M_d\times J_d \
\TID{T} = t \
}{
\cs{(X_i@S_d).T}= v[t,M_d]\times J_d
}
$$