Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e298f56e76db1647ca7a42e780f01f55 > files > 25

matio-devel-1.3.4-2.fc15.i686.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"/>
<title>LIBMATIO API: Matlab MAT File I/O Library</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LIBMATIO API&#160;<span id="projectnumber">1.3.4</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>Matlab MAT File I/O Library</h1>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structComplexSplit.html">ComplexSplit</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Complex data type using split storage.  <a href="structComplexSplit.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmat__t.html">mat_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matlab MAT File information.  <a href="structmat__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmatvar__t.html">matvar_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matlab variable information.  <a href="structmatvar__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsparse__t.html">sparse_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">sparse data information  <a href="structsparse__t.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="inflate_8c.html">inflate.c</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Functions to inflate data/tags. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io_8c.html">io.c</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mat_8c.html">mat.c</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mat4_8c.html">mat4.c</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mat5_8c.html">mat5.c</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matio_8h.html">matio.h</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="read__data_8c.html">read_data.c</a></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmat__t.html">mat_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaacf26e25f814ce98266cf3e5a04f6d4b">mat_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matlab MAT File information.  <a href="#gaacf26e25f814ce98266cf3e5a04f6d4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmatvar__t.html">matvar_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga24775c96a2a6d073581639c780b7896c">matvar_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matlab variable information.  <a href="#ga24775c96a2a6d073581639c780b7896c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structsparse__t.html">sparse_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga3ce6ed53a1909e27e92f3eaffc2f92ed">sparse_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">sparse data information  <a href="#ga3ce6ed53a1909e27e92f3eaffc2f92ed"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__MAT.html#gga06fc87d81c62e9abb8790b6e5713c55ba8938378c70879fe916177141cce0417e">BY_NAME</a> =  1, 
<a class="el" href="group__MAT.html#gga06fc87d81c62e9abb8790b6e5713c55ba5f4d5606de1ec27f80f4a50186909005">BY_INDEX</a> =  2
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaa9dcbc70f538af79bd557593ff6b5cdb">mat_acc</a> { <a class="el" href="group__MAT.html#ggaa9dcbc70f538af79bd557593ff6b5cdba8dd1457651b27ba9bea6cfba158c037c">MAT_ACC_RDONLY</a> =  1, 
<a class="el" href="group__MAT.html#ggaa9dcbc70f538af79bd557593ff6b5cdba0f65f27ea42fde32d62b702b82329c1f">MAT_ACC_RDWR</a> =  2
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>MAT file access types. </p>
 <a href="group__MAT.html#gaa9dcbc70f538af79bd557593ff6b5cdb">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gad03442b8378999189d510e3745c702b7">mat_ft</a> { <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a31ade1f6989411dc0299007e2c7d33b2">MAT_FT_MAT5</a> =  1, 
<a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a> =  1 &lt;&lt; 16
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>MAT file versions. </p>
 <a href="group__MAT.html#gad03442b8378999189d510e3745c702b7">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gad4d60ae7b709fc81bfd744fb4c857c40">matio_classes</a> { <br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08">MAT_C_CELL</a> =  1, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a> =  2, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40afe45104b68b044c83a2f99e349fa1ea6">MAT_C_OBJECT</a> =  3, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c">MAT_C_CHAR</a> =  4, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a0d5655b7e6178a2242cb3bb56ff4c8d2">MAT_C_SPARSE</a> =  5, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307">MAT_C_DOUBLE</a> =  6, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2">MAT_C_SINGLE</a> =  7, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5">MAT_C_INT8</a> =  8, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3">MAT_C_UINT8</a> =  9, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006">MAT_C_INT16</a> =  10, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7">MAT_C_UINT16</a> =  11, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8">MAT_C_INT32</a> =  12, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816">MAT_C_UINT32</a> =  13, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409">MAT_C_INT64</a> =  14, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd">MAT_C_UINT64</a> =  15, 
<a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40aaa9bf08312779cd1ab8e504a162ddcea">MAT_C_FUNCTION</a> =  16
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Matlab variable classes. </p>
 <a href="group__MAT.html#gad4d60ae7b709fc81bfd744fb4c857c40">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga768c318af97bd2567758ecb001ceb7f4">matio_compression</a> { <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5">COMPRESSION_NONE</a> =  0, 
<a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86">COMPRESSION_ZLIB</a> =  1
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Matlab compression options. </p>
 <a href="group__MAT.html#ga768c318af97bd2567758ecb001ceb7f4">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gab9d6ef9e3ddca78a317b173f01d53fbb">matio_flags</a> { <a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbbacd7b091a11184aad7fc6078c04470780">MAT_F_COMPLEX</a> =  0x0800, 
<a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbba49084e0c796aa7963e53f7539525d40d">MAT_F_GLOBAL</a> =  0x0400, 
<a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbba57eb5c6e200bcbc0f1b7982f29a169c2">MAT_F_LOGICAL</a> =  0x0200, 
<a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbba3a88beaec448e0485ffe21b18a540c1d">MAT_F_CLASS_T</a> =  0x00ff
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Matlab array flags. </p>
 <a href="group__MAT.html#gab9d6ef9e3ddca78a317b173f01d53fbb">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gacf7b3b879282b7ab3a51190e49bf3453">matio_types</a> { <br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a2a7318fe8bf9464935e7ed8902618293">MAT_T_UNKNOWN</a> =  0, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9807f5033ed4f9b548953742d9fd1658">MAT_T_INT8</a> =  1, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a01c1bd7db68f90552862eb5d311be408">MAT_T_UINT8</a> =  2, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a8c5b2e381946e95ea8d81ac216743302">MAT_T_INT16</a> =  3, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a05bc7af7680aa68be95126ae0a4c2e31">MAT_T_UINT16</a> =  4, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a83e06a68320726c6572bfbb9f3addb1d">MAT_T_INT32</a> =  5, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453aa397e285a23fe240368b752897652c6a">MAT_T_UINT32</a> =  6, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a3a3657d40e9212c923d9b9d03531b64c">MAT_T_SINGLE</a> =  7, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a31e721ecf7e188196f83c32838288797">MAT_T_DOUBLE</a> =  9, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9e825b5d18b8f946eaf2b4b57e51c145">MAT_T_INT64</a> =  12, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a45547932c46be27118abe08302d7e29f">MAT_T_UINT64</a> =  13, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a32985fee89a4df8db4b3f5d3a48823d3">MAT_T_MATRIX</a> =  14, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a30437f2eb3becc2fa6e5d96599d7f724">MAT_T_COMPRESSED</a> =  15, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453ac34ad81f5cbd3b7d0d95e57e5be0149b">MAT_T_UTF8</a> =  16, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a87ffc0412143c326a1fcc759d5d81bdc">MAT_T_UTF16</a> =  17, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a11e43c0e0be79b1983090e02ae583109">MAT_T_UTF32</a> =  18, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9456a83c0b22022af42461a09d63cdb2">MAT_T_STRING</a> =  20, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a07599cf2cca6d2b2d059378563318ba5">MAT_T_CELL</a> =  21, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a4f4d5a6e1d42c6aa81ffb810e5da5c85">MAT_T_STRUCT</a> =  22, 
<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453acf106b0c23021582375f59bc9fce89b1">MAT_T_ARRAY</a> =  23, 
<br/>
&#160;&#160;<a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453ae76686f267dd1641cd55dce306af6d10">MAT_T_FUNCTION</a> =  24
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Matlab data types. </p>
 <a href="group__MAT.html#gacf7b3b879282b7ab3a51190e49bf3453">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga9b8d09f631538b14ca29792e0334e349">Mat_CalcSingleSubscript</a> (int rank, int *dims, int *subs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a single subscript from a set of subscript values.  <a href="#ga9b8d09f631538b14ca29792e0334e349"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gabe2571a4b9b6cff3b31aa6f152deba61">Mat_CalcSubscripts</a> (int rank, int *dims, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a set of subscript values from a single(linear) subscript.  <a href="#gabe2571a4b9b6cff3b31aa6f152deba61"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga101c92ff7bde4a2d4615661beba09262">Mat_Close</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes an open Matlab MAT file.  <a href="#ga101c92ff7bde4a2d4615661beba09262"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gab725f16422e61906d20e14bc3d36790f">Mat_Create</a> (const char *matname, const char *hdr_str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new Matlab MAT file.  <a href="#gab725f16422e61906d20e14bc3d36790f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gafbfedb5636a99f0ef867520c47f77d18">Mat_Open</a> (const char *matname, int mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens an existing Matlab MAT file.  <a href="#gafbfedb5636a99f0ef867520c47f77d18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga4d6e3892d2e216c507a744ba0e070d0b">Mat_Rewind</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rewinds a Matlab MAT file to the first variable.  <a href="#ga4d6e3892d2e216c507a744ba0e070d0b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga2bf682f015b22fa796a8885e997661e7">Mat_SizeOfClass</a> (int class_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of a Matlab Class.  <a href="#ga2bf682f015b22fa796a8885e997661e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga9f8ab8a7e4206c16cb20437acc6960d2">Mat_VarAddStructField</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, <a class="el" href="structmatvar__t.html">matvar_t</a> **fields)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a field to a structure.  <a href="#ga9f8ab8a7e4206c16cb20437acc6960d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gae7c9c3699f6e9c31a9c490300013098c">Mat_VarCalloc</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory for a new <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> and initializes all the fields.  <a href="#gae7c9c3699f6e9c31a9c490300013098c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8">Mat_VarCreate</a> (const char *name, int class_type, int data_type, int rank, int *dims, void *data, int opt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a MAT Variable with the given name and (optionally) data.  <a href="#ga4b9b5a76260af51cde99e6729dfeb7d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, char *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a variable from a file.  <a href="#ga9446d159d3ecd22a28b54e300f8cc71f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga7ef80c5d99d7918b2b09db3bea106ecc">Mat_VarDuplicate</a> (const <a class="el" href="structmatvar__t.html">matvar_t</a> *in, int opt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates a <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure.  <a href="#ga7ef80c5d99d7918b2b09db3bea106ecc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all the allocated memory associated with the structure.  <a href="#ga1d14716f7450530fd1c9d02413787f0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gac1e15063439c0bd3eb0c986514c742dc">Mat_VarGetCell</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the Cell array at a specific index.  <a href="#gac1e15063439c0bd3eb0c986514c742dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga0732b0a6c40975b036068b9a14422d45">Mat_VarGetCells</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int *start, int *stride, int *edge)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indexes a cell array.  <a href="#ga0732b0a6c40975b036068b9a14422d45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga004987d665654409f74eaf8e82bb1380">Mat_VarGetCellsLinear</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int start, int stride, int edge)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indexes a cell array.  <a href="#ga004987d665654409f74eaf8e82bb1380"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga56b9a545990a0f253164018e37111741">Mat_VarGetNumberOfFields</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of fields in a structure variable.  <a href="#ga56b9a545990a0f253164018e37111741"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaeeb798fead2f765bddfb19016c7fdbcc">Mat_VarGetSize</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the size of a matlab variable in bytes.  <a href="#gaeeb798fead2f765bddfb19016c7fdbcc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga7018bfe6934b96ae32e8f2a1712eefab">Mat_VarGetStructField</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, void *name_or_index, int opt, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a field of a structure.  <a href="#ga7018bfe6934b96ae32e8f2a1712eefab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga509178d7dc15faf9f7cd0440df6009b9">Mat_VarGetStructs</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int *start, int *stride, int *edge, int copy_fields)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indexes a structure.  <a href="#ga509178d7dc15faf9f7cd0440df6009b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaa56680fb7b2cd3d410f659e945da8141">Mat_VarGetStructsLinear</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int start, int stride, int edge, int copy_fields)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indexes a structure.  <a href="#gaa56680fb7b2cd3d410f659e945da8141"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga9100c145e338b84b55d5d0795d5d390a">Mat_VarPrint</a> (<a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int printdata)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the variable information.  <a href="#ga9100c145e338b84b55d5d0795d5d390a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga21aeb21db041d0174fb928d3f383f276">Mat_VarRead</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, char *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the variable with the given name from a MAT file.  <a href="#ga21aeb21db041d0174fb928d3f383f276"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga1845000f4fc6252ec5ff11c4b9f0759f">Mat_VarReadData</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, void *data, int *start, int *stride, int *edge)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads MAT variable data from a file.  <a href="#ga1845000f4fc6252ec5ff11c4b9f0759f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaa8060d7c8e5da0aa9ee5f96e5f1eb30a">Mat_VarReadDataAll</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads all the data for a matlab variable.  <a href="#gaa8060d7c8e5da0aa9ee5f96e5f1eb30a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#gaad61c8449a2106afa697280ff0ee9dd8">Mat_VarReadDataLinear</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, void *data, int start, int stride, int edge)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads MAT variable data from a file.  <a href="#gaad61c8449a2106afa697280ff0ee9dd8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga4c8205ff25c5b688a40775fbb1840b7e">Mat_VarReadInfo</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, char *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the information of a variable with the given name from a MAT file.  <a href="#ga4c8205ff25c5b688a40775fbb1840b7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga7c321d6aafd93916ba6c5655ad78e9ca">Mat_VarReadNext</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the next variable in a MAT file.  <a href="#ga7c321d6aafd93916ba6c5655ad78e9ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga72dd99330507b17177e22f9ed3bea5e6">Mat_VarReadNextInfo</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the information of the next variable in a MAT file.  <a href="#ga72dd99330507b17177e22f9ed3bea5e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga77c5ad24d45047830046fe3ed25da8ad">Mat_VarWrite</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, int compress)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the given MAT variable to a MAT file.  <a href="#ga77c5ad24d45047830046fe3ed25da8ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga43179b930fb30c025a153a55a083a98a">Mat_VarWriteData</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar, void *data, int *start, int *stride, int *edge)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the given data to the MAT variable.  <a href="#ga43179b930fb30c025a153a55a083a98a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MAT.html#ga1ae164415dfd98cdf48ad07033b6e0bb">Mat_VarWriteInfo</a> (<a class="el" href="structmat__t.html">mat_t</a> *mat, <a class="el" href="structmatvar__t.html">matvar_t</a> *matvar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the given MAT variable to a MAT file.  <a href="#ga1ae164415dfd98cdf48ad07033b6e0bb"></a><br/></td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gaacf26e25f814ce98266cf3e5a04f6d4b"></a><!-- doxytag: member="matio.h::mat_t" ref="gaacf26e25f814ce98266cf3e5a04f6d4b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmat__t.html">mat_t</a>  <a class="el" href="structmat__t.html">mat_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Contains information about a Matlab MAT file </p>

</div>
</div>
<a class="anchor" id="ga24775c96a2a6d073581639c780b7896c"></a><!-- doxytag: member="matio.h::matvar_t" ref="ga24775c96a2a6d073581639c780b7896c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmatvar__t.html">matvar_t</a>  <a class="el" href="structmatvar__t.html">matvar_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Contains information about a Matlab variable </p>

</div>
</div>
<a class="anchor" id="ga3ce6ed53a1909e27e92f3eaffc2f92ed"></a><!-- doxytag: member="matio.h::sparse_t" ref="ga3ce6ed53a1909e27e92f3eaffc2f92ed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structsparse__t.html">sparse_t</a>  <a class="el" href="structsparse__t.html">sparse_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Contains information and data for a sparse matrix </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="matio.h::@0" ref="ga06fc87d81c62e9abb8790b6e5713c55b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>matio lookup type </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8938378c70879fe916177141cce0417e"></a><!-- doxytag: member="BY_NAME" ref="gga06fc87d81c62e9abb8790b6e5713c55ba8938378c70879fe916177141cce0417e" args="" -->BY_NAME</em>&nbsp;</td><td>
<p>Lookup by name </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5f4d5606de1ec27f80f4a50186909005"></a><!-- doxytag: member="BY_INDEX" ref="gga06fc87d81c62e9abb8790b6e5713c55ba5f4d5606de1ec27f80f4a50186909005" args="" -->BY_INDEX</em>&nbsp;</td><td>
<p>Lookup by index </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa9dcbc70f538af79bd557593ff6b5cdb"></a><!-- doxytag: member="matio.h::mat_acc" ref="gaa9dcbc70f538af79bd557593ff6b5cdb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#gaa9dcbc70f538af79bd557593ff6b5cdb">mat_acc</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MAT file access types </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggaa9dcbc70f538af79bd557593ff6b5cdba8dd1457651b27ba9bea6cfba158c037c"></a><!-- doxytag: member="MAT_ACC_RDONLY" ref="ggaa9dcbc70f538af79bd557593ff6b5cdba8dd1457651b27ba9bea6cfba158c037c" args="" -->MAT_ACC_RDONLY</em>&nbsp;</td><td>
<p>Read only file access. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaa9dcbc70f538af79bd557593ff6b5cdba0f65f27ea42fde32d62b702b82329c1f"></a><!-- doxytag: member="MAT_ACC_RDWR" ref="ggaa9dcbc70f538af79bd557593ff6b5cdba0f65f27ea42fde32d62b702b82329c1f" args="" -->MAT_ACC_RDWR</em>&nbsp;</td><td>
<p>Read/Write file access. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="gad03442b8378999189d510e3745c702b7"></a><!-- doxytag: member="matio.h::mat_ft" ref="gad03442b8378999189d510e3745c702b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#gad03442b8378999189d510e3745c702b7">mat_ft</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MAT file versions </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggad03442b8378999189d510e3745c702b7a31ade1f6989411dc0299007e2c7d33b2"></a><!-- doxytag: member="MAT_FT_MAT5" ref="ggad03442b8378999189d510e3745c702b7a31ade1f6989411dc0299007e2c7d33b2" args="" -->MAT_FT_MAT5</em>&nbsp;</td><td>
<p>Matlab level-5 file. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3"></a><!-- doxytag: member="MAT_FT_MAT4" ref="ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3" args="" -->MAT_FT_MAT4</em>&nbsp;</td><td>
<p>Version 4 file. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="gad4d60ae7b709fc81bfd744fb4c857c40"></a><!-- doxytag: member="matio.h::matio_classes" ref="gad4d60ae7b709fc81bfd744fb4c857c40" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#gad4d60ae7b709fc81bfd744fb4c857c40">matio_classes</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Matlab variable classes </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08"></a><!-- doxytag: member="MAT_C_CELL" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08" args="" -->MAT_C_CELL</em>&nbsp;</td><td>
<p>Matlab cell array class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521"></a><!-- doxytag: member="MAT_C_STRUCT" ref="ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521" args="" -->MAT_C_STRUCT</em>&nbsp;</td><td>
<p>Matlab structure class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40afe45104b68b044c83a2f99e349fa1ea6"></a><!-- doxytag: member="MAT_C_OBJECT" ref="ggad4d60ae7b709fc81bfd744fb4c857c40afe45104b68b044c83a2f99e349fa1ea6" args="" -->MAT_C_OBJECT</em>&nbsp;</td><td>
<p>Matlab object class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c"></a><!-- doxytag: member="MAT_C_CHAR" ref="ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c" args="" -->MAT_C_CHAR</em>&nbsp;</td><td>
<p>Matlab character array class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a0d5655b7e6178a2242cb3bb56ff4c8d2"></a><!-- doxytag: member="MAT_C_SPARSE" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a0d5655b7e6178a2242cb3bb56ff4c8d2" args="" -->MAT_C_SPARSE</em>&nbsp;</td><td>
<p>Matlab sparse array class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307"></a><!-- doxytag: member="MAT_C_DOUBLE" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307" args="" -->MAT_C_DOUBLE</em>&nbsp;</td><td>
<p>Matlab double-precision class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2"></a><!-- doxytag: member="MAT_C_SINGLE" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2" args="" -->MAT_C_SINGLE</em>&nbsp;</td><td>
<p>Matlab single-precision class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5"></a><!-- doxytag: member="MAT_C_INT8" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5" args="" -->MAT_C_INT8</em>&nbsp;</td><td>
<p>Matlab signed 8-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3"></a><!-- doxytag: member="MAT_C_UINT8" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3" args="" -->MAT_C_UINT8</em>&nbsp;</td><td>
<p>Matlab unsigned 8-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006"></a><!-- doxytag: member="MAT_C_INT16" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006" args="" -->MAT_C_INT16</em>&nbsp;</td><td>
<p>Matlab signed 16-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7"></a><!-- doxytag: member="MAT_C_UINT16" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7" args="" -->MAT_C_UINT16</em>&nbsp;</td><td>
<p>Matlab unsigned 16-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8"></a><!-- doxytag: member="MAT_C_INT32" ref="ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8" args="" -->MAT_C_INT32</em>&nbsp;</td><td>
<p>Matlab signed 32-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816"></a><!-- doxytag: member="MAT_C_UINT32" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816" args="" -->MAT_C_UINT32</em>&nbsp;</td><td>
<p>Matlab unsigned 32-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409"></a><!-- doxytag: member="MAT_C_INT64" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409" args="" -->MAT_C_INT64</em>&nbsp;</td><td>
<p>Matlab unsigned 32-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd"></a><!-- doxytag: member="MAT_C_UINT64" ref="ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd" args="" -->MAT_C_UINT64</em>&nbsp;</td><td>
<p>Matlab unsigned 32-bit integer class. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad4d60ae7b709fc81bfd744fb4c857c40aaa9bf08312779cd1ab8e504a162ddcea"></a><!-- doxytag: member="MAT_C_FUNCTION" ref="ggad4d60ae7b709fc81bfd744fb4c857c40aaa9bf08312779cd1ab8e504a162ddcea" args="" -->MAT_C_FUNCTION</em>&nbsp;</td><td>
<p>Matlab unsigned 32-bit integer class. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ga768c318af97bd2567758ecb001ceb7f4"></a><!-- doxytag: member="matio.h::matio_compression" ref="ga768c318af97bd2567758ecb001ceb7f4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#ga768c318af97bd2567758ecb001ceb7f4">matio_compression</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Matlab compression options </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5"></a><!-- doxytag: member="COMPRESSION_NONE" ref="gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5" args="" -->COMPRESSION_NONE</em>&nbsp;</td><td>
<p>No compression. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86"></a><!-- doxytag: member="COMPRESSION_ZLIB" ref="gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86" args="" -->COMPRESSION_ZLIB</em>&nbsp;</td><td>
<p>zlib compression </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="gab9d6ef9e3ddca78a317b173f01d53fbb"></a><!-- doxytag: member="matio.h::matio_flags" ref="gab9d6ef9e3ddca78a317b173f01d53fbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#gab9d6ef9e3ddca78a317b173f01d53fbb">matio_flags</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Matlab array flags </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggab9d6ef9e3ddca78a317b173f01d53fbbacd7b091a11184aad7fc6078c04470780"></a><!-- doxytag: member="MAT_F_COMPLEX" ref="ggab9d6ef9e3ddca78a317b173f01d53fbbacd7b091a11184aad7fc6078c04470780" args="" -->MAT_F_COMPLEX</em>&nbsp;</td><td>
<p>Complex bit flag. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab9d6ef9e3ddca78a317b173f01d53fbba49084e0c796aa7963e53f7539525d40d"></a><!-- doxytag: member="MAT_F_GLOBAL" ref="ggab9d6ef9e3ddca78a317b173f01d53fbba49084e0c796aa7963e53f7539525d40d" args="" -->MAT_F_GLOBAL</em>&nbsp;</td><td>
<p>Global bit flag. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab9d6ef9e3ddca78a317b173f01d53fbba57eb5c6e200bcbc0f1b7982f29a169c2"></a><!-- doxytag: member="MAT_F_LOGICAL" ref="ggab9d6ef9e3ddca78a317b173f01d53fbba57eb5c6e200bcbc0f1b7982f29a169c2" args="" -->MAT_F_LOGICAL</em>&nbsp;</td><td>
<p>Logical bit flag. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab9d6ef9e3ddca78a317b173f01d53fbba3a88beaec448e0485ffe21b18a540c1d"></a><!-- doxytag: member="MAT_F_CLASS_T" ref="ggab9d6ef9e3ddca78a317b173f01d53fbba3a88beaec448e0485ffe21b18a540c1d" args="" -->MAT_F_CLASS_T</em>&nbsp;</td><td>
<p>Class-Type bits flag. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="gacf7b3b879282b7ab3a51190e49bf3453"></a><!-- doxytag: member="matio.h::matio_types" ref="gacf7b3b879282b7ab3a51190e49bf3453" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__MAT.html#gacf7b3b879282b7ab3a51190e49bf3453">matio_types</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Matlab data types </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a2a7318fe8bf9464935e7ed8902618293"></a><!-- doxytag: member="MAT_T_UNKNOWN" ref="ggacf7b3b879282b7ab3a51190e49bf3453a2a7318fe8bf9464935e7ed8902618293" args="" -->MAT_T_UNKNOWN</em>&nbsp;</td><td>
<p>UNKOWN data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a9807f5033ed4f9b548953742d9fd1658"></a><!-- doxytag: member="MAT_T_INT8" ref="ggacf7b3b879282b7ab3a51190e49bf3453a9807f5033ed4f9b548953742d9fd1658" args="" -->MAT_T_INT8</em>&nbsp;</td><td>
<p>8-bit signed integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a01c1bd7db68f90552862eb5d311be408"></a><!-- doxytag: member="MAT_T_UINT8" ref="ggacf7b3b879282b7ab3a51190e49bf3453a01c1bd7db68f90552862eb5d311be408" args="" -->MAT_T_UINT8</em>&nbsp;</td><td>
<p>8-bit unsigned integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a8c5b2e381946e95ea8d81ac216743302"></a><!-- doxytag: member="MAT_T_INT16" ref="ggacf7b3b879282b7ab3a51190e49bf3453a8c5b2e381946e95ea8d81ac216743302" args="" -->MAT_T_INT16</em>&nbsp;</td><td>
<p>16-bit signed integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a05bc7af7680aa68be95126ae0a4c2e31"></a><!-- doxytag: member="MAT_T_UINT16" ref="ggacf7b3b879282b7ab3a51190e49bf3453a05bc7af7680aa68be95126ae0a4c2e31" args="" -->MAT_T_UINT16</em>&nbsp;</td><td>
<p>16-bit unsigned integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a83e06a68320726c6572bfbb9f3addb1d"></a><!-- doxytag: member="MAT_T_INT32" ref="ggacf7b3b879282b7ab3a51190e49bf3453a83e06a68320726c6572bfbb9f3addb1d" args="" -->MAT_T_INT32</em>&nbsp;</td><td>
<p>32-bit signed integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453aa397e285a23fe240368b752897652c6a"></a><!-- doxytag: member="MAT_T_UINT32" ref="ggacf7b3b879282b7ab3a51190e49bf3453aa397e285a23fe240368b752897652c6a" args="" -->MAT_T_UINT32</em>&nbsp;</td><td>
<p>32-bit unsigned integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a3a3657d40e9212c923d9b9d03531b64c"></a><!-- doxytag: member="MAT_T_SINGLE" ref="ggacf7b3b879282b7ab3a51190e49bf3453a3a3657d40e9212c923d9b9d03531b64c" args="" -->MAT_T_SINGLE</em>&nbsp;</td><td>
<p>IEEE 754 single precision data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a31e721ecf7e188196f83c32838288797"></a><!-- doxytag: member="MAT_T_DOUBLE" ref="ggacf7b3b879282b7ab3a51190e49bf3453a31e721ecf7e188196f83c32838288797" args="" -->MAT_T_DOUBLE</em>&nbsp;</td><td>
<p>IEEE 754 double precision data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a9e825b5d18b8f946eaf2b4b57e51c145"></a><!-- doxytag: member="MAT_T_INT64" ref="ggacf7b3b879282b7ab3a51190e49bf3453a9e825b5d18b8f946eaf2b4b57e51c145" args="" -->MAT_T_INT64</em>&nbsp;</td><td>
<p>64-bit signed integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a45547932c46be27118abe08302d7e29f"></a><!-- doxytag: member="MAT_T_UINT64" ref="ggacf7b3b879282b7ab3a51190e49bf3453a45547932c46be27118abe08302d7e29f" args="" -->MAT_T_UINT64</em>&nbsp;</td><td>
<p>64-bit unsigned integer data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a32985fee89a4df8db4b3f5d3a48823d3"></a><!-- doxytag: member="MAT_T_MATRIX" ref="ggacf7b3b879282b7ab3a51190e49bf3453a32985fee89a4df8db4b3f5d3a48823d3" args="" -->MAT_T_MATRIX</em>&nbsp;</td><td>
<p>matrix data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a30437f2eb3becc2fa6e5d96599d7f724"></a><!-- doxytag: member="MAT_T_COMPRESSED" ref="ggacf7b3b879282b7ab3a51190e49bf3453a30437f2eb3becc2fa6e5d96599d7f724" args="" -->MAT_T_COMPRESSED</em>&nbsp;</td><td>
<p>compressed data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453ac34ad81f5cbd3b7d0d95e57e5be0149b"></a><!-- doxytag: member="MAT_T_UTF8" ref="ggacf7b3b879282b7ab3a51190e49bf3453ac34ad81f5cbd3b7d0d95e57e5be0149b" args="" -->MAT_T_UTF8</em>&nbsp;</td><td>
<p>8-bit unicode text data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a87ffc0412143c326a1fcc759d5d81bdc"></a><!-- doxytag: member="MAT_T_UTF16" ref="ggacf7b3b879282b7ab3a51190e49bf3453a87ffc0412143c326a1fcc759d5d81bdc" args="" -->MAT_T_UTF16</em>&nbsp;</td><td>
<p>16-bit unicode text data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a11e43c0e0be79b1983090e02ae583109"></a><!-- doxytag: member="MAT_T_UTF32" ref="ggacf7b3b879282b7ab3a51190e49bf3453a11e43c0e0be79b1983090e02ae583109" args="" -->MAT_T_UTF32</em>&nbsp;</td><td>
<p>32-bit unicode text data type </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a9456a83c0b22022af42461a09d63cdb2"></a><!-- doxytag: member="MAT_T_STRING" ref="ggacf7b3b879282b7ab3a51190e49bf3453a9456a83c0b22022af42461a09d63cdb2" args="" -->MAT_T_STRING</em>&nbsp;</td><td>
<p>String data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a07599cf2cca6d2b2d059378563318ba5"></a><!-- doxytag: member="MAT_T_CELL" ref="ggacf7b3b879282b7ab3a51190e49bf3453a07599cf2cca6d2b2d059378563318ba5" args="" -->MAT_T_CELL</em>&nbsp;</td><td>
<p>Cell array data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453a4f4d5a6e1d42c6aa81ffb810e5da5c85"></a><!-- doxytag: member="MAT_T_STRUCT" ref="ggacf7b3b879282b7ab3a51190e49bf3453a4f4d5a6e1d42c6aa81ffb810e5da5c85" args="" -->MAT_T_STRUCT</em>&nbsp;</td><td>
<p>Structure data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453acf106b0c23021582375f59bc9fce89b1"></a><!-- doxytag: member="MAT_T_ARRAY" ref="ggacf7b3b879282b7ab3a51190e49bf3453acf106b0c23021582375f59bc9fce89b1" args="" -->MAT_T_ARRAY</em>&nbsp;</td><td>
<p>Array data type. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacf7b3b879282b7ab3a51190e49bf3453ae76686f267dd1641cd55dce306af6d10"></a><!-- doxytag: member="MAT_T_FUNCTION" ref="ggacf7b3b879282b7ab3a51190e49bf3453ae76686f267dd1641cd55dce306af6d10" args="" -->MAT_T_FUNCTION</em>&nbsp;</td><td>
<p>Function data type. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga9b8d09f631538b14ca29792e0334e349"></a><!-- doxytag: member="mat.c::Mat_CalcSingleSubscript" ref="ga9b8d09f631538b14ca29792e0334e349" args="(int rank, int *dims, int *subs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_CalcSingleSubscript </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rank</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>dims</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>subs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Calculates a single linear subscript (0-relative) given a 1-relative subscript for each dimension. The calculation uses the formula below where index is the linear index, s is an array of length RANK where each element is the subscript for the correspondind dimension, D is an array whose elements are the dimensions of the variable. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ index = \sum\limits_{k=0}^{RANK-1} [(s_k - 1) \prod\limits_{l=0}^{k} D_l ] \]" src="form_0.png"/>
</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rank</td><td>Rank of the variable </td></tr>
    <tr><td class="paramname">dims</td><td>dimensions of the variable </td></tr>
    <tr><td class="paramname">subs</td><td>Dimension subscripts </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Single (linear) subscript </dd></dl>

</div>
</div>
<a class="anchor" id="gabe2571a4b9b6cff3b31aa6f152deba61"></a><!-- doxytag: member="mat.c::Mat_CalcSubscripts" ref="gabe2571a4b9b6cff3b31aa6f152deba61" args="(int rank, int *dims, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int* Mat_CalcSubscripts </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rank</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>dims</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Calculates 1-relative subscripts for each dimension given a 0-relative linear index. Subscripts are calculated as follows where s is the array of dimension subscripts, D is the array of dimensions, and index is the linear index. </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ s_k = \lfloor\frac{1}{L} \prod\limits_{l = 0}^{k} D_l\rfloor + 1 \]" src="form_1.png"/>
</p>
 <p class="formulaDsp">
<img class="formulaDsp" alt="\[ L = index - \sum\limits_{l = k}^{RANK - 1} s_k \prod\limits_{m = 0}^{k} D_m \]" src="form_2.png"/>
</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rank</td><td>Rank of the variable </td></tr>
    <tr><td class="paramname">dims</td><td>dimensions of the variable </td></tr>
    <tr><td class="paramname">index</td><td>linear index </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Array of dimension subscripts </dd></dl>

</div>
</div>
<a class="anchor" id="ga101c92ff7bde4a2d4615661beba09262"></a><!-- doxytag: member="mat.c::Mat_Close" ref="ga101c92ff7bde4a2d4615661beba09262" args="(mat_t *mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_Close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Closes the given Matlab MAT file and frees any memory with it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmat__t.html#a4d75f64e1e718b682bc3f954f09c9fd7">mat_t::filename</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="structmat__t.html#a810b2a82d12a50b3c871b27a748272d4">mat_t::header</a>, and <a class="el" href="structmat__t.html#a5f26392cc1c9250cb2647ae45c50e3c2">mat_t::subsys_offset</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#gafbfedb5636a99f0ef867520c47f77d18">Mat_Open()</a>, and <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>.</p>

</div>
</div>
<a class="anchor" id="gab725f16422e61906d20e14bc3d36790f"></a><!-- doxytag: member="mat.c::Mat_Create" ref="gab725f16422e61906d20e14bc3d36790f" args="(const char *matname, const char *hdr_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmat__t.html">mat_t</a>* Mat_Create </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>matname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hdr_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tries to create a new Matlab MAT file with the given name and optional header string. If no header string is given, the default string is used containing the software, version, and date in it. If a header string is given, at most the first 116 characters is written to the file. The given header string need not be the full 116 characters, but MUST be NULL terminated.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matname</td><td>Name of MAT file to create </td></tr>
    <tr><td class="paramname">hdr_str</td><td>Optional header string, NULL to use default </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the MAT file or NULL if it failed. This is not a simple FILE * and should not be used as one. </dd></dl>

<p>References <a class="el" href="structmat__t.html#ac99869bdacc587b7f0ddbca35e69f1ee">mat_t::bof</a>, <a class="el" href="structmat__t.html#a14db59344a70db4ac21a685ccd5915b2">mat_t::byteswap</a>, <a class="el" href="structmat__t.html#a4d75f64e1e718b682bc3f954f09c9fd7">mat_t::filename</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="structmat__t.html#a810b2a82d12a50b3c871b27a748272d4">mat_t::header</a>, <a class="el" href="group__MAT.html#ggaa9dcbc70f538af79bd557593ff6b5cdba0f65f27ea42fde32d62b702b82329c1f">MAT_ACC_RDWR</a>, <a class="el" href="structmat__t.html#af401c5f476af4262bd6955247bcdccf2">mat_t::mode</a>, <a class="el" href="structmat__t.html#a5f26392cc1c9250cb2647ae45c50e3c2">mat_t::subsys_offset</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#gafbfedb5636a99f0ef867520c47f77d18">Mat_Open()</a>, and <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>.</p>

</div>
</div>
<a class="anchor" id="gafbfedb5636a99f0ef867520c47f77d18"></a><!-- doxytag: member="mat.c::Mat_Open" ref="gafbfedb5636a99f0ef867520c47f77d18" args="(const char *matname, int mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmat__t.html">mat_t</a>* Mat_Open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>matname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tries to open a Matlab MAT file with the given name</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matname</td><td>Name of MAT file to open </td></tr>
    <tr><td class="paramname">mode</td><td>File access mode (MAT_ACC_RDONLY,MAT_ACC_RDWR,etc). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the MAT file or NULL if it failed. This is not a simple FILE * and should not be used as one. </dd></dl>

<p>References <a class="el" href="structmat__t.html#ac99869bdacc587b7f0ddbca35e69f1ee">mat_t::bof</a>, <a class="el" href="structmat__t.html#a14db59344a70db4ac21a685ccd5915b2">mat_t::byteswap</a>, <a class="el" href="structmat__t.html#a4d75f64e1e718b682bc3f954f09c9fd7">mat_t::filename</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="structmat__t.html#a810b2a82d12a50b3c871b27a748272d4">mat_t::header</a>, <a class="el" href="group__MAT.html#ggaa9dcbc70f538af79bd557593ff6b5cdba8dd1457651b27ba9bea6cfba158c037c">MAT_ACC_RDONLY</a>, <a class="el" href="group__MAT.html#ggaa9dcbc70f538af79bd557593ff6b5cdba0f65f27ea42fde32d62b702b82329c1f">MAT_ACC_RDWR</a>, <a class="el" href="group__MAT.html#ga101c92ff7bde4a2d4615661beba09262">Mat_Close()</a>, <a class="el" href="group__MAT.html#gab725f16422e61906d20e14bc3d36790f">Mat_Create()</a>, <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="group__mat__internal.html#ga741eb8019dbc3e8addfc0e75adb0dd90">Mat_int16Swap()</a>, <a class="el" href="structmat__t.html#af401c5f476af4262bd6955247bcdccf2">mat_t::mode</a>, <a class="el" href="structmat__t.html#a5f26392cc1c9250cb2647ae45c50e3c2">mat_t::subsys_offset</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4d6e3892d2e216c507a744ba0e070d0b"></a><!-- doxytag: member="mat.c::Mat_Rewind" ref="ga4d6e3892d2e216c507a744ba0e070d0b" args="(mat_t *mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_Rewind </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Rewinds a Matlab MAT file to the first variable</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

</div>
</div>
<a class="anchor" id="ga2bf682f015b22fa796a8885e997661e7"></a><!-- doxytag: member="mat.c::Mat_SizeOfClass" ref="ga2bf682f015b22fa796a8885e997661e7" args="(int class_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Mat_SizeOfClass </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>class_type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the size (in bytes) of the matlab class class_type</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">class_type</td><td>Matlab class type (MAT_C_*) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Size of the class </dd></dl>

<p>References <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c">MAT_C_CHAR</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307">MAT_C_DOUBLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006">MAT_C_INT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8">MAT_C_INT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409">MAT_C_INT64</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5">MAT_C_INT8</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2">MAT_C_SINGLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7">MAT_C_UINT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816">MAT_C_UINT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd">MAT_C_UINT64</a>, and <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3">MAT_C_UINT8</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#gaeeb798fead2f765bddfb19016c7fdbcc">Mat_VarGetSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9f8ab8a7e4206c16cb20437acc6960d2"></a><!-- doxytag: member="mat.c::Mat_VarAddStructField" ref="ga9f8ab8a7e4206c16cb20437acc6960d2" args="(matvar_t *matvar, matvar_t **fields)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarAddStructField </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> **&#160;</td>
          <td class="paramname"><em>fields</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Adds the given field to the structure. fields should be an array of <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> pointers of the same size as the structure (i.e. 1 field per structure element).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Pointer to the Structure MAT variable </td></tr>
    <tr><td class="paramname">fields</td><td>Array of fields to be added </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="gae7c9c3699f6e9c31a9c490300013098c"></a><!-- doxytag: member="mat.c::Mat_VarCalloc" ref="gae7c9c3699f6e9c31a9c490300013098c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarCalloc </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A newly allocated <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a98c05904ca5907e299022da5a77e95b1">matvar_t::data_type</a>, <a class="el" href="structmatvar__t.html#a69373274073f3640552b984bf6dbf095">matvar_t::datapos</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmatvar__t.html#a08ad4583a425419e5e4ce4dec5f4d0fe">matvar_t::fp</a>, <a class="el" href="structmatvar__t.html#a10def04349d0d4a04248d889ff15a0e8">matvar_t::fpos</a>, <a class="el" href="structmatvar__t.html#aeb03b3a69f108dc05470b00443a43739">matvar_t::isComplex</a>, <a class="el" href="structmatvar__t.html#af26c71c4c0ddb14931d15910dddac1bc">matvar_t::isGlobal</a>, <a class="el" href="structmatvar__t.html#a866c1539e68073a837833d74cd4a65be">matvar_t::isLogical</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>, and <a class="el" href="structmatvar__t.html#a0a0dccbeb81c8ffaa4c2f4576fcb3a25">matvar_t::z</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8">Mat_VarCreate()</a>, <a class="el" href="group__mat__internal.html#ga5defc934cf088b13347e50ea7f276ea3">Mat_VarReadNextInfo5()</a>, and <a class="el" href="group__mat__internal.html#gadf5a89ff6485c9b97c8d37484fab6100">ReadNextCell()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4b9b5a76260af51cde99e6729dfeb7d8"></a><!-- doxytag: member="mat.c::Mat_VarCreate" ref="ga4b9b5a76260af51cde99e6729dfeb7d8" args="(const char *name, int class_type, int data_type, int rank, int *dims, void *data, int opt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>class_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>data_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rank</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>dims</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates a MAT variable that can be written to a Matlab MAT file with the given name, data type, dimensions and data. Rank should always be 2 or more. i.e. Scalar values would have rank=2 and dims[2] = {1,1}. Data type is one of the MAT_T types. MAT adds MAT_T_STRUCT and MAT_T_CELL to create Structures and Cell Arrays respectively. For MAT_T_STRUCT, data should be a NULL terminated array of <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> * variables (i.e. for a 3x2 structure with 10 fields, there should be 61 <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> * variables where the last one is NULL). For cell arrays, the NULL termination isn't necessary. So to create a cell array of size 3x2, data would be the address of an array of 6 <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> * variables.</p>
<p>EXAMPLE: To create a struct of size 3x2 with 3 fields: </p>
<div class="fragment"><pre class="fragment">     <span class="keywordtype">int</span> rank=2, dims[2] = {3,2}, nfields = 3;
     <a class="code" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> **vars;

     vars = malloc((3*2*nfields+1)*<span class="keyword">sizeof</span>(<a class="code" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> *));
     vars[0]             = <a class="code" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8" title="Creates a MAT Variable with the given name and (optionally) data.">Mat_VarCreate</a>(...);
        :
     vars[3*2*nfields-1] = <a class="code" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8" title="Creates a MAT Variable with the given name and (optionally) data.">Mat_VarCreate</a>(...);
     vars[3*2*nfields]   = NULL;
</pre></div><p>EXAMPLE: To create a cell array of size 3x2: </p>
<div class="fragment"><pre class="fragment">     <span class="keywordtype">int</span> rank=2, dims[2] = {3,2};
     <a class="code" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> **vars;

     vars = malloc(3*2*<span class="keyword">sizeof</span>(<a class="code" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> *));
     vars[0]             = <a class="code" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8" title="Creates a MAT Variable with the given name and (optionally) data.">Mat_VarCreate</a>(...);
        :
     vars[5] = <a class="code" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8" title="Creates a MAT Variable with the given name and (optionally) data.">Mat_VarCreate</a>(...);
</pre></div><dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of the variable to create </td></tr>
    <tr><td class="paramname">class_type</td><td>class type of the variable in Matlab(one of the mx Classes) </td></tr>
    <tr><td class="paramname">data_type</td><td>data type of the variable (one of the MAT_T_ Types) </td></tr>
    <tr><td class="paramname">rank</td><td>Rank of the variable </td></tr>
    <tr><td class="paramname">dims</td><td>array of dimensions of the variable of size rank </td></tr>
    <tr><td class="paramname">data</td><td>pointer to the data </td></tr>
    <tr><td class="paramname">opt</td><td>0, or bitwise or of the following options:</p>
<ul>
<li>MEM_CONSERVE to just use the pointer to the data and not copy the data itself. Note that the pointer should not be freed until you are done with the mat variable. The Mat_VarFree function will NOT free data that was created with MEM_CONSERVE, so free it yourself.</li>
<li>MAT_F_COMPLEX to specify that the data is complex. The data variable should be a contigouse piece of memory with the real part written first and the imaginary second</li>
<li>MAT_F_GLOBAL to assign the variable as a global variable</li>
<li>MAT_F_LOGICAL to specify that it is a logical variable </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A MAT variable that can be written to a file or otherwise used </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5">COMPRESSION_NONE</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a98c05904ca5907e299022da5a77e95b1">matvar_t::data_type</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structComplexSplit.html#abdf9792203bd776fb6be4ceebf078402">ComplexSplit::Im</a>, <a class="el" href="structmatvar__t.html#aeb03b3a69f108dc05470b00443a43739">matvar_t::isComplex</a>, <a class="el" href="structmatvar__t.html#af26c71c4c0ddb14931d15910dddac1bc">matvar_t::isGlobal</a>, <a class="el" href="structmatvar__t.html#a866c1539e68073a837833d74cd4a65be">matvar_t::isLogical</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c">MAT_C_CHAR</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a0d5655b7e6178a2242cb3bb56ff4c8d2">MAT_C_SPARSE</a>, <a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbbacd7b091a11184aad7fc6078c04470780">MAT_F_COMPLEX</a>, <a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbba49084e0c796aa7963e53f7539525d40d">MAT_F_GLOBAL</a>, <a class="el" href="group__MAT.html#ggab9d6ef9e3ddca78a317b173f01d53fbba57eb5c6e200bcbc0f1b7982f29a169c2">MAT_F_LOGICAL</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a07599cf2cca6d2b2d059378563318ba5">MAT_T_CELL</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a31e721ecf7e188196f83c32838288797">MAT_T_DOUBLE</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a8c5b2e381946e95ea8d81ac216743302">MAT_T_INT16</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a83e06a68320726c6572bfbb9f3addb1d">MAT_T_INT32</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9e825b5d18b8f946eaf2b4b57e51c145">MAT_T_INT64</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9807f5033ed4f9b548953742d9fd1658">MAT_T_INT8</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a3a3657d40e9212c923d9b9d03531b64c">MAT_T_SINGLE</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a4f4d5a6e1d42c6aa81ffb810e5da5c85">MAT_T_STRUCT</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a05bc7af7680aa68be95126ae0a4c2e31">MAT_T_UINT16</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453aa397e285a23fe240368b752897652c6a">MAT_T_UINT32</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a45547932c46be27118abe08302d7e29f">MAT_T_UINT64</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a01c1bd7db68f90552862eb5d311be408">MAT_T_UINT8</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a87ffc0412143c326a1fcc759d5d81bdc">MAT_T_UTF16</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a11e43c0e0be79b1983090e02ae583109">MAT_T_UTF32</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453ac34ad81f5cbd3b7d0d95e57e5be0149b">MAT_T_UTF8</a>, <a class="el" href="group__MAT.html#gae7c9c3699f6e9c31a9c490300013098c">Mat_VarCalloc()</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="matio_8h.html#adba468ccee1d50707f3d89cb64e9f16b">MEM_CONSERVE</a>, <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>, and <a class="el" href="structComplexSplit.html#ab9c3f2544c4325a372300d4546e374a8">ComplexSplit::Re</a>.</p>

</div>
</div>
<a class="anchor" id="ga9446d159d3ecd22a28b54e300f8cc71f"></a><!-- doxytag: member="mat.c::Mat_VarDelete" ref="ga9446d159d3ecd22a28b54e300f8cc71f" args="(mat_t *mat, char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarDelete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the <a class="el" href="structmat__t.html" title="Matlab MAT File information.">mat_t</a> file structure </td></tr>
    <tr><td class="paramname">name</td><td>Name of the variable to delete </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success </dd></dl>

<p>References <a class="el" href="structmat__t.html#a4d75f64e1e718b682bc3f954f09c9fd7">mat_t::filename</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="structmat__t.html#a810b2a82d12a50b3c871b27a748272d4">mat_t::header</a>, <a class="el" href="group__MAT.html#ga101c92ff7bde4a2d4615661beba09262">Mat_Close()</a>, <a class="el" href="group__MAT.html#gab725f16422e61906d20e14bc3d36790f">Mat_Create()</a>, <a class="el" href="group__MAT.html#gafbfedb5636a99f0ef867520c47f77d18">Mat_Open()</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="group__MAT.html#ga7c321d6aafd93916ba6c5655ad78e9ca">Mat_VarReadNext()</a>, <a class="el" href="group__MAT.html#ga77c5ad24d45047830046fe3ed25da8ad">Mat_VarWrite()</a>, <a class="el" href="structmat__t.html#af401c5f476af4262bd6955247bcdccf2">mat_t::mode</a>, and <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>.</p>

</div>
</div>
<a class="anchor" id="ga7ef80c5d99d7918b2b09db3bea106ecc"></a><!-- doxytag: member="mat.c::Mat_VarDuplicate" ref="ga7ef80c5d99d7918b2b09db3bea106ecc" args="(const matvar_t *in, int opt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarDuplicate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Provides a clean function for duplicating a <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>pointer to the <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure to be duplicated </td></tr>
    <tr><td class="paramname">opt</td><td>0 does a shallow duplicate and only assigns the data pointer to the duplicated array. 1 will do a deep duplicate and actually duplicate the contents of the data. Warning: If you do a shallow copy and free both structures, the data will be freed twice and memory will be corrupted. This may be fixed in a later release. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the duplicated <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure. </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a98c05904ca5907e299022da5a77e95b1">matvar_t::data_type</a>, <a class="el" href="structmatvar__t.html#a69373274073f3640552b984bf6dbf095">matvar_t::datapos</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmatvar__t.html#a10def04349d0d4a04248d889ff15a0e8">matvar_t::fpos</a>, <a class="el" href="structComplexSplit.html#abdf9792203bd776fb6be4ceebf078402">ComplexSplit::Im</a>, <a class="el" href="structmatvar__t.html#aeb03b3a69f108dc05470b00443a43739">matvar_t::isComplex</a>, <a class="el" href="structmatvar__t.html#af26c71c4c0ddb14931d15910dddac1bc">matvar_t::isGlobal</a>, <a class="el" href="structmatvar__t.html#a866c1539e68073a837833d74cd4a65be">matvar_t::isLogical</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08">MAT_C_CELL</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a>, <a class="el" href="group__MAT.html#ga7ef80c5d99d7918b2b09db3bea106ecc">Mat_VarDuplicate()</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>, <a class="el" href="structComplexSplit.html#ab9c3f2544c4325a372300d4546e374a8">ComplexSplit::Re</a>, and <a class="el" href="structmatvar__t.html#a0a0dccbeb81c8ffaa4c2f4576fcb3a25">matvar_t::z</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga7ef80c5d99d7918b2b09db3bea106ecc">Mat_VarDuplicate()</a>, <a class="el" href="group__MAT.html#ga509178d7dc15faf9f7cd0440df6009b9">Mat_VarGetStructs()</a>, and <a class="el" href="group__MAT.html#gaa56680fb7b2cd3d410f659e945da8141">Mat_VarGetStructsLinear()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1d14716f7450530fd1c9d02413787f0e"></a><!-- doxytag: member="mat.c::Mat_VarFree" ref="ga1d14716f7450530fd1c9d02413787f0e" args="(matvar_t *matvar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Mat_VarFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Frees memory used by a MAT variable. Frees the data associated with a MAT variable if it's non-NULL and MEM_CONSERVE was not used.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Pointer to the <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86">COMPRESSION_ZLIB</a>, <a class="el" href="structsparse__t.html#a8194f9468a7d77514db5ed70b54017bb">sparse_t::data</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structComplexSplit.html#abdf9792203bd776fb6be4ceebf078402">ComplexSplit::Im</a>, <a class="el" href="structsparse__t.html#ae3b4cd31e90bb824e9b00f7c3dec7af4">sparse_t::ir</a>, <a class="el" href="structmatvar__t.html#aeb03b3a69f108dc05470b00443a43739">matvar_t::isComplex</a>, <a class="el" href="structsparse__t.html#aeea61c5d15e5cc015a8baf55cc130ee1">sparse_t::jc</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08">MAT_C_CELL</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a0d5655b7e6178a2242cb3bb56ff4c8d2">MAT_C_SPARSE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, <a class="el" href="structComplexSplit.html#ab9c3f2544c4325a372300d4546e374a8">ComplexSplit::Re</a>, and <a class="el" href="structmatvar__t.html#a0a0dccbeb81c8ffaa4c2f4576fcb3a25">matvar_t::z</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga4b9b5a76260af51cde99e6729dfeb7d8">Mat_VarCreate()</a>, <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="group__MAT.html#ga509178d7dc15faf9f7cd0440df6009b9">Mat_VarGetStructs()</a>, <a class="el" href="group__MAT.html#ga4c8205ff25c5b688a40775fbb1840b7e">Mat_VarReadInfo()</a>, <a class="el" href="group__mat__internal.html#ga5defc934cf088b13347e50ea7f276ea3">Mat_VarReadNextInfo5()</a>, <a class="el" href="group__mat__internal.html#gadf5a89ff6485c9b97c8d37484fab6100">ReadNextCell()</a>, and <a class="el" href="group__mat__internal.html#ga17b63b67048b0bde1457b258ffd5ac83">ReadNextStructField()</a>.</p>

</div>
</div>
<a class="anchor" id="gac1e15063439c0bd3eb0c986514c742dc"></a><!-- doxytag: member="mat.c::Mat_VarGetCell" ref="gac1e15063439c0bd3eb0c986514c742dc" args="(matvar_t *matvar, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarGetCell </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to the Cell Array Field at the given 1-relative index. MAT file must be a version 5 matlab file.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Pointer to the Cell Array MAT variable </td></tr>
    <tr><td class="paramname">index</td><td>linear index of cell to return </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the Cell Array Field on success, NULL on error </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="ga0732b0a6c40975b036068b9a14422d45"></a><!-- doxytag: member="mat.c::Mat_VarGetCells" ref="ga0732b0a6c40975b036068b9a14422d45" args="(matvar_t *matvar, int *start, int *stride, int *edge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>** Mat_VarGetCells </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Finds cells of a cell array given a start, stride, and edge for each. dimension. The cells are placed in a pointer array. The cells should not be freed, but the array of pointers should be. If copies are needed, use Mat_VarDuplicate on each cell. MAT File version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Cell Array matlab variable </td></tr>
    <tr><td class="paramname">start</td><td>vector of length rank with 0-relative starting coordinates for each diemnsion. </td></tr>
    <tr><td class="paramname">stride</td><td>vector of length rank with strides for each diemnsion. </td></tr>
    <tr><td class="paramname">edge</td><td>vector of length rank with the number of elements to read in each diemnsion. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an array of pointers to the cells </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="ga004987d665654409f74eaf8e82bb1380"></a><!-- doxytag: member="mat.c::Mat_VarGetCellsLinear" ref="ga004987d665654409f74eaf8e82bb1380" args="(matvar_t *matvar, int start, int stride, int edge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>** Mat_VarGetCellsLinear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Finds cells of a cell array given a linear indexed start, stride, and edge. The cells are placed in a pointer array. The cells themself should not be freed as they are part of the original cell array, but the pointer array should be. If copies are needed, use Mat_VarDuplicate on each of the cells. MAT file version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Cell Array matlab variable </td></tr>
    <tr><td class="paramname">start</td><td>starting index </td></tr>
    <tr><td class="paramname">stride</td><td>stride </td></tr>
    <tr><td class="paramname">edge</td><td>Number of cells to get </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an array of pointers to the cells </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="ga56b9a545990a0f253164018e37111741"></a><!-- doxytag: member="mat.c::Mat_VarGetNumberOfFields" ref="ga56b9a545990a0f253164018e37111741" args="(matvar_t *matvar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarGetNumberOfFields </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the number of fields in the given structure. MAT file version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Structure matlab variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of fields, or a negative number on error </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="gaeeb798fead2f765bddfb19016c7fdbcc"></a><!-- doxytag: member="mat.c::Mat_VarGetSize" ref="gaeeb798fead2f765bddfb19016c7fdbcc" args="(matvar_t *matvar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Mat_VarGetSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>matlab variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the variable in bytes </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2f7abb47a1c51e248bd4e5e03cc81b08">MAT_C_CELL</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a>, <a class="el" href="group__MAT.html#ga2bf682f015b22fa796a8885e997661e7">Mat_SizeOfClass()</a>, <a class="el" href="group__MAT.html#gaeeb798fead2f765bddfb19016c7fdbcc">Mat_VarGetSize()</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#gaeeb798fead2f765bddfb19016c7fdbcc">Mat_VarGetSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7018bfe6934b96ae32e8f2a1712eefab"></a><!-- doxytag: member="mat.c::Mat_VarGetStructField" ref="ga7018bfe6934b96ae32e8f2a1712eefab" args="(matvar_t *matvar, void *name_or_index, int opt, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarGetStructField </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>name_or_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to the structure field at the given 0-relative index. MAT file version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Pointer to the Structure MAT variable </td></tr>
    <tr><td class="paramname">name_or_index</td><td>Name of the field, or the 1-relative index of the field. If the index is used, it should be the address of an integer variable whose value is the index number. </td></tr>
    <tr><td class="paramname">opt</td><td>BY_NAME if the name_or_index is the name or BY_INDEX if the index was passed. </td></tr>
    <tr><td class="paramname">index</td><td>linear index of the structure to find the field of </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the Structure Field on success, NULL on error </dd></dl>

<p>References <a class="el" href="group__MAT.html#gga06fc87d81c62e9abb8790b6e5713c55ba5f4d5606de1ec27f80f4a50186909005">BY_INDEX</a>, <a class="el" href="group__MAT.html#gga06fc87d81c62e9abb8790b6e5713c55ba8938378c70879fe916177141cce0417e">BY_NAME</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="ga509178d7dc15faf9f7cd0440df6009b9"></a><!-- doxytag: member="mat.c::Mat_VarGetStructs" ref="ga509178d7dc15faf9f7cd0440df6009b9" args="(matvar_t *matvar, int *start, int *stride, int *edge, int copy_fields)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarGetStructs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>edge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>copy_fields</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Finds structures of a structure array given a start, stride, and edge for each dimension. The structures are placed in a new structure array. If copy_fields is non-zero, the indexed structures are copied and should be freed, but if copy_fields is zero, the indexed structures are pointers to the original, but should still be freed since the mem_conserve flag is set so that the structures are not freed. MAT File version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Structure matlab variable </td></tr>
    <tr><td class="paramname">start</td><td>vector of length rank with 0-relative starting coordinates for each diemnsion. </td></tr>
    <tr><td class="paramname">stride</td><td>vector of length rank with strides for each diemnsion. </td></tr>
    <tr><td class="paramname">edge</td><td>vector of length rank with the number of elements to read in each diemnsion. </td></tr>
    <tr><td class="paramname">copy_fields</td><td>1 to copy the fields, 0 to just set pointers to them. If 0 is used, the fields should not be freed themselves. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new structure with fields indexed from matvar. </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40acb467c7749c80902b798134c729bb521">MAT_C_STRUCT</a>, <a class="el" href="group__MAT.html#ga7ef80c5d99d7918b2b09db3bea106ecc">Mat_VarDuplicate()</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="gaa56680fb7b2cd3d410f659e945da8141"></a><!-- doxytag: member="mat.c::Mat_VarGetStructsLinear" ref="gaa56680fb7b2cd3d410f659e945da8141" args="(matvar_t *matvar, int start, int stride, int edge, int copy_fields)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarGetStructsLinear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>edge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>copy_fields</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Finds structures of a structure array given a single (linear)start, stride, and edge. The structures are placed in a new structure array. If copy_fields is non-zero, the indexed structures are copied and should be freed, but if copy_fields is zero, the indexed structures are pointers to the original, but should still be freed since the mem_conserve flag is set so that the structures are not freed. MAT File version must be 5.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Structure matlab variable </td></tr>
    <tr><td class="paramname">start</td><td>starting index </td></tr>
    <tr><td class="paramname">stride</td><td>stride </td></tr>
    <tr><td class="paramname">edge</td><td>Number of structures to get </td></tr>
    <tr><td class="paramname">copy_fields</td><td>1 to copy the fields, 0 to just set pointers to them. If 0 is used, the fields should not be freed themselves. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new structure with fields indexed from matvar </dd></dl>

<p>References <a class="el" href="structmatvar__t.html#a70d5c21dc70558757770d4d72ff5d3f4">matvar_t::data</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="group__MAT.html#ga7ef80c5d99d7918b2b09db3bea106ecc">Mat_VarDuplicate()</a>, <a class="el" href="structmatvar__t.html#aff20e87a00691c97340ab07656a13ee7">matvar_t::mem_conserve</a>, <a class="el" href="structmatvar__t.html#ae6e0987fef1e35a7e4d0a78b27648035">matvar_t::nbytes</a>, and <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>.</p>

</div>
</div>
<a class="anchor" id="ga9100c145e338b84b55d5d0795d5d390a"></a><!-- doxytag: member="mat.c::Mat_VarPrint" ref="ga9100c145e338b84b55d5d0795d5d390a" args="(matvar_t *matvar, int printdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Mat_VarPrint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>printdata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prints to stdout the values of the <a class="el" href="structmatvar__t.html">matvar_t</a> structure</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matvar</td><td>Pointer to the <a class="el" href="structmatvar__t.html" title="Matlab variable information.">matvar_t</a> structure </td></tr>
    <tr><td class="paramname">printdata</td><td>set to 1 if the Variables data should be printed, else 0 </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmatvar__t.html#a08ad4583a425419e5e4ce4dec5f4d0fe">matvar_t::fp</a>, <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="group__mat__internal.html#ga77304323177493cf257d86374bc05a6b">Mat_VarPrint5()</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

<p>Referenced by <a class="el" href="group__mat__internal.html#ga77304323177493cf257d86374bc05a6b">Mat_VarPrint5()</a>.</p>

</div>
</div>
<a class="anchor" id="ga21aeb21db041d0174fb928d3f383f276"></a><!-- doxytag: member="mat.c::Mat_VarRead" ref="ga21aeb21db041d0174fb928d3f383f276" args="(mat_t *mat, char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the next variable in the Matlab MAT file</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
    <tr><td class="paramname">name</td><td>Name of the variable to read </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="structmatvar__t.html">matvar_t</a> structure containing the MAT variable information </dd></dl>

<p>References <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, and <a class="el" href="group__MAT.html#ga4c8205ff25c5b688a40775fbb1840b7e">Mat_VarReadInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1845000f4fc6252ec5ff11c4b9f0759f"></a><!-- doxytag: member="mat.c::Mat_VarReadData" ref="ga1845000f4fc6252ec5ff11c4b9f0759f" args="(mat_t *mat, matvar_t *matvar, void *data, int *start, int *stride, int *edge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarReadData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads data from a MAT variable. The variable must have been read by Mat_VarReadInfo.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>MAT file to read data from </td></tr>
    <tr><td class="paramname">matvar</td><td>MAT variable information </td></tr>
    <tr><td class="paramname">data</td><td>pointer to store data in (must be pre-allocated) </td></tr>
    <tr><td class="paramname">start</td><td>array of starting indeces </td></tr>
    <tr><td class="paramname">stride</td><td>stride of data </td></tr>
    <tr><td class="paramname">edge</td><td>array specifying the number to read in each direction </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="group__mat__internal.html#gaf8a259573b7b3a89555c5a9bc1860e19">ReadData5()</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

</div>
</div>
<a class="anchor" id="gaa8060d7c8e5da0aa9ee5f96e5f1eb30a"></a><!-- doxytag: member="mat.c::Mat_VarReadDataAll" ref="gaa8060d7c8e5da0aa9ee5f96e5f1eb30a" args="(mat_t *mat, matvar_t *matvar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarReadDataAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Allocates memory for an reads the data for a given matlab variable.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Matlab MAT file structure pointer </td></tr>
    <tr><td class="paramname">matvar</td><td>Variable whose data is to be read </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>non-zero on error </dd></dl>

</div>
</div>
<a class="anchor" id="gaad61c8449a2106afa697280ff0ee9dd8"></a><!-- doxytag: member="mat.c::Mat_VarReadDataLinear" ref="gaad61c8449a2106afa697280ff0ee9dd8" args="(mat_t *mat, matvar_t *matvar, void *data, int start, int stride, int edge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarReadDataLinear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads data from a MAT variable using a linear indexingmode. The variable must have been read by Mat_VarReadInfo.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>MAT file to read data from </td></tr>
    <tr><td class="paramname">matvar</td><td>MAT variable information </td></tr>
    <tr><td class="paramname">data</td><td>pointer to store data in (must be pre-allocated) </td></tr>
    <tr><td class="paramname">start</td><td>starting index </td></tr>
    <tr><td class="paramname">stride</td><td>stride of data </td></tr>
    <tr><td class="paramname">edge</td><td>number of elements to read </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmat__t.html#a14db59344a70db4ac21a685ccd5915b2">mat_t::byteswap</a>, <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5">COMPRESSION_NONE</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86">COMPRESSION_ZLIB</a>, <a class="el" href="structmatvar__t.html#a9ad1c82e2b568da617e12dc73a26e1f9">matvar_t::data_size</a>, <a class="el" href="structmatvar__t.html#a98c05904ca5907e299022da5a77e95b1">matvar_t::data_type</a>, <a class="el" href="structmatvar__t.html#a69373274073f3640552b984bf6dbf095">matvar_t::datapos</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="group__mat__internal.html#gafe2430f62f9a194460db06138a25d243">InflateDataType()</a>, <a class="el" href="group__mat__internal.html#ga0abb7fa9e960582772588f97e48a8494">InflateSkip()</a>, <a class="el" href="group__mat__internal.html#gab814c3352ffd9a0795a40958634cc920">InflateSkipData()</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307">MAT_C_DOUBLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006">MAT_C_INT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8">MAT_C_INT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409">MAT_C_INT64</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5">MAT_C_INT8</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2">MAT_C_SINGLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7">MAT_C_UINT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816">MAT_C_UINT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd">MAT_C_UINT64</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3">MAT_C_UINT8</a>, <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="group__mat__internal.html#ga2e0153996243f0a34df9a5286087cfa3">Mat_int32Swap()</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a31e721ecf7e188196f83c32838288797">MAT_T_DOUBLE</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a8c5b2e381946e95ea8d81ac216743302">MAT_T_INT16</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a83e06a68320726c6572bfbb9f3addb1d">MAT_T_INT32</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9e825b5d18b8f946eaf2b4b57e51c145">MAT_T_INT64</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a9807f5033ed4f9b548953742d9fd1658">MAT_T_INT8</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a3a3657d40e9212c923d9b9d03531b64c">MAT_T_SINGLE</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a05bc7af7680aa68be95126ae0a4c2e31">MAT_T_UINT16</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453aa397e285a23fe240368b752897652c6a">MAT_T_UINT32</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a45547932c46be27118abe08302d7e29f">MAT_T_UINT64</a>, <a class="el" href="group__MAT.html#ggacf7b3b879282b7ab3a51190e49bf3453a01c1bd7db68f90552862eb5d311be408">MAT_T_UINT8</a>, <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>, <a class="el" href="group__mat__internal.html#gad122b8f46f03a77d5760753b57847c79">ReadCompressedDoubleData()</a>, <a class="el" href="group__mat__internal.html#ga49204e01e4b9b36ee45ba3c8272a3e41">ReadCompressedInt16Data()</a>, <a class="el" href="group__mat__internal.html#ga8dae9a75e45306c710b90a3402ee52c9">ReadCompressedInt32Data()</a>, <a class="el" href="group__mat__internal.html#gabb46699dbb02541d1737296777657c4e">ReadCompressedInt64Data()</a>, <a class="el" href="group__mat__internal.html#ga79cd4da5f9ce29527d8485bdd687446a">ReadCompressedInt8Data()</a>, <a class="el" href="group__mat__internal.html#gac572658b51104da2c998146242d1a521">ReadCompressedSingleData()</a>, <a class="el" href="group__mat__internal.html#ga68028408d484e2c889d475119e5a258b">ReadDoubleData()</a>, <a class="el" href="group__mat__internal.html#ga6804810fa0a86027563af47ce7f3a327">ReadInt16Data()</a>, <a class="el" href="group__mat__internal.html#ga5ea034553a6963464a7258b08959367f">ReadInt32Data()</a>, <a class="el" href="group__mat__internal.html#ga954faea4f3c71024734e1411d491e51d">ReadInt64Data()</a>, <a class="el" href="group__mat__internal.html#gae8fb466ec1051f75b976814692d70ffd">ReadInt8Data()</a>, <a class="el" href="group__mat__internal.html#gadcf7efde0a6f226bf69f523dc609ff0d">ReadSingleData()</a>, <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>, and <a class="el" href="structmatvar__t.html#a0a0dccbeb81c8ffaa4c2f4576fcb3a25">matvar_t::z</a>.</p>

</div>
</div>
<a class="anchor" id="ga4c8205ff25c5b688a40775fbb1840b7e"></a><!-- doxytag: member="mat.c::Mat_VarReadInfo" ref="ga4c8205ff25c5b688a40775fbb1840b7e" args="(mat_t *mat, char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarReadInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the named variable (or the next variable if name is NULL) information (class,flags-complex/global/logical,rank,dimensions,and name) from the Matlab MAT file</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
    <tr><td class="paramname">name</td><td>Name of the variable to read </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="structmatvar__t.html">matvar_t</a> structure containing the MAT variable information </dd></dl>

<p>References <a class="el" href="structmat__t.html#ac99869bdacc587b7f0ddbca35e69f1ee">mat_t::bof</a>, <a class="el" href="structmat__t.html#a14db59344a70db4ac21a685ccd5915b2">mat_t::byteswap</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="group__mat__internal.html#ga2e0153996243f0a34df9a5286087cfa3">Mat_int32Swap()</a>, <a class="el" href="group__MAT.html#ga1d14716f7450530fd1c9d02413787f0e">Mat_VarFree()</a>, <a class="el" href="group__MAT.html#ga72dd99330507b17177e22f9ed3bea5e6">Mat_VarReadNextInfo()</a>, and <a class="el" href="structmatvar__t.html#a5f03073a500dae5824d0c7895ae60df9">matvar_t::name</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga21aeb21db041d0174fb928d3f383f276">Mat_VarRead()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7c321d6aafd93916ba6c5655ad78e9ca"></a><!-- doxytag: member="mat.c::Mat_VarReadNext" ref="ga7c321d6aafd93916ba6c5655ad78e9ca" args="(mat_t *mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarReadNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the next variable in the Matlab MAT file</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="structmatvar__t.html">matvar_t</a> structure containing the MAT variable information </dd></dl>

<p>References <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, and <a class="el" href="group__MAT.html#ga72dd99330507b17177e22f9ed3bea5e6">Mat_VarReadNextInfo()</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>.</p>

</div>
</div>
<a class="anchor" id="ga72dd99330507b17177e22f9ed3bea5e6"></a><!-- doxytag: member="mat.c::Mat_VarReadNextInfo" ref="ga72dd99330507b17177e22f9ed3bea5e6" args="(mat_t *mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatvar__t.html">matvar_t</a>* Mat_VarReadNextInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the next variable's information (class,flags-complex/global/logical, rank,dimensions, name, etc) from the Matlab MAT file. After reading, the MAT file is positioned past the current variable.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>Pointer to the MAT file </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="structmatvar__t.html">matvar_t</a> structure containing the MAT variable information </dd></dl>

<p>References <a class="el" href="group__mat__internal.html#ga5defc934cf088b13347e50ea7f276ea3">Mat_VarReadNextInfo5()</a>, and <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga4c8205ff25c5b688a40775fbb1840b7e">Mat_VarReadInfo()</a>, <a class="el" href="group__MAT.html#ga7c321d6aafd93916ba6c5655ad78e9ca">Mat_VarReadNext()</a>, and <a class="el" href="group__mat__internal.html#ga8f4c0fa3fecdb95f6657d19de5fa8ba6">ReadNextFunctionHandle()</a>.</p>

</div>
</div>
<a class="anchor" id="ga77c5ad24d45047830046fe3ed25da8ad"></a><!-- doxytag: member="mat.c::Mat_VarWrite" ref="ga77c5ad24d45047830046fe3ed25da8ad" args="(mat_t *mat, matvar_t *matvar, int compress)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>compress</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Writes the MAT variable information stored in matvar to the given MAT file. The variable will be written to the end of the file.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>MAT file to write to </td></tr>
    <tr><td class="paramname">matvar</td><td>MAT variable information to write </td></tr>
    <tr><td class="paramname">compress</td><td>Whether or not to compress the data (Only valid for version 5 MAT files and variables with numeric data) </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>, and <a class="el" href="group__mat__internal.html#gadf948197e6c52138056c8a7541949847">Write5()</a>.</p>

<p>Referenced by <a class="el" href="group__MAT.html#ga9446d159d3ecd22a28b54e300f8cc71f">Mat_VarDelete()</a>.</p>

</div>
</div>
<a class="anchor" id="ga43179b930fb30c025a153a55a083a98a"></a><!-- doxytag: member="mat.c::Mat_VarWriteData" ref="ga43179b930fb30c025a153a55a083a98a" args="(mat_t *mat, matvar_t *matvar, void *data, int *start, int *stride, int *edge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarWriteData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Writes data to a MAT variable. The variable must have previously been written with Mat_VarWriteInfo.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>MAT file to write to </td></tr>
    <tr><td class="paramname">matvar</td><td>MAT variable information to write </td></tr>
    <tr><td class="paramname">data</td><td>pointer to the data to write </td></tr>
    <tr><td class="paramname">start</td><td>array of starting indeces </td></tr>
    <tr><td class="paramname">stride</td><td>stride of data </td></tr>
    <tr><td class="paramname">edge</td><td>array specifying the number to read in each direction </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmatvar__t.html#a9371e4064d6982f6e6a36ef3df520249">matvar_t::class_type</a>, <a class="el" href="structmatvar__t.html#a327abc8f4be853b9f26bc054ce1029e5">matvar_t::compression</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4ac549b871996d1ef05d40056bf5bb52e5">COMPRESSION_NONE</a>, <a class="el" href="group__MAT.html#gga768c318af97bd2567758ecb001ceb7f4a1f453c9a2c01b52294b37a1226837f86">COMPRESSION_ZLIB</a>, <a class="el" href="structmatvar__t.html#a98c05904ca5907e299022da5a77e95b1">matvar_t::data_type</a>, <a class="el" href="structmatvar__t.html#a69373274073f3640552b984bf6dbf095">matvar_t::datapos</a>, <a class="el" href="structmatvar__t.html#a0c11088db90e8b8767b04b130ca8daee">matvar_t::dims</a>, <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40aacdec5834df0861130b393697646119c">MAT_C_CHAR</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a5d70e0862e5bdb7bd86bf7ba5948f307">MAT_C_DOUBLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a40370e9de516c5036a67a5865c071006">MAT_C_INT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40adb44fc39694e3152ae5e69470a2fefe8">MAT_C_INT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a1ea83bcde49b35477494412973f82409">MAT_C_INT64</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a984ff310f9e906100fcff95f704f43c5">MAT_C_INT8</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a2825631e26a961cbe0f79db50a39cea2">MAT_C_SINGLE</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a8bede21dbf6c1edc0bbccc1481bccae7">MAT_C_UINT16</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a9a17a7edd45b19ef68197db81b27e816">MAT_C_UINT32</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a86470e25c3763d9a24623f04326195dd">MAT_C_UINT64</a>, <a class="el" href="group__MAT.html#ggad4d60ae7b709fc81bfd744fb4c857c40a81270f8093cb4808e992c1d29d84d4e3">MAT_C_UINT8</a>, <a class="el" href="structmatvar__t.html#a84ba70c96ded13cc555fa75b768d9921">matvar_t::rank</a>, <a class="el" href="group__mat__internal.html#gad2d54035b0d75d67cc02281462b488f9">WriteCharDataSlab2()</a>, <a class="el" href="mat5_8c.html#a65a91f85152fc81322c9b07705849534">WriteData()</a>, <a class="el" href="group__mat__internal.html#gadbd36cea8054e51c817f0ede4285126b">WriteDataSlab2()</a>, and <a class="el" href="structmatvar__t.html#a0a0dccbeb81c8ffaa4c2f4576fcb3a25">matvar_t::z</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ae164415dfd98cdf48ad07033b6e0bb"></a><!-- doxytag: member="mat.c::Mat_VarWriteInfo" ref="ga1ae164415dfd98cdf48ad07033b6e0bb" args="(mat_t *mat, matvar_t *matvar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Mat_VarWriteInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmat__t.html">mat_t</a> *&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatvar__t.html">matvar_t</a> *&#160;</td>
          <td class="paramname"><em>matvar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Writes the MAT variable information stored in matvar to the given MAT file. The variable will be written to the end of the file.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>MAT file to write to </td></tr>
    <tr><td class="paramname">matvar</td><td>MAT variable information to write </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structmat__t.html#ab9c7bc0eef09efbfa9f1e0512288f919">mat_t::fp</a>, <a class="el" href="group__MAT.html#ggad03442b8378999189d510e3745c702b7a858b4f5da65548219b1c3ad47aa478d3">MAT_FT_MAT4</a>, <a class="el" href="structmat__t.html#a5146cb8f2a8e9ad53596f1f25c481e48">mat_t::version</a>, and <a class="el" href="group__mat__internal.html#ga80e4ba45ec110d05657f8f39ffd9ee27">WriteInfo5()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for LIBMATIO API by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>