Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > acb94a8b2a4b1c8c2a966ed9ee99ffe4 > files > 299

lib64wcs-devel-4.18-2.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>WCSLIB 4.18: wcsunits.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">WCSLIB 4.18
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_af99bb3c152a306abd27951285ad1127.html">C</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">wcsunits.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="wcserr_8h_source.html">wcserr.h</a>&quot;</code><br/>
</div>
<p><a href="wcsunits_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6ef9e3ba449b38275c422e454abe3601"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a6ef9e3ba449b38275c422e454abe3601">WCSUNITS_PLANE_ANGLE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a6ef9e3ba449b38275c422e454abe3601"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for plane angle units type.  <a href="#a6ef9e3ba449b38275c422e454abe3601">More...</a><br/></td></tr>
<tr class="separator:a6ef9e3ba449b38275c422e454abe3601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69241e398126a72e5d095ed3aff156c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a69241e398126a72e5d095ed3aff156c3">WCSUNITS_SOLID_ANGLE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a69241e398126a72e5d095ed3aff156c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for solid angle units type.  <a href="#a69241e398126a72e5d095ed3aff156c3">More...</a><br/></td></tr>
<tr class="separator:a69241e398126a72e5d095ed3aff156c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b2d15aa5504b7e7e8b7b345d090f32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a45b2d15aa5504b7e7e8b7b345d090f32">WCSUNITS_CHARGE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a45b2d15aa5504b7e7e8b7b345d090f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for charge units type.  <a href="#a45b2d15aa5504b7e7e8b7b345d090f32">More...</a><br/></td></tr>
<tr class="separator:a45b2d15aa5504b7e7e8b7b345d090f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a807ef7c93e34207776303badf177fa41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a807ef7c93e34207776303badf177fa41">WCSUNITS_MOLE</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a807ef7c93e34207776303badf177fa41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for mole units type.  <a href="#a807ef7c93e34207776303badf177fa41">More...</a><br/></td></tr>
<tr class="separator:a807ef7c93e34207776303badf177fa41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bb521a40223ec7358f85d719834ad7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a8bb521a40223ec7358f85d719834ad7f">WCSUNITS_TEMPERATURE</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:a8bb521a40223ec7358f85d719834ad7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for temperature units type.  <a href="#a8bb521a40223ec7358f85d719834ad7f">More...</a><br/></td></tr>
<tr class="separator:a8bb521a40223ec7358f85d719834ad7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0967644d30d7f98f21b6bb0e68a637c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a0967644d30d7f98f21b6bb0e68a637c0">WCSUNITS_LUMINTEN</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:a0967644d30d7f98f21b6bb0e68a637c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for luminous intensity units type.  <a href="#a0967644d30d7f98f21b6bb0e68a637c0">More...</a><br/></td></tr>
<tr class="separator:a0967644d30d7f98f21b6bb0e68a637c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f84e63b1fa2003f3438e7cd21231b92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a8f84e63b1fa2003f3438e7cd21231b92">WCSUNITS_MASS</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:a8f84e63b1fa2003f3438e7cd21231b92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for mass units type.  <a href="#a8f84e63b1fa2003f3438e7cd21231b92">More...</a><br/></td></tr>
<tr class="separator:a8f84e63b1fa2003f3438e7cd21231b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59e3354bb9908a4841aa478f2dbd3973"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a59e3354bb9908a4841aa478f2dbd3973">WCSUNITS_LENGTH</a>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:a59e3354bb9908a4841aa478f2dbd3973"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for length units type.  <a href="#a59e3354bb9908a4841aa478f2dbd3973">More...</a><br/></td></tr>
<tr class="separator:a59e3354bb9908a4841aa478f2dbd3973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a347b88663166b66404cbb2f8aac211bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a347b88663166b66404cbb2f8aac211bb">WCSUNITS_TIME</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:a347b88663166b66404cbb2f8aac211bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for time units type.  <a href="#a347b88663166b66404cbb2f8aac211bb">More...</a><br/></td></tr>
<tr class="separator:a347b88663166b66404cbb2f8aac211bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11a1284e63c7515fd0240ca8f85fc111"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a11a1284e63c7515fd0240ca8f85fc111">WCSUNITS_BEAM</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:a11a1284e63c7515fd0240ca8f85fc111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for beam units type.  <a href="#a11a1284e63c7515fd0240ca8f85fc111">More...</a><br/></td></tr>
<tr class="separator:a11a1284e63c7515fd0240ca8f85fc111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84fdca1d2c8647a2f33a760578de62c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a84fdca1d2c8647a2f33a760578de62c6">WCSUNITS_BIN</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:a84fdca1d2c8647a2f33a760578de62c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for bin units type.  <a href="#a84fdca1d2c8647a2f33a760578de62c6">More...</a><br/></td></tr>
<tr class="separator:a84fdca1d2c8647a2f33a760578de62c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7332ce1c3c715011599d4b9d13e7b760"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a7332ce1c3c715011599d4b9d13e7b760">WCSUNITS_BIT</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:a7332ce1c3c715011599d4b9d13e7b760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for bit units type.  <a href="#a7332ce1c3c715011599d4b9d13e7b760">More...</a><br/></td></tr>
<tr class="separator:a7332ce1c3c715011599d4b9d13e7b760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27df51b1593f3642bfd9833e71c73a34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a27df51b1593f3642bfd9833e71c73a34">WCSUNITS_COUNT</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:a27df51b1593f3642bfd9833e71c73a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for count units type.  <a href="#a27df51b1593f3642bfd9833e71c73a34">More...</a><br/></td></tr>
<tr class="separator:a27df51b1593f3642bfd9833e71c73a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace657c3f971b4ac9004a2639d142f636"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#ace657c3f971b4ac9004a2639d142f636">WCSUNITS_MAGNITUDE</a>&#160;&#160;&#160;13</td></tr>
<tr class="memdesc:ace657c3f971b4ac9004a2639d142f636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for stellar magnitude units type.  <a href="#ace657c3f971b4ac9004a2639d142f636">More...</a><br/></td></tr>
<tr class="separator:ace657c3f971b4ac9004a2639d142f636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cf5fc976d2663fed07f1f837245f36b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a2cf5fc976d2663fed07f1f837245f36b">WCSUNITS_PIXEL</a>&#160;&#160;&#160;14</td></tr>
<tr class="memdesc:a2cf5fc976d2663fed07f1f837245f36b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for pixel units type.  <a href="#a2cf5fc976d2663fed07f1f837245f36b">More...</a><br/></td></tr>
<tr class="separator:a2cf5fc976d2663fed07f1f837245f36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab622892a80194a6a432510665156e4fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#ab622892a80194a6a432510665156e4fb">WCSUNITS_SOLRATIO</a>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:ab622892a80194a6a432510665156e4fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for solar mass ratio units type.  <a href="#ab622892a80194a6a432510665156e4fb">More...</a><br/></td></tr>
<tr class="separator:ab622892a80194a6a432510665156e4fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a946bca82ae3fb279ad3d86dbc793be07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a946bca82ae3fb279ad3d86dbc793be07">WCSUNITS_VOXEL</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:a946bca82ae3fb279ad3d86dbc793be07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array index for voxel units type.  <a href="#a946bca82ae3fb279ad3d86dbc793be07">More...</a><br/></td></tr>
<tr class="separator:a946bca82ae3fb279ad3d86dbc793be07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7daf2b3a5c7e96f2823bca916554cc4b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a7daf2b3a5c7e96f2823bca916554cc4b">WCSUNITS_NTYPE</a>&#160;&#160;&#160;17</td></tr>
<tr class="memdesc:a7daf2b3a5c7e96f2823bca916554cc4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of entries in the units array.  <a href="#a7daf2b3a5c7e96f2823bca916554cc4b">More...</a><br/></td></tr>
<tr class="separator:a7daf2b3a5c7e96f2823bca916554cc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a864e6b966575a8c42eb333ba9f14a3ef"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3ef">wcsunits_errmsg_enum</a> { <br/>
&#160;&#160;<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efac00b91a489f7273d2733f58201b6a723">UNITSERR_SUCCESS</a> = 0, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa4ad61420ee56456d08647b222c4aa8af">UNITSERR_BAD_NUM_MULTIPLIER</a> = 1, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa5ceed55803deb4a34266f23cf6d47274">UNITSERR_DANGLING_BINOP</a> = 2, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efaf7a5cd4ed90aeef7598875cb5bf57a11">UNITSERR_BAD_INITIAL_SYMBOL</a> = 3, 
<br/>
&#160;&#160;<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa67b504a215f2d34d1be4956b1e9e55b7">UNITSERR_FUNCTION_CONTEXT</a> = 4, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa0c9333946c5918c15c376f12e9afb086">UNITSERR_BAD_EXPON_SYMBOL</a> = 5, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa367f21cd3b49b178d4fdadaf74f2618d">UNITSERR_UNBAL_BRACKET</a> = 6, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa49231fa8fbeeca036424cd7df0d5a3a8">UNITSERR_UNBAL_PAREN</a> = 7, 
<br/>
&#160;&#160;<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa5b8db327b9d6bf09e93e7e0fed910792">UNITSERR_CONSEC_BINOPS</a> = 8, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa116bc901282cf346621b9e56e4676b24">UNITSERR_PARSER_ERROR</a> = 9, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efae9b1b29365d17b25452562f770d44975">UNITSERR_BAD_UNIT_SPEC</a> = 10, 
<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efa599ff63ed46928ffb2f5edc07de3ddcc">UNITSERR_BAD_FUNCS</a> = 11, 
<br/>
&#160;&#160;<a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3efaf6fc9ca59d14a8889809c050c01154ff">UNITSERR_UNSAFE_TRANS</a> = 12
<br/>
 }</td></tr>
<tr class="separator:a864e6b966575a8c42eb333ba9f14a3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a47aa4e0a54f11d7ed5146c00906a3984"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a47aa4e0a54f11d7ed5146c00906a3984">wcsunitse</a> (const char have[], const char want[], double *scale, double *offset, double *power, struct <a class="el" href="structwcserr.html">wcserr</a> **err)</td></tr>
<tr class="memdesc:a47aa4e0a54f11d7ed5146c00906a3984"><td class="mdescLeft">&#160;</td><td class="mdescRight">FITS units specification conversion.  <a href="#a47aa4e0a54f11d7ed5146c00906a3984">More...</a><br/></td></tr>
<tr class="separator:a47aa4e0a54f11d7ed5146c00906a3984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25ba0f0129e88c6e7c74d4562cf796cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a25ba0f0129e88c6e7c74d4562cf796cd">wcsutrne</a> (int ctrl, char unitstr[], struct <a class="el" href="structwcserr.html">wcserr</a> **err)</td></tr>
<tr class="memdesc:a25ba0f0129e88c6e7c74d4562cf796cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translation of non-standard unit specifications.  <a href="#a25ba0f0129e88c6e7c74d4562cf796cd">More...</a><br/></td></tr>
<tr class="separator:a25ba0f0129e88c6e7c74d4562cf796cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c5f3165e687f60176b7f21fdb42fa1c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c">wcsulexe</a> (const char unitstr[], int *func, double *scale, double units[<a class="el" href="wcsunits_8h.html#a7daf2b3a5c7e96f2823bca916554cc4b">WCSUNITS_NTYPE</a>], struct <a class="el" href="structwcserr.html">wcserr</a> **err)</td></tr>
<tr class="memdesc:a6c5f3165e687f60176b7f21fdb42fa1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">FITS units specification parser.  <a href="#a6c5f3165e687f60176b7f21fdb42fa1c">More...</a><br/></td></tr>
<tr class="separator:a6c5f3165e687f60176b7f21fdb42fa1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef5d64e333f758458b1edaa617911513"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#aef5d64e333f758458b1edaa617911513">wcsunits</a> (const char have[], const char want[], double *scale, double *offset, double *power)</td></tr>
<tr class="separator:aef5d64e333f758458b1edaa617911513"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a560462cb2a7fa7eae6b4f325c85e7911"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a560462cb2a7fa7eae6b4f325c85e7911">wcsutrn</a> (int ctrl, char unitstr[])</td></tr>
<tr class="separator:a560462cb2a7fa7eae6b4f325c85e7911"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae4248dc69b440673a8221059e5bd0d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex</a> (const char unitstr[], int *func, double *scale, double units[<a class="el" href="wcsunits_8h.html#a7daf2b3a5c7e96f2823bca916554cc4b">WCSUNITS_NTYPE</a>])</td></tr>
<tr class="separator:aae4248dc69b440673a8221059e5bd0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a8217718f8c515151dc33ceba922b39ba"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#a8217718f8c515151dc33ceba922b39ba">wcsunits_errmsg</a> []</td></tr>
<tr class="memdesc:a8217718f8c515151dc33ceba922b39ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status return messages.  <a href="#a8217718f8c515151dc33ceba922b39ba">More...</a><br/></td></tr>
<tr class="separator:a8217718f8c515151dc33ceba922b39ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec5892437858120d456503fe38f4031b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b">wcsunits_types</a> []</td></tr>
<tr class="memdesc:aec5892437858120d456503fe38f4031b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Names of physical quantities.  <a href="#aec5892437858120d456503fe38f4031b">More...</a><br/></td></tr>
<tr class="separator:aec5892437858120d456503fe38f4031b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd49d777bc04d68cdfdd29f5b6a7252b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b">wcsunits_units</a> []</td></tr>
<tr class="memdesc:acd49d777bc04d68cdfdd29f5b6a7252b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Names of units.  <a href="#acd49d777bc04d68cdfdd29f5b6a7252b">More...</a><br/></td></tr>
<tr class="separator:acd49d777bc04d68cdfdd29f5b6a7252b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Routines in this suite deal with units specifications and conversions:</p>
<ul>
<li>
<p class="startli"><a class="el" href="wcsunits_8h.html#a47aa4e0a54f11d7ed5146c00906a3984" title="FITS units specification conversion. ">wcsunitse()</a>: given two unit specifications, derive the conversion from one to the other.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><a class="el" href="wcsunits_8h.html#a25ba0f0129e88c6e7c74d4562cf796cd" title="Translation of non-standard unit specifications. ">wcsutrne()</a>: translates certain commonly used but non-standard unit strings. It is intended to be called before <a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c" title="FITS units specification parser. ">wcsulexe()</a> which only handles standard FITS units specifications.</p>
<p class="endli"></p>
</li>
<li>
<a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c" title="FITS units specification parser. ">wcsulexe()</a>: parses a standard FITS units specification of arbitrary complexity, deriving the conversion to canonical units. </li>
</ul>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a6ef9e3ba449b38275c422e454abe3601"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_PLANE_ANGLE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for plane angle units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a69241e398126a72e5d095ed3aff156c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_SOLID_ANGLE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for solid angle units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a45b2d15aa5504b7e7e8b7b345d090f32"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_CHARGE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for charge units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a807ef7c93e34207776303badf177fa41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_MOLE&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for mole ("gram molecular weight") units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a8bb521a40223ec7358f85d719834ad7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_TEMPERATURE&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for temperature units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a0967644d30d7f98f21b6bb0e68a637c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_LUMINTEN&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for luminous intensity units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a8f84e63b1fa2003f3438e7cd21231b92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_MASS&#160;&#160;&#160;6</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for mass units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a59e3354bb9908a4841aa478f2dbd3973"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_LENGTH&#160;&#160;&#160;7</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for length units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a347b88663166b66404cbb2f8aac211bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_TIME&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for time units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a11a1284e63c7515fd0240ca8f85fc111"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_BEAM&#160;&#160;&#160;9</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for beam units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a84fdca1d2c8647a2f33a760578de62c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_BIN&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for bin units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a7332ce1c3c715011599d4b9d13e7b760"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_BIT&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for bit units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a27df51b1593f3642bfd9833e71c73a34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_COUNT&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for count units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="ace657c3f971b4ac9004a2639d142f636"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_MAGNITUDE&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for stellar magnitude units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a2cf5fc976d2663fed07f1f837245f36b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_PIXEL&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for pixel units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="ab622892a80194a6a432510665156e4fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_SOLRATIO&#160;&#160;&#160;15</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for solar mass ratio units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a946bca82ae3fb279ad3d86dbc793be07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_VOXEL&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Array index for voxel units in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<a class="anchor" id="a7daf2b3a5c7e96f2823bca916554cc4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WCSUNITS_NTYPE&#160;&#160;&#160;17</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Number of entries in the <em>units</em> array returned by <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, and the <a class="el" href="wcsunits_8h.html#aec5892437858120d456503fe38f4031b" title="Names of physical quantities. ">wcsunits_types</a>[] and <a class="el" href="wcsunits_8h.html#acd49d777bc04d68cdfdd29f5b6a7252b" title="Names of units. ">wcsunits_units</a>[] global variables. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="wcsunits_8h.html#a864e6b966575a8c42eb333ba9f14a3ef">wcsunits_errmsg_enum</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efac00b91a489f7273d2733f58201b6a723"></a>UNITSERR_SUCCESS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa4ad61420ee56456d08647b222c4aa8af"></a>UNITSERR_BAD_NUM_MULTIPLIER</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa5ceed55803deb4a34266f23cf6d47274"></a>UNITSERR_DANGLING_BINOP</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efaf7a5cd4ed90aeef7598875cb5bf57a11"></a>UNITSERR_BAD_INITIAL_SYMBOL</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa67b504a215f2d34d1be4956b1e9e55b7"></a>UNITSERR_FUNCTION_CONTEXT</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa0c9333946c5918c15c376f12e9afb086"></a>UNITSERR_BAD_EXPON_SYMBOL</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa367f21cd3b49b178d4fdadaf74f2618d"></a>UNITSERR_UNBAL_BRACKET</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa49231fa8fbeeca036424cd7df0d5a3a8"></a>UNITSERR_UNBAL_PAREN</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa5b8db327b9d6bf09e93e7e0fed910792"></a>UNITSERR_CONSEC_BINOPS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa116bc901282cf346621b9e56e4676b24"></a>UNITSERR_PARSER_ERROR</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efae9b1b29365d17b25452562f770d44975"></a>UNITSERR_BAD_UNIT_SPEC</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efa599ff63ed46928ffb2f5edc07de3ddcc"></a>UNITSERR_BAD_FUNCS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a864e6b966575a8c42eb333ba9f14a3efaf6fc9ca59d14a8889809c050c01154ff"></a>UNITSERR_UNSAFE_TRANS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a47aa4e0a54f11d7ed5146c00906a3984"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsunitse </td>
          <td>(</td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>have</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>want</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>power</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwcserr.html">wcserr</a> **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><b>wcsunitse</b>() derives the conversion from one system of units to another.</p>
<p>A deprecated form of this function, <a class="el" href="wcsunits_8h.html#aef5d64e333f758458b1edaa617911513">wcsunits()</a>, lacks the wcserr** parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">have</td><td>FITS units specification to convert from (null- terminated), with or without surrounding square brackets (for inline specifications); text following the closing bracket is ignored. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">want</td><td>FITS units specification to convert to (null- terminated), with or without surrounding square brackets (for inline specifications); text following the closing bracket is ignored.</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">scale,offset,power</td><td>Convert units using <div class="fragment"><div class="line">pow(scale*value + offset, power);</div>
</div><!-- fragment --> <br/>
 Normally <em>offset</em> is zero except for log() or ln() conversions, e.g. "log(MHz)" to "ln(Hz)". Likewise, <em>power</em> is normally unity except for exp() conversions, e.g. "exp(ms)" to "exp(/Hz)". Thus conversions ordinarily consist of <div class="fragment"><div class="line">value *= scale;</div>
</div><!-- fragment --> </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">err</td><td>If enabled, for function return values &gt; 1, this struct will contain a detailed error message, see <a class="el" href="wcserr_8h.html#a1691b8bd184d40ca6fda255be078fa53" title="Enable/disable error messaging. ">wcserr_enable()</a>. May be NULL if an error message is not desired. Otherwise, the user is responsible for deleting the memory allocated for the wcserr struct.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status return value:<ul>
<li>0: Success.</li>
<li>1-9: Status return from <a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c" title="FITS units specification parser. ">wcsulexe()</a>.</li>
<li>10: Non-conformant unit specifications.</li>
<li>11: Non-conformant functions.</li>
</ul>
scale is zeroed on return if an error occurs. </dd></dl>

</div>
</div>
<a class="anchor" id="a25ba0f0129e88c6e7c74d4562cf796cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsutrne </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ctrl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>unitstr</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwcserr.html">wcserr</a> **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><b>wcsutrne</b>() translates certain commonly used but non-standard unit strings, e.g. "DEG", "MHZ", "KELVIN", that are not recognized by <a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c" title="FITS units specification parser. ">wcsulexe()</a>, refer to the notes below for a full list. Compounds are also recognized, e.g. "JY/BEAM" and "KM/SEC/SEC". Extraneous embedded blanks are removed.</p>
<p>A deprecated form of this function, <a class="el" href="wcsunits_8h.html#a560462cb2a7fa7eae6b4f325c85e7911">wcsutrn()</a>, lacks the wcserr** parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctrl</td><td>Although "S" is commonly used to represent seconds, its translation to "s" is potentially unsafe since the standard recognizes "S" formally as Siemens, however rarely that may be used. The same applies to "H" for hours (Henry), and "D" for days (Debye). This bit-flag controls what to do in such cases:<ul>
<li>1: Translate "S" to "s".</li>
<li>2: Translate "H" to "h".</li>
<li>4: Translate "D" to "d".</li>
</ul>
Thus ctrl == 0 doesn't do any unsafe translations, whereas ctrl == 7 does all of them.</td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">unitstr</td><td>Null-terminated character array containing the units specification to be translated. <br/>
 Inline units specifications in the a FITS header keycomment are also handled. If the first non-blank character in unitstr is '[' then the unit string is delimited by its matching ']'. Blanks preceding '[' will be stripped off, but text following the closing bracket will be preserved without modification. </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">err</td><td>If enabled, for function return values &gt; 1, this struct will contain a detailed error message, see <a class="el" href="wcserr_8h.html#a1691b8bd184d40ca6fda255be078fa53" title="Enable/disable error messaging. ">wcserr_enable()</a>. May be NULL if an error message is not desired. Otherwise, the user is responsible for deleting the memory allocated for the wcserr struct.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status return value:<ul>
<li>-1: No change was made, other than stripping blanks (not an error).</li>
<li>0: Success.</li>
<li>9: Internal parser error.</li>
<li>12: Potentially unsafe translation, whether applied or not (see notes).</li>
</ul>
</dd></dl>
<p><b>Notes:</b> <br/>
 Translation of non-standard unit specifications: apart from leading and trailing blanks, a case-sensitive match is required for the aliases listed below, in particular the only recognized aliases with metric prefixes are "KM", "KHZ", "MHZ", and "GHZ". Potentially unsafe translations of "D", "H", and "S", shown in parentheses, are optional. </p>
<div class="fragment"><div class="line">Unit       Recognized aliases</div>
<div class="line">----       -------------------------------------------------------------</div>
<div class="line">Angstrom   angstrom</div>
<div class="line">arcmin     arcmins, ARCMIN, ARCMINS</div>
<div class="line">arcsec     arcsecs, ARCSEC, ARCSECS</div>
<div class="line">beam       BEAM</div>
<div class="line">byte       Byte</div>
<div class="line">d          day, days, (D), DAY, DAYS</div>
<div class="line">deg        degree, degrees, DEG, DEGREE, DEGREES</div>
<div class="line">GHz        GHZ</div>
<div class="line">h          hr, (H), HR</div>
<div class="line">Hz         hz, HZ</div>
<div class="line">kHz        KHZ</div>
<div class="line">Jy         JY</div>
<div class="line">K          kelvin, kelvins, Kelvin, Kelvins, KELVIN, KELVINS</div>
<div class="line">km         KM</div>
<div class="line"><a class="code" href="structprjprm.html#afb805c40a4d37c195074c1305874d615">m</a>          metre, meter, metres, meters, M, METRE, METER, METRES, METERS</div>
<div class="line">min        MIN</div>
<div class="line">MHz        MHZ</div>
<div class="line">Ohm        ohm</div>
<div class="line">Pa         pascal, pascals, Pascal, Pascals, PASCAL, PASCALS</div>
<div class="line">pixel      pixels, PIXEL, PIXELS</div>
<div class="line">rad        radian, radians, RAD, RADIAN, RADIANS</div>
<div class="line">s          sec, second, seconds, (S), SEC, SECOND, SECONDS</div>
<div class="line">V          volt, volts, Volt, Volts, VOLT, VOLTS</div>
<div class="line">yr         year, years, YR, YEAR, YEARS</div>
</div><!-- fragment --><p>The aliases "angstrom", "ohm", and "Byte" for (Angstrom, Ohm, and byte) are recognized by <a class="el" href="wcsunits_8h.html#a6c5f3165e687f60176b7f21fdb42fa1c" title="FITS units specification parser. ">wcsulexe()</a> itself as an unofficial extension of the standard, but they are converted to the standard form here. </p>

</div>
</div>
<a class="anchor" id="a6c5f3165e687f60176b7f21fdb42fa1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsulexe </td>
          <td>(</td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>unitstr</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>units</em>[WCSUNITS_NTYPE], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwcserr.html">wcserr</a> **&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><b>wcsulexe</b>() parses a standard FITS units specification of arbitrary complexity, deriving the scale factor required to convert to canonical units - basically SI with degrees and "dimensionless" additions such as byte, pixel and count.</p>
<p>A deprecated form of this function, <a class="el" href="wcsunits_8h.html#aae4248dc69b440673a8221059e5bd0d4">wcsulex()</a>, lacks the wcserr** parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">unitstr</td><td>Null-terminated character array containing the units specification, with or without surrounding square brackets (for inline specifications); text following the closing bracket is ignored.</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">func</td><td>Special function type, see note 4:<ul>
<li>0: None</li>
<li>1: log() ...base 10</li>
<li>2: ln() ...base e</li>
<li>3: exp() </li>
</ul>
</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">scale</td><td>Scale factor for the unit specification; multiply a value expressed in the given units by this factor to convert it to canonical units. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">units</td><td>A units specification is decomposed into powers of 16 fundamental unit types: angle, mass, length, time, count, pixel, etc. Preprocessor macro WCSUNITS_NTYPE is defined to dimension this vector, and others such WCSUNITS_PLANE_ANGLE, WCSUNITS_LENGTH, etc. to access its elements. <br/>
 Corresponding character strings, wcsunits_types[] and wcsunits_units[], are predefined to describe each quantity and its canonical units. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">err</td><td>If enabled, for function return values &gt; 1, this struct will contain a detailed error message, see <a class="el" href="wcserr_8h.html#a1691b8bd184d40ca6fda255be078fa53" title="Enable/disable error messaging. ">wcserr_enable()</a>. May be NULL if an error message is not desired. Otherwise, the user is responsible for deleting the memory allocated for the wcserr struct.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status return value:<ul>
<li>0: Success.</li>
<li>1: Invalid numeric multiplier.</li>
<li>2: Dangling binary operator.</li>
<li>3: Invalid symbol in INITIAL context.</li>
<li>4: Function in invalid context.</li>
<li>5: Invalid symbol in EXPON context.</li>
<li>6: Unbalanced bracket.</li>
<li>7: Unbalanced parenthesis.</li>
<li>8: Consecutive binary operators.</li>
<li>9: Internal parser error.</li>
</ul>
scale and units[] are zeroed on return if an error occurs.</dd></dl>
<p><b>Notes:</b> <br/>
 </p>
<ol>
<li>
<p class="startli"><b>wcsulexe</b>() is permissive in accepting whitespace in all contexts in a units specification where it does not create ambiguity (e.g. not between a metric prefix and a basic unit string), including in strings like "log (m ** 2)" which is formally disallowed.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Supported extensions: </p>
<ul>
<li>
"angstrom" (OGIP usage) is allowed in addition to "Angstrom". </li>
<li>
"ohm" (OGIP usage) is allowed in addition to "Ohm". </li>
<li>
"Byte" (common usage) is allowed in addition to "byte". </li>
</ul>
<p class="endli"></p>
</li>
<li>
<p class="startli">Table 6 of WCS Paper I lists eleven units for which metric prefixes are allowed. However, in this implementation only prefixes greater than unity are allowed for "a" (annum), "yr" (year), "pc" (parsec), "bit", and "byte", and only prefixes less than unity are allowed for "mag" (stellar magnitude).</p>
<p>Metric prefix "P" (peta) is specifically forbidden for "a" (annum) to avoid confusion with "Pa" (Pascal, not peta-annum). Note that metric prefixes are specifically disallowed for "h" (hour) and "d" (day) so that "ph" (photons) cannot be interpreted as pico-hours, nor "cd" (candela) as centi-days.</p>
<p class="endli"></p>
</li>
<li>
Function types log(), ln() and exp() may only occur at the start of the units specification. The scale and units[] returned for these refers to the string inside the function "argument", e.g. to "MHz" in log(MHz) for which a scale of <img class="formulaInl" alt="$10^6$" src="form_74.png"/> will be returned. </li>
</ol>

</div>
</div>
<a class="anchor" id="aef5d64e333f758458b1edaa617911513"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsunits </td>
          <td>(</td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>have</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>want</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>power</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a560462cb2a7fa7eae6b4f325c85e7911"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsutrn </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ctrl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>unitstr</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aae4248dc69b440673a8221059e5bd0d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wcsulex </td>
          <td>(</td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>unitstr</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>units</em>[WCSUNITS_NTYPE]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a8217718f8c515151dc33ceba922b39ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * wcsunits_errmsg[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Error messages to match the status value returned from each function. </p>

</div>
</div>
<a class="anchor" id="aec5892437858120d456503fe38f4031b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * wcsunits_types[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Names for physical quantities to match the units vector returned by <b>wcsulexe</b>():</p>
<ul>
<li>0: plane angle</li>
<li>1: solid angle</li>
<li>2: charge</li>
<li>3: mole</li>
<li>4: temperature</li>
<li>5: luminous intensity</li>
<li>6: mass</li>
<li>7: length</li>
<li>8: time</li>
<li>9: beam</li>
<li>10: bin</li>
<li>11: bit</li>
<li>12: count</li>
<li>13: stellar magnitude</li>
<li>14: pixel</li>
<li>15: solar ratio</li>
<li>16: voxel </li>
</ul>

</div>
</div>
<a class="anchor" id="acd49d777bc04d68cdfdd29f5b6a7252b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * wcsunits_units[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Names for the units (SI) to match the units vector returned by <b>wcsulexe</b>():</p>
<ul>
<li>0: degree</li>
<li>1: steradian</li>
<li>2: Coulomb</li>
<li>3: mole</li>
<li>4: Kelvin</li>
<li>5: candela</li>
<li>6: kilogram</li>
<li>7: metre</li>
<li>8: second</li>
</ul>
<p>The remainder are dimensionless. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Jul 13 2013 20:00:27 for WCSLIB 4.18 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>