<html lang="en"> <head> <title>Built-in Data Types - Untitled</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="Untitled"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Data-Types.html#Data-Types" title="Data Types"> <link rel="next" href="User_002ddefined-Data-Types.html#User_002ddefined-Data-Types" title="User-defined Data Types"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Built-in-Data-Types"></a> <a name="Built_002din-Data-Types"></a> <p> Next: <a rel="next" accesskey="n" href="User_002ddefined-Data-Types.html#User_002ddefined-Data-Types">User-defined Data Types</a>, Up: <a rel="up" accesskey="u" href="Data-Types.html#Data-Types">Data Types</a> <hr> </div> <h3 class="section">3.1 Built-in Data Types</h3> <p><a name="index-data-types_002c-built_002din-173"></a><a name="index-built_002din-data-types-174"></a> The standard built-in data types are real and complex scalars and matrices, ranges, character strings, a data structure type, and cell arrays. Additional built-in data types may be added in future versions. If you need a specialized data type that is not currently provided as a built-in type, you are encouraged to write your own user-defined data type and contribute it for distribution in a future release of Octave. <p>The data type of a variable can be determined and changed through the use of the following functions. <!-- ov-class.cc --> <p><a name="doc_002dclass"></a> <div class="defun"> — Built-in Function: <b>class</b> (<var>expr</var>)<var><a name="index-class-175"></a></var><br> — Built-in Function: <b>class</b> (<var>s, id</var>)<var><a name="index-class-176"></a></var><br> — Built-in Function: <b>class</b> (<var>s, id, p, <small class="dots">...</small></var>)<var><a name="index-class-177"></a></var><br> <blockquote><p>Return the class of the expression <var>expr</var> or create a class with fields from structure <var>s</var> and name (string) <var>id</var>. Additional arguments name a list of parent classes from which the new class is derived. </p></blockquote></div> <!-- ./general/isa.m --> <p><a name="doc_002disa"></a> <div class="defun"> — Function File: <b>isa</b> (<var>x, class</var>)<var><a name="index-isa-178"></a></var><br> <blockquote><p>Return true if <var>x</var> is a value from the class <var>class</var>. </p></blockquote></div> <!-- ./miscellaneous/cast.m --> <p><a name="doc_002dcast"></a> <div class="defun"> — Function File: <b>cast</b> (<var>val, type</var>)<var><a name="index-cast-179"></a></var><br> <blockquote><p>Convert <var>val</var> to data type <var>type</var>. <!-- Texinfo @sp should work but in practice produces ugly results for HTML. --> <!-- A simple blank line produces the correct behavior. --> <!-- @sp 1 --> <p class="noindent"><strong>See also:</strong> <a href="doc_002dint8.html#doc_002dint8">int8</a>, <a href="doc_002duint8.html#doc_002duint8">uint8</a>, <a href="doc_002dint16.html#doc_002dint16">int16</a>, <a href="doc_002duint16.html#doc_002duint16">uint16</a>, <a href="doc_002dint32.html#doc_002dint32">int32</a>, <a href="doc_002duint32.html#doc_002duint32">uint32</a>, <a href="doc_002dint64.html#doc_002dint64">int64</a>, <a href="doc_002duint64.html#doc_002duint64">uint64</a>, <a href="doc_002ddouble.html#doc_002ddouble">double</a>. </p></blockquote></div> <!-- ./DLD-FUNCTIONS/typecast.cc --> <p><a name="doc_002dtypecast"></a> <div class="defun"> — Loadable Function: <b>typecast</b> (<var>x, type</var>)<var><a name="index-typecast-180"></a></var><br> <blockquote><p>Convert from one datatype to another without changing the underlying data. The argument <var>type</var> defines the type of the return argument and must be one of 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64', 'single' or 'double'. <p>An example of the use of typecast on a little-endian machine is <pre class="example"> <var>x</var> = uint16 ([1, 65535]); typecast (<var>x</var>, 'uint8') ⇒ [ 0, 1, 255, 255] </pre> <!-- Texinfo @sp should work but in practice produces ugly results for HTML. --> <!-- A simple blank line produces the correct behavior. --> <!-- @sp 1 --> <p class="noindent"><strong>See also:</strong> <a href="doc_002dcast.html#doc_002dcast">cast</a>, <a href="doc_002dswapbytes.html#doc_002dswapbytes">swapbytes</a>. </p></blockquote></div> <!-- ./miscellaneous/swapbytes.m --> <p><a name="doc_002dswapbytes"></a> <div class="defun"> — Function File: <b>swapbytes</b> (<var>x</var>)<var><a name="index-swapbytes-181"></a></var><br> <blockquote><p>Swaps the byte order on values, converting from little endian to big endian and vice versa. For example <pre class="example"> swapbytes (uint16 (1:4)) ⇒ [ 256 512 768 1024] </pre> <!-- Texinfo @sp should work but in practice produces ugly results for HTML. --> <!-- A simple blank line produces the correct behavior. --> <!-- @sp 1 --> <p class="noindent"><strong>See also:</strong> <a href="doc_002dtypecast.html#doc_002dtypecast">typecast</a>, <a href="doc_002dcast.html#doc_002dcast">cast</a>. </p></blockquote></div> <ul class="menu"> <li><a accesskey="1" href="Numeric-Objects.html#Numeric-Objects">Numeric Objects</a> <li><a accesskey="2" href="Missing-Data.html#Missing-Data">Missing Data</a> <li><a accesskey="3" href="String-Objects.html#String-Objects">String Objects</a> <li><a accesskey="4" href="Data-Structure-Objects.html#Data-Structure-Objects">Data Structure Objects</a> <li><a accesskey="5" href="Cell-Array-Objects.html#Cell-Array-Objects">Cell Array Objects</a> </ul> </body></html>