Mercurial > hg > octave-lyh
diff doc/interpreter/data.texi @ 2689:8c7955a8d49f
[project @ 1997-02-18 09:06:10 by jwe]
author | jwe |
---|---|
date | Tue, 18 Feb 1997 09:09:12 +0000 |
parents | 79c851e2f0ee |
children | 91589ab98e37 |
line wrap: on
line diff
--- a/doc/interpreter/data.texi +++ b/doc/interpreter/data.texi @@ -15,7 +15,8 @@ dynamically while Octave is running, so it is not necessary to recompile all of Octave just to add a new type. @xref{Dynamically Linked Functions} for more information about Octave's dynamic linking -capabilities. +capabilities. @ref{User-defined Data Types} describes what you must do +to define a new data type for Octave. @menu * Built-in Data Types:: @@ -29,11 +30,11 @@ @cindex built-in data types The standard built-in data types are real and complex scalars and -matrices, character strings, and a data structure type. Additional -built-in data types may be added in future versions. If you need a -specialize 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. +matrices, ranges, character strings, and a data structure type. +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. @menu * Numeric Objects:: @@ -49,7 +50,7 @@ Octave's built-in numeric objects include real and complex scalars and matrices. All built-in numeric data is currently stored as double precision numbers. On systems that use the IEEE floating point format, -values in the range +values in the range of approximately @iftex @tex $2.2251\times10^{-308}$ to $1.7977\times10^{308}$ @@ -67,12 +68,12 @@ @ifinfo 2.2204e-16. @end ifinfo -The exact values are given by the variables @var{realmin}, -@var{realmax}, and @var{eps}, respectively. +The exact values are given by the variables @code{realmin}, +@code{realmax}, and @code{eps}, respectively. Matrix objects can be of any size, and can be dynamically reshaped and resized. It is easy to extract individual rows, columns, or submatrices -is using a variety of powerful indexing features. +is using a variety of powerful indexing features. @xref{Index Expressions}. @xref{Numeric Data Types}, for more information. @@ -107,14 +108,20 @@ @cindex user-defined data types @cindex data types, user-defined +Someday I hope to expand this to include a complete description of +Octave's mechanism for managing user-defined data types. Until this +feature is documented here, you will have to make do by reading the code +in the @file{ov.h}, @file{ops.h}, and related files from Octave's +@file{src} directory. + @node Object Sizes, , User-defined Data Types, Data Types @section Object Sizes The following functions allow you to determine the size of a variable or expression. These functions are defined for all objects. They return --1 when the operation doesn't make sense. For example, Octave's data -structure type doesn't have rows or columns, so @code{rows} and -@code{columns} return -1 for structure arguments. +@minus{}1 when the operation doesn't make sense. For example, Octave's +data structure type doesn't have rows or columns, so the @code{rows} and +@code{columns} functions return @minus{}1 for structure arguments. @deftypefn {Function File} {} columns (@var{a}) Return the number of columns of @var{a}. @@ -139,15 +146,14 @@ @example @group -octave:13> size ([1, 2; 3, 4; 5, 6]) -ans = - - 3 2 +size ([1, 2; 3, 4; 5, 6]) + @result{} [ 3, 2 ] -octave:14> [nr, nc] = size ([1, 2; 3, 4; 5, 6]) -nr = 3 +[nr, nc] = size ([1, 2; 3, 4; 5, 6]) -nc = 2 + @result{} nr = 3 + + @result{} nc = 2 @end group @end example @@ -155,8 +161,8 @@ only the row or column dimension. For example @example -octave:15> size ([1, 2; 3, 4; 5, 6], 2) -ans = 2 +size ([1, 2; 3, 4; 5, 6], 2) + @result{} 2 @end example @noindent