﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio" version="0.96"?>
<regions>
  <settings>
    <shortcut>varManager</shortcut>
    <identity>
      <id>b8a9b664-ed5d-4827-9cba-22bfa2fd3369</id>
      <revision>2</revision>
    </identity>
    <metadata lang="eng">
      <title>snippet: varManager 2012.03.03</title>
      <author>w3b5urf3r,omorr</author>
      <translator>w3b5urf3r</translator>
      <description>- check if a variable is an array
- check if a variable is a scalar
- size of a variable
- sum(1) for M.D.A.
- boolean comparison of variables for M.D.A.</description>
    </metadata>
    <calculation>
      <precision>4</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="true" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="9" orientation="Landscape" width="1169" height="827" />
      <margins left="50" right="50" top="50" bottom="50" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependences>
      <assembly name="SMath Studio" version="0.96" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Special Functions" version="1.10.4884.25035" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="Math Region" version="0.96" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
    </dependences>
  </settings>
  <region id="0" left="18" top="18" width="377" height="113" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="2">
      <description active="true" position="Top" lang="eng">
        <p>check if #var is an array</p>
      </description>
      <input>
        <e type="operand">#var</e>
        <e type="function" args="1">IsArray</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">IsString</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#e</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#e</e>
        <e type="operand" style="string">mat(</e>
        <e type="function" preserve="true" args="2">findstr</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="bracket">(</e>
        <e type="operand">2</e>
        <e type="operator" args="2">^</e>
        <e type="operand">0</e>
        <e type="operator" args="2">&gt;</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="1" left="18" top="171" width="408" height="30" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="2">
      <description active="true" position="Top" lang="eng">
        <p>check if #var is a number</p>
      </description>
      <input>
        <e type="operand">#var</e>
        <e type="function" args="1">IsScalar</e>
        <e type="operand">#var</e>
        <e type="function" args="1">IsArray</e>
        <e type="operator" args="1">¬</e>
        <e type="bracket">(</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">IsString</e>
        <e type="operator" args="1">¬</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">&amp;</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="2" left="18" top="243" width="472" height="162" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>returns rows and columns of an arrayreturns 1 if #var is a numberreturns "text" if #var is a string</p>
      </description>
      <input>
        <e type="operand">#var</e>
        <e type="function" args="1">size</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">IsString</e>
        <e type="operator" args="1">¬</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="operand" style="string">mat(</e>
        <e type="function" preserve="true" args="2">findstr</e>
        <e type="function" preserve="true" args="1">stack</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">#var</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">mat</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand" style="string">text</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="3" left="18" top="477" width="469" height="306" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>returns summation of M.D.A. elements</p>
      </description>
      <input>
        <e type="operand">#var</e>
        <e type="function" args="1">sum.1</e>
        <e type="operand">#size</e>
        <e type="operand">#var</e>
        <e type="function" args="1">size</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size</e>
        <e type="operand" style="string">text</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">0</e>
        <e type="operand">#size</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#var</e>
        <e type="operand">#output</e>
        <e type="operand">0</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#i</e>
        <e type="operand">1</e>
        <e type="operand">#size</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">#j</e>
        <e type="operand">1</e>
        <e type="operand">#size</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">#var</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="1">size</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#output</e>
        <e type="operand">#output</e>
        <e type="operand">#var</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#output</e>
        <e type="operand">#output</e>
        <e type="operand">#var</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="1">sum.1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">#output</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="4" left="18" top="828" width="999" height="1050" color="#000000" bgColor="#ffffff" fontSize="10">
    <math optimize="2">
      <description active="true" position="Top" lang="eng">
        <p>compare #var1 and #var2, using  a text #bool parameter (≡,&lt;,&gt;,≤,≥,≠)works with numbers, strings, arrays and multi dimensional arrays</p>
      </description>
      <input>
        <e type="operand">#var1</e>
        <e type="operand">#bool</e>
        <e type="operand">#var2</e>
        <e type="function" args="3">compare</e>
        <e type="operand">#bool</e>
        <e type="operand">#bool</e>
        <e type="operand" style="string">=</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand" style="string">≡</e>
        <e type="operand">#bool</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operator" args="2">:</e>
        <e type="operand">bools.allowed</e>
        <e type="operand" style="string">≡</e>
        <e type="operand" style="string">&lt;</e>
        <e type="operand" style="string">&gt;</e>
        <e type="operand" style="string">≤</e>
        <e type="operand" style="string">≥</e>
        <e type="operand" style="string">≠</e>
        <e type="operand">1</e>
        <e type="operand">6</e>
        <e type="function" preserve="true" args="8">mat</e>
        <e type="function" preserve="true" args="1">transpose</e>
        <e type="operator" args="2">:</e>
        <e type="operand">bools.status</e>
        <e type="operand">0</e>
        <e type="operator" args="2">:</e>
        <e type="operand">n</e>
        <e type="operand">1</e>
        <e type="operand">bools.allowed</e>
        <e type="function" preserve="true" args="1">length</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">#bool</e>
        <e type="operand">bools.allowed</e>
        <e type="operand">n</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">bools.status</e>
        <e type="operand">bools.status</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">4</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="6">line</e>
        <e type="operand">bools.status</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#v1</e>
        <e type="operand">#var1</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#v2</e>
        <e type="operand">#var2</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size1</e>
        <e type="operand">#v1</e>
        <e type="function" args="1">size</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size2</e>
        <e type="operand">#v2</e>
        <e type="function" args="1">size</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size1</e>
        <e type="operand" style="string">text</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">#size2</e>
        <e type="operand" style="string">text</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">|</e>
        <e type="operand">#bool</e>
        <e type="operand" style="string">≡</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#v1</e>
        <e type="operand">#v2</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#bool</e>
        <e type="operand" style="string">≠</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#v1</e>
        <e type="operand">#v2</e>
        <e type="operator" args="2">≠</e>
        <e type="operand" style="string">I can't determine if a string is larger or smaller than a number/matrix</e>
        <e type="operand">0</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">#size1</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">#size2</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">&amp;</e>
        <e type="operand">#v1</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="operand">#bool</e>
        <e type="operand">#v2</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="function" preserve="true" args="3">concat</e>
        <e type="function" preserve="true" args="1">str2num</e>
        <e type="operand">#size1</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">#size2</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">|</e>
        <e type="operand">#size1</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#v1</e>
        <e type="operand">#v1</e>
        <e type="operand">#size2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">#size2</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size1</e>
        <e type="operand">#size2</e>
        <e type="operator" args="2">:</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operand">#v2</e>
        <e type="operand">#v2</e>
        <e type="operand">#size1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">#size1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#size2</e>
        <e type="operand">#size1</e>
        <e type="operator" args="2">:</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">#size1</e>
        <e type="operand">#size2</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">#output</e>
        <e type="operand">0</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#i</e>
        <e type="operand">1</e>
        <e type="operand">#size1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">#j</e>
        <e type="operand">1</e>
        <e type="operand">#size1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">#v1</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="1">size</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">#v2</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="1">size</e>
        <e type="operand">1</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">&amp;</e>
        <e type="operand">#output</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">#v1</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="operand">#bool</e>
        <e type="operand">#v2</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="function" preserve="true" args="3">concat</e>
        <e type="function" preserve="true" args="1">str2num</e>
        <e type="operator" args="2">:</e>
        <e type="operand">#output</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">#v1</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">#bool</e>
        <e type="operand">#v2</e>
        <e type="operand">#i</e>
        <e type="operand">#j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="3">compare</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">#output</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="operand" style="string">I can't compare matrix with different sizes</e>
        <e type="operand">0</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">5</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="7">line</e>
        <e type="operand" style="string">unallowed boolean: </e>
        <e type="operand">#bool</e>
        <e type="function" preserve="true" args="2">concat</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
</regions>