<?xml version="1.0"?>


<!-- this is fine-tuned for cblas directory
1. we don't convert constants (reason is for CONST_IMAG and CONST_REAL macro's used
which applay array index onto constants that are normally converted to MpIeee instances with the regulare conversion
file). -> normally array indeces are skipped but due to the enclosure in a macro this can't be detected by precompiler.
2. We added an extra conversion rule for const MpIeee* 
-->

<document>

  <include> MpIeee.hh     </include>
  
  <include global="false"> 
    ArithmosIO.hh 
  </include>


  <source name="partial">
    <keyword>const</keyword>
    <keyword>long</keyword>
    <keyword>volatile</keyword>
    <keyword>volatile long</keyword>
  </source>
  
  
  <source name="sfloat">
    <keyword>float </keyword>
    <keyword>double </keyword>
    <keyword>long double </keyword>
    <keyword>volatile double </keyword>
    <keyword>volatile float </keyword>
    <keyword>volatile long double </keyword>
    <keyword>BASE</keyword>
  </source>

  <source name="constfloat">
    <keyword>const float</keyword>
    <keyword>const double</keyword>
    <keyword>const BASE</keyword>
  </source>


  <rhs name="afloat">
    <token> integer </token>
    <token> decimal </token>
  </rhs>

  <target name="tfloat">
    <keyword> MpIeee </keyword>
  </target>

  <target name="constmpieee">
    <keyword> const MpIeee </keyword>
  </target>


  <!-- the conversion rules -->
  <convert name="float to mpieee">
    <source name="sfloat"/>
    <target name="tfloat"/>
  </convert>

  <convert name="const float to const mpieee">
    <source name="constfloat"/>
    <target name="constmpieee"/>
  </convert>

</document>

