<p>This changeset modifies the <code>mathops</code> module by adding a <code>math_rpn</code> function which provides access (in an easily extensible way) to many more operations than the default <code>math_eval</code> parser, especially functions (the need for <code>exp</code> was the reason I wrote this). The <code>math_rpn</code> parser produces its output steps the way the original <code>math_eval</code> parser does, so that if the parsing is ever moved to fixup-time, the computed steps can be used without regards for the parser.</p>

<p>(The <code>math_eval</code> parser could also be modified to support the new operations but I didn't try to do that since the RPN syntax achieved what I needed.)</p>

<p>Submitting for review.</p>

<hr>

<h4>You can merge this Pull Request by running</h4>
<pre>  git pull https://github.com/shimaore/opensips mathops_extension</pre>
<p>Or view, comment on, or merge it at:</p>
<p>&nbsp;&nbsp;<a href='https://github.com/OpenSIPS/opensips/pull/144'>https://github.com/OpenSIPS/opensips/pull/144</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Mathops extensions</li>
  <li>Built README</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-0">modules/mathops/README</a>
    (91)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-1">modules/mathops/doc/mathops.xml</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-2">modules/mathops/doc/mathops_admin.xml</a>
    (67)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-3">modules/mathops/math_funcs.c</a>
    (286)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-4">modules/mathops/math_funcs.h</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/144/files#diff-5">modules/mathops/mathops.c</a>
    (21)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/144.patch'>https://github.com/OpenSIPS/opensips/pull/144.patch</a></li>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/144.diff'>https://github.com/OpenSIPS/opensips/pull/144.diff</a></li>
</ul>