This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
tutorial_subsystem [2014/07/14 11:33] guillaume [Syntax of Use Equation (without extension domain)] |
tutorial_subsystem [2017/04/19 13:31] (current) |
||
|---|---|---|---|
| Line 7: | Line 7: | ||
| Let us assume that we want to compute the mean of the values of a vector. It is feasible through the following Alpha system: | Let us assume that we want to compute the mean of the values of a vector. It is feasible through the following Alpha system: | ||
| - | <sxh alphabets; gutter:false> | + | <sxh alphabets; gutter:true> |
| affine mean {N | N>0} | affine mean {N | N>0} | ||
| input | input | ||
| Line 22: | Line 22: | ||
| However, let us assume that you already have another Alpha system which computes the sum of the elements of a vector. It is possible to use this affine system (instead of rewriting its equation in the main system), by calling it through a **use equation**: | However, let us assume that you already have another Alpha system which computes the sum of the elements of a vector. It is possible to use this affine system (instead of rewriting its equation in the main system), by calling it through a **use equation**: | ||
| - | <sxh alphabets; gutter:false> | + | <sxh alphabets; gutter:true> |
| affine sum {P| P>0} // Computes the sum of the elements of a vector of size P | affine sum {P| P>0} // Computes the sum of the elements of a vector of size P | ||
| input | input | ||
| Line 49: | Line 49: | ||
| In general, the syntax of a use equation is the following: | In general, the syntax of a use equation is the following: | ||
| - | <sxh alphabets; gutter:false> | + | <sxh alphabets; gutter:true> |
| use subsystem_name[list of parameters] (list of input expressions) returns (list of output variables); | use subsystem_name[list of parameters] (list of input expressions) returns (list of output variables); | ||
| </ | </ | ||
| Line 61: | Line 61: | ||
| Let us assume that you have a system which computes a dot product of two vectors: | Let us assume that you have a system which computes a dot product of two vectors: | ||
| - | <sxh alphabets; gutter:false> | + | <sxh alphabets; gutter:true> |
| affine dotProduct {N | N>0} | affine dotProduct {N | N>0} | ||
| input | input | ||
| Line 76: | Line 76: | ||
| It is possible to do it by using an extension domain: | It is possible to do it by using an extension domain: | ||
| - | <sxh alphabets; gutter:false> | + | <sxh alphabets; gutter:true> |
| affine dotProduct {N | N>0} | affine dotProduct {N | N>0} | ||
| input | input | ||
| Line 94: | Line 94: | ||
| float vectRes {i | 0< | float vectRes {i | 0< | ||
| let | let | ||
| - | use {k | 0< | + | use {k | 0< |
| . | . | ||
| </ | </ | ||
| Line 100: | Line 100: | ||
| The set "{k | 0≤k< | The set "{k | 0≤k< | ||
| - the indexes can be used to specify the parameters (ex: " | - the indexes can be used to specify the parameters (ex: " | ||
| - | - the first dimensions of the input expressions correspond to the dimensions of the extension domain. For a given subsystem call kInst, the corresponding input sent is the one where the first dimensions are set to " | + | - the first dimensions of the input expressions correspond to the dimensions of the extension domain. For example, each row of " |
| - the first dimensions of the output variables correspond to the dimensions of the extension domain. All the results from every subsystem call are gathered inside common variables (ex: " | - the first dimensions of the output variables correspond to the dimensions of the extension domain. All the results from every subsystem call are gathered inside common variables (ex: " | ||
| Line 110: | Line 110: | ||
| **InlineSubSystem: | **InlineSubSystem: | ||
| + | |||
| + | The command is: '' | ||
| + | |||
| **OutlineSubSystem: | **OutlineSubSystem: | ||
| + | |||
| + | The command is '' | ||