annotate README @ 31132:0f4d16af143b

perl.m, python.m: Redo input validation. * perl.m, python.m: Redo input validation to check for correct number of arguments as well as type. Issue more informative error messages when validation fails. Add more BIST tests for input validation.
author Rik <rik@octave.org>
date Sat, 09 Jul 2022 11:11:53 -0700
parents 796f54d4ddbf
children 597f3ee61a48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24170
3dbd6409eeb9 Undo markdown usage for README (cset 312c00dd723a).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 24169
diff changeset
1 GNU Octave -- a high-level language for numerical computations
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 ==============================================================
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
4 Copyright (C) 1996-2022 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 26376
diff changeset
5
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 distribution or <https://octave.org/copyright/>.
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 Overview
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 --------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 GNU Octave is a high-level interpreted language, primarily intended
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 for numerical computations. It provides capabilities for the
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 numerical solution of linear and nonlinear problems, and for
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 performing other numerical experiments. It also provides extensive
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 graphics capabilities for data visualization and manipulation. GNU
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 Octave is normally used through its interactive interface (CLI and
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 GUI), but it can also be used to write non-interactive programs.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 The GNU Octave language is quite similar to Matlab so that most
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 programs are easily portable.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24170
diff changeset
22 GNU Octave is free software: you can redistribute it and/or modify it
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24170
diff changeset
24 the Free Software Foundation, either version 3 of the License, or
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 (at your option) any later version.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 GNU Octave is distributed in the hope that it will be useful, but
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 WITHOUT ANY WARRANTY; without even the implied warranty of
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 GNU General Public License for more details.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 You should have received a copy of the GNU General Public License
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 along with Octave; see the file COPYING. If not, see
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 <https://www.gnu.org/licenses/>.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 Availability
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 ------------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39 The latest released version of Octave is always available from
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 <https://ftp.gnu.org/gnu/octave/> and many mirror sites around the
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 world. You may also find links to binary distributions at
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 <https://www.octave.org/download.html>. The current development
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 sources may be found under the Source Code tab on
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44 [Savannah](https://savannah.gnu.org/projects/octave/).
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 Installation
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 ------------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48
25211
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
49 Octave requires approximately 475 MB of disk storage to unpack and
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
50 compile from source (significantly more, 3.8 GB, if you compile with
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
51 debugging symbols). Once installed, Octave requires approximately
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
52 75 MB of disk space (again, considerably more, 415 MB, if you don't
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
53 build shared libraries or the binaries and libraries include
078abe2f7a44 README: Update sizes of Octave on disk (bug #53611).
Rik <rik@octave.org>
parents: 25054
diff changeset
54 debugging symbols).
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 To compile Octave, you will need a recent version of:
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58 - [GNU Make](https://www.gnu.org/software/make/)
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 - [GNU G++](https://gcc.gnu.org/) or another C++11 compiler
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60 - [GNU Fortran](https://gcc.gnu.org/fortran/), another Fortran 77
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61 compiler, or [f2c](http://www.netlib.org/f2c/)
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63 Octave's Makefiles use features of GNU Make that are not present in
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 other versions of make. If you use `f2c`, you will need a script
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65 like `fort77` that works like a normal Fortran compiler by combining
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66 `f2c` with your C compiler in a single script.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67
28055
713dc97d887f docs: delete old mention of README files in etc directory (bug #57772)
Mike Miller <mtmiller@octave.org>
parents: 27995
diff changeset
68 See the notes in the file `INSTALL.OCTAVE` of the Octave source
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69 distribution for more detailed installation instructions.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71 Bugs and Patches
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 ----------------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73
28415
1296a89b08f4 A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents: 28055
diff changeset
74 The file `BUGS` (or `doc/interpreter/bugs.txi`) explains the recommended
1296a89b08f4 A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents: 28055
diff changeset
75 procedure for reporting bugs on the [bug tracker](https://bugs.octave.org)
1296a89b08f4 A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents: 28055
diff changeset
76 or contributing patches; online documentation is also available
1296a89b08f4 A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents: 28055
diff changeset
77 [here](https://www.gnu.org/software/octave/bugs.html).
24169
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79 Documentation
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80 -------------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
81
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82 * [Octave's manual](https://www.octave.org/doc/interpreter/) is a
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83 comprehensive user guide covering introductive and more advanced
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84 topics.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 * [Octave's wiki](https://wiki.octave.org) is a user community page,
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86 covering various topics and answering
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
87 [FAQ](https://wiki.octave.org/FAQ).
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
88 * [Octave's Doxygen](https://www.octave.org/doxygen/) documentation
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89 explains the C++ class libraries.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
91 Partially, the up-to-dateness of the documentation is lagging a bit
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92 behind the development of the software. If you notice omissions or
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
93 inconsistencies, please report them at our bug tracker. Specific
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94 suggestions for ways to improve Octave and its documentation are
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
95 always welcome. Reports with patches are even more welcome.
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
96
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97 Additional Information
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
98 ----------------------
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
100 Up to date information about Octave is available on the WWW at
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
101 <https://www.octave.org>, or ask for help via email
7610fec6f2a7 Backed out changeset ab6a631abe52
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 <help@octave.org>.