Mercurial > hg > octave-nkf
changeset 2363:74f9c8283d31
[project @ 1996-10-11 22:31:17 by jwe]
author | jwe |
---|---|
date | Fri, 11 Oct 1996 22:31:19 +0000 |
parents | 1865e40602a3 |
children | 5eb0af0730d6 |
files | src/arith-ops.h src/builtins.cc src/f-eval.cc src/f-fill.cc src/f-input.cc src/g-builtins.cc src/g-builtins.h |
diffstat | 7 files changed, 0 insertions(+), 3181 deletions(-) [+] |
line wrap: on
line diff
deleted file mode 100644 --- a/src/arith-ops.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - -Copyright (C) 1996 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#if !defined (octave_arith_ops_h) -#define octave_arith_ops_h 1 - -#include "oct-cmplx.h" - -#include "pt-exp.h" - -class Matrix; -class ComplexMatrix; -class octave_value; - -extern octave_value do_unary_op (double d, tree_expression::type t); - -extern octave_value do_unary_op (const Matrix& a, tree_expression::type t); - -extern octave_value do_unary_op (const Complex& c, tree_expression::type t); - -extern octave_value do_unary_op (const ComplexMatrix& a, - tree_expression::type t); - -extern octave_value do_binary_op (double a, double b, - tree_expression::type t); - -extern octave_value do_binary_op (double a, const Matrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (double a, const Complex& b, - tree_expression::type t); - -extern octave_value do_binary_op (double a, const ComplexMatrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Matrix& a, double b, - tree_expression::type t); - -extern octave_value do_binary_op (const Matrix& a, const Matrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Matrix& a, const Complex& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Matrix& a, const ComplexMatrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Complex& a, double b, - tree_expression::type t); - -extern octave_value do_binary_op (const Complex& a, const Matrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Complex& a, const Complex& b, - tree_expression::type t); - -extern octave_value do_binary_op (const Complex& a, const ComplexMatrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const ComplexMatrix& a, double b, - tree_expression::type t); - -extern octave_value do_binary_op (const ComplexMatrix& a, const Matrix& b, - tree_expression::type t); - -extern octave_value do_binary_op (const ComplexMatrix& a, const Complex& b, - tree_expression::type t); - -extern octave_value do_binary_op (const ComplexMatrix& a, - const ComplexMatrix& b, - tree_expression::type t); - -extern void symbols_of_arith_ops (void); - -#endif - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; End: *** -*/
deleted file mode 100644 --- a/src/builtins.cc +++ /dev/null @@ -1,265 +0,0 @@ -// DO NOT EDIT! Generated automatically by mkbuiltins. - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "mappers.h" -#include "variables.h" -#include "builtins.h" -#include "oct-obj.h" - -static void -install_builtin_functions (void) -{ - extern Octave_object Fall (const Octave_object& args, int nargout) ; static builtin_function Sall = { "all" , 2 , 1 , 0 , Fall , - "all (X): are all elements of X nonzero?" }; install_builtin_function (& Sall ); - extern Octave_object Fany (const Octave_object& args, int nargout) ; static builtin_function Sany = { "any" , 2 , 1 , 0 , Fany , - "any (X): are any elements of X nonzero?" }; install_builtin_function (& Sany ); - extern Octave_object Fcumprod (const Octave_object& args, int nargout) ; static builtin_function Scumprod = { "cumprod" , 2 , 1 , 0 , Fcumprod , - "cumprod (X): cumulative products" }; install_builtin_function (& Scumprod ); - extern Octave_object Fcumsum (const Octave_object& args, int nargout) ; static builtin_function Scumsum = { "cumsum" , 2 , 1 , 0 , Fcumsum , - "cumsum (X): cumulative sums" }; install_builtin_function (& Scumsum ); - extern Octave_object Fdiag (const Octave_object& args, int nargout) ; static builtin_function Sdiag = { "diag" , 3 , 1 , 0 , Fdiag , - "diag (X [,k]): form/extract diagonals" }; install_builtin_function (& Sdiag ); - extern Octave_object Fisstr (const Octave_object& args, int nargout) ; static builtin_function Sisstr = { "isstr" , 2 , 1 , 0 , Fisstr , - "isstr (X): return 1 if X is a string, 0 otherwise" }; install_builtin_function (& Sisstr ); - extern Octave_object Fprod (const Octave_object& args, int nargout) ; static builtin_function Sprod = { "prod" , 2 , 1 , 0 , Fprod , - "prod (X): products" }; install_builtin_function (& Sprod ); - extern Octave_object Fsetstr (const Octave_object& args, int nargout) ; static builtin_function Ssetstr = { "setstr" , 2 , 1 , 0 , Fsetstr , - "setstr (V): convert a vector to a string" }; install_builtin_function (& Ssetstr ); - extern Octave_object Fsize (const Octave_object& args, int nargout) ; static builtin_function Ssize = { "size" , 2 , 1 , 0 , Fsize , - "[m, n] = size (x): return rows and columns of X" }; install_builtin_function (& Ssize ); - extern Octave_object Fsum (const Octave_object& args, int nargout) ; static builtin_function Ssum = { "sum" , 2 , 1 , 0 , Fsum , - "sum (X): sum of elements" }; install_builtin_function (& Ssum ); - extern Octave_object Fsumsq (const Octave_object& args, int nargout) ; static builtin_function Ssumsq = { "sumsq" , 2 , 1 , 0 , Fsumsq , - "sumsq (X): sum of squares of elements" }; install_builtin_function (& Ssumsq ); - extern Octave_object Fones (const Octave_object& args, int nargout) ; static builtin_function Sones = { "ones" , 3 , 1 , 0 , Fones , - "ones (N), ones (N, M), ones (X): create a matrix of all ones" }; install_builtin_function (& Sones ); - extern Octave_object Fzeros (const Octave_object& args, int nargout) ; static builtin_function Szeros = { "zeros" , 3 , 1 , 0 , Fzeros , - "zeros (N), zeros (N, M), zeros (X): create a matrix of all zeros" }; install_builtin_function (& Szeros ); - extern Octave_object Feye (const Octave_object& args, int nargout) ; static builtin_function Seye = { "eye" , 3 , 1 , 0 , Feye , - "eye (N), eye (N, M), eye (X): create an identity matrix" }; install_builtin_function (& Seye ); - extern Octave_object Fcd (const Octave_object& args, int nargout) ; static builtin_function Scd = { "cd" , 2 , 1 , 1 , Fcd , - "cd [dir]\n\nchange current working directory\nif no arguments are given, the current directory is changed to the\nusers home directory" }; install_builtin_function (& Scd ); - extern Octave_object Fls (const Octave_object& args, int nargout) ; static builtin_function Sls = { "ls" , -1 , 1 , 1 , Fls , - "ls [options]\n\nprint a directory listing" }; install_builtin_function (& Sls ); - alias_builtin ("dir", "ls"); ; - - extern Octave_object Fpwd (const Octave_object& args, int nargout) ; static builtin_function Spwd = { "pwd" , 1 , 0 , 0 , Fpwd , - "pwd (): print current working directory" }; install_builtin_function (& Spwd ); - extern Octave_object Ferror (const Octave_object& args, int nargout) ; static builtin_function Serror = { "error" , 2 , 1 , 0 , Ferror , - "error (MESSAGE): print MESSAGE and set the error state.\nThis should eventually take us up to the top level, possibly\nprinting traceback messages as we go.\n\nIf MESSAGE ends in a newline character, traceback messages are not\nprinted." }; install_builtin_function (& Serror ); - extern Octave_object Ffclose (const Octave_object& args, int nargout) ; static builtin_function Sfclose = { "fclose" , 2 , 1 , 0 , Ffclose , - "fclose (FILENAME or FILENUM): close a file" }; install_builtin_function (& Sfclose ); - extern Octave_object Ffflush (const Octave_object& args, int nargout) ; static builtin_function Sfflush = { "fflush" , 2 , 1 , 0 , Ffflush , - "fflush (FILENAME or FILENUM): flush buffered data to output file" }; install_builtin_function (& Sfflush ); - extern Octave_object Ffgets (const Octave_object& args, int nargout) ; static builtin_function Sfgets = { "fgets" , 3 , 2 , 0 , Ffgets , - "[STRING, LENGTH] = fgets (FILENAME or FILENUM, LENGTH)\n\nread a string from a file" }; install_builtin_function (& Sfgets ); - extern Octave_object Ffopen (const Octave_object& args, int nargout) ; static builtin_function Sfopen = { "fopen" , 3 , 1 , 0 , Ffopen , - "FILENUM = fopen (FILENAME, MODE): open a file\n\n Valid values for mode include:\n\n r : open text file for reading\n w : open text file for writing; discard previous contents if any\n a : append; open or create text file for writing at end of file\n r+ : open text file for update (i.e., reading and writing)\n w+ : create text file for update; discard previous contents if any\n a+ : append; open or create text file for update, writing at end\n\n Update mode permits reading from and writing to the same file." }; install_builtin_function (& Sfopen ); - extern Octave_object Ffreport (const Octave_object& args, int nargout) ; static builtin_function Sfreport = { "freport" , 1 , 1 , 0 , Ffreport , - "freport (): list open files and their status" }; install_builtin_function (& Sfreport ); - extern Octave_object Ffrewind (const Octave_object& args, int nargout) ; static builtin_function Sfrewind = { "frewind" , 2 , 1 , 0 , Ffrewind , - "frewind (FILENAME or FILENUM): set file position at beginning of file" }; install_builtin_function (& Sfrewind ); - extern Octave_object Ffseek (const Octave_object& args, int nargout) ; static builtin_function Sfseek = { "fseek" , 4 , 1 , 0 , Ffseek , - "fseek (FILENAME or FILENUM, OFFSET [, ORIGIN])\n\nset file position for reading or writing" }; install_builtin_function (& Sfseek ); - extern Octave_object Fftell (const Octave_object& args, int nargout) ; static builtin_function Sftell = { "ftell" , 2 , 1 , 0 , Fftell , - "POSITION = ftell (FILENAME or FILENUM): returns the current file position" }; install_builtin_function (& Sftell ); - extern Octave_object Ffprintf (const Octave_object& args, int nargout) ; static builtin_function Sfprintf = { "fprintf" , -1 , 1 , 0 , Ffprintf , - "fprintf (FILENAME or FILENUM, FORMAT, ...)" }; install_builtin_function (& Sfprintf ); - extern Octave_object Fprintf (const Octave_object& args, int nargout) ; static builtin_function Sprintf = { "printf" , -1 , 1 , 0 , Fprintf , - "printf (FORMAT, ...)" }; install_builtin_function (& Sprintf ); - extern Octave_object Fsprintf (const Octave_object& args, int nargout) ; static builtin_function Ssprintf = { "sprintf" , -1 , 1 , 0 , Fsprintf , - "s = sprintf (FORMAT, ...)" }; install_builtin_function (& Ssprintf ); - extern Octave_object Ffscanf (const Octave_object& args, int nargout) ; static builtin_function Sfscanf = { "fscanf" , 3 , -1 , 0 , Ffscanf , - "[A, B, C, ...] = fscanf (FILENAME or FILENUM, FORMAT)" }; install_builtin_function (& Sfscanf ); - extern Octave_object Fscanf (const Octave_object& args, int nargout) ; static builtin_function Sscanf = { "scanf" , 2 , -1 , 0 , Fscanf , - "[A, B, C, ...] = scanf (FORMAT)" }; install_builtin_function (& Sscanf ); - extern Octave_object Fsscanf (const Octave_object& args, int nargout) ; static builtin_function Ssscanf = { "sscanf" , 3 , -1 , 0 , Fsscanf , - "[A, B, C, ...] = sscanf (STRING, FORMAT)" }; install_builtin_function (& Ssscanf ); - extern Octave_object Ffread (const Octave_object& args, int nargout) ; static builtin_function Sfread = { "fread" , 4 , 2 , 0 , Ffread , - "[DATA, COUNT] = fread (FILENUM, SIZE, PRECISION)\n\n Reads data in binary form of type PRECISION from a file.\n\n FILENUM : file number from fopen\n SIZE : size specification for the Data matrix\n PRECISION : type of data to read, valid types are\n\n 'char', 'schar', 'short', 'int', 'long', 'float'\n 'double', 'uchar', 'ushort', 'uint', 'ulong'\n\n DATA : matrix in which the data is stored\n COUNT : number of elements read" }; install_builtin_function (& Sfread ); - extern Octave_object Ffwrite (const Octave_object& args, int nargout) ; static builtin_function Sfwrite = { "fwrite" , 4 , 1 , 0 , Ffwrite , - "COUNT = fwrite (FILENUM, DATA, PRECISION)\n\n Writes data to a file in binary form of size PRECISION\n\n FILENUM : file number from fopen\n DATA : matrix of elements to be written\n PRECISION : type of data to read, valid types are\n\n 'char', 'schar', 'short', 'int', 'long', 'float'\n 'double', 'uchar', 'ushort', 'uint', 'ulong'\n\n COUNT : number of elements written" }; install_builtin_function (& Sfwrite ); - extern Octave_object Ffeof (const Octave_object& args, int nargout) ; static builtin_function Sfeof = { "feof" , 2 , 1 , 0 , Ffeof , - "ERROR = feof (FILENAME or FILENUM)\n\n Returns a non zero value for an end of file condition for the\n file specified by FILENAME or FILENUM from fopen" }; install_builtin_function (& Sfeof ); - extern Octave_object Fferror (const Octave_object& args, int nargout) ; static builtin_function Sferror = { "ferror" , 2 , 1 , 0 , Fferror , - "ERROR = ferror (FILENAME or FILENUM)\n\n Returns a non zero value for an error condition on the\n file specified by FILENAME or FILENUM from fopen" }; install_builtin_function (& Sferror ); - extern Octave_object Fhelp (const Octave_object& args, int nargout) ; static builtin_function Shelp = { "help" , -1 , 1 , 1 , Fhelp , - "help [-i] [topic ...]\n\nprint cryptic yet witty messages" }; install_builtin_function (& Shelp ); - extern Octave_object Ftype (const Octave_object& args, int nargout) ; static builtin_function Stype = { "type" , -1 , 1 , 1 , Ftype , - "type NAME ...]\n\ndisplay the definition of each NAME that refers to a function" }; install_builtin_function (& Stype ); - extern Octave_object Fwhich (const Octave_object& args, int nargout) ; static builtin_function Swhich = { "which" , -1 , 1 , 1 , Fwhich , - "which NAME ...]\n\ndisplay the type of each NAME. If NAME is defined from an function\nfile, print the full name of the file." }; install_builtin_function (& Swhich ); - extern Octave_object Finput (const Octave_object& args, int nargout) ; static builtin_function Sinput = { "input" , 3 , 1 , 0 , Finput , - "input (PROMPT [, S])\n\nPrompt user for input. If the second argument is present, return -value as a string." }; install_builtin_function (& Sinput ); - extern Octave_object Fkeyboard (const Octave_object& args, int nargout) ; static builtin_function Skeyboard = { "keyboard" , 2 , 1 , 0 , Fkeyboard , - "keyboard (PROMPT)\n\nmaybe help in debugging function files" }; install_builtin_function (& Skeyboard ); - extern Octave_object Fload (const Octave_object& args, int nargout) ; static builtin_function Sload = { "load" , -1 , 1 , 1 , Fload , - "load [-force] [-ascii] [-binary] [-mat-binary] file [pattern ...]\n -\nload variables from a file" }; install_builtin_function (& Sload ); - extern Octave_object Fsave (const Octave_object& args, int nargout) ; static builtin_function Ssave = { "save" , -1 , 1 , 1 , Fsave , - "save [-ascii] [-binary] [-save-builtins] file [pattern ...]\n\nsave variables in a file" }; install_builtin_function (& Ssave ); - extern Octave_object Fcasesen (const Octave_object& args, int nargout) ; static builtin_function Scasesen = { "casesen" , 2 , 1 , 1 , Fcasesen , - "casesen [on|off]" }; install_builtin_function (& Scasesen ); - extern Octave_object Fflops (const Octave_object& args, int nargout) ; static builtin_function Sflops = { "flops" , 2 , 1 , 0 , Fflops , - "flops (): count floating point operations" }; install_builtin_function (& Sflops ); - extern Octave_object Fquit (const Octave_object& args, int nargout) ; static builtin_function Squit = { "quit" , 1 , 0 , 0 , Fquit , - "quit (): exit Octave gracefully" }; install_builtin_function (& Squit ); - alias_builtin ("exit", "quit"); ; - - extern Octave_object Fwarranty (const Octave_object& args, int nargout) ; static builtin_function Swarranty = { "warranty" , 1 , 0 , 0 , Fwarranty , - "warranty (): describe copying conditions" }; install_builtin_function (& Swarranty ); - extern Octave_object Ffeval (const Octave_object& args, int nargout) ; static builtin_function Sfeval = { "feval" , -1 , 1 , 0 , Ffeval , - "feval (NAME, ARGS, ...)\n\nevaluate NAME as a function, passing ARGS as its arguments" }; install_builtin_function (& Sfeval ); - extern Octave_object Feval (const Octave_object& args, int nargout) ; static builtin_function Seval = { "eval" , 2 , 1 , 0 , Feval , - "eval (STRING): evaluate STRING as octave code" }; install_builtin_function (& Seval ); - extern Octave_object Fshell_cmd (const Octave_object& args, int nargout) ; static builtin_function Sshell_cmd = { "shell_cmd" , 2 , 1 , 0 , Fshell_cmd , - "shell_cmd (string [, return_output]): execute shell commands" }; install_builtin_function (& Sshell_cmd ); - extern Octave_object Fedit_history (const Octave_object& args, int nargout) ; static builtin_function Sedit_history = { "edit_history" , -1 , 1 , 1 , Fedit_history , - "edit_history [first] [last]\n\nedit commands from the history list" }; install_builtin_function (& Sedit_history ); - extern Octave_object Fhistory (const Octave_object& args, int nargout) ; static builtin_function Shistory = { "history" , -1 , 1 , 1 , Fhistory , - "history [N] [-w file] [-r file] [-q]\n\ndisplay, save, or load command history" }; install_builtin_function (& Shistory ); - extern Octave_object Frun_history (const Octave_object& args, int nargout) ; static builtin_function Srun_history = { "run_history" , -1 , 1 , 1 , Frun_history , - "run_history [first] [last]\n\nrun commands from the history list" }; install_builtin_function (& Srun_history ); - extern Octave_object Fdiary (const Octave_object& args, int nargout) ; static builtin_function Sdiary = { "diary" , -1 , 1 , 1 , Fdiary , - "diary [on|off]\ndiary [file]\n\nredirect all input and screen output to a file." }; install_builtin_function (& Sdiary ); - extern Octave_object Fdisp (const Octave_object& args, int nargout) ; static builtin_function Sdisp = { "disp" , 3 , 1 , 0 , Fdisp , - "disp (X): display value without name tag" }; install_builtin_function (& Sdisp ); - extern Octave_object Fformat (const Octave_object& args, int nargout) ; static builtin_function Sformat = { "format" , -1 , 1 , 1 , Fformat , - "format [style]\n\nset output formatting style" }; install_builtin_function (& Sformat ); - extern Octave_object Fclc (const Octave_object& args, int nargout) ; static builtin_function Sclc = { "clc" , 1 , 0 , 0 , Fclc , - "clc (): clear screen" }; install_builtin_function (& Sclc ); - alias_builtin ("home", "clc"); ; - - extern Octave_object Fgetenv (const Octave_object& args, int nargout) ; static builtin_function Sgetenv = { "getenv" , 2 , 1 , 0 , Fgetenv , - "getenv (STRING): get environment variable values" }; install_builtin_function (& Sgetenv ); - extern Octave_object Fkbhit (const Octave_object& args, int nargout) ; static builtin_function Skbhit = { "kbhit" , 1 , 1 , 0 , Fkbhit , - "kbhit: get a single character from the terminal" }; install_builtin_function (& Skbhit ); - extern Octave_object Fpause (const Octave_object& args, int nargout) ; static builtin_function Spause = { "pause" , 1 , 1 , 0 , Fpause , - "pause (seconds): suspend program execution" }; install_builtin_function (& Spause ); - extern Octave_object Fclock (const Octave_object& args, int nargout) ; static builtin_function Sclock = { "clock" , 1 , 0 , 0 , Fclock , - "clock (): return current date and time in vector with elements\n\n [ year, month, day-of-month, hour, minute, second ]" }; install_builtin_function (& Sclock ); - extern Octave_object Fdate (const Octave_object& args, int nargout) ; static builtin_function Sdate = { "date" , 1 , 0 , 0 , Fdate , - "date (): return current date in a string, in the form `18-Jul-94'" }; install_builtin_function (& Sdate ); - extern Octave_object Fva_arg (const Octave_object& args, int nargout) ; static builtin_function Sva_arg = { "va_arg" , 1 , 1 , 0 , Fva_arg , - "va_arg (): return next argument in a function that takes a\nvariable number of parameters" }; install_builtin_function (& Sva_arg ); - extern Octave_object Fva_start (const Octave_object& args, int nargout) ; static builtin_function Sva_start = { "va_start" , 1 , 0 , 0 , Fva_start , - "va_start (): reset the pointer to the list of optional arguments\nto the beginning" }; install_builtin_function (& Sva_start ); - extern Octave_object Fcloseplot (const Octave_object& args, int nargout) ; static builtin_function Scloseplot = { "closeplot" , 1 , 0 , 0 , Fcloseplot , - "closeplot (): close the stream to plotter" }; install_builtin_function (& Scloseplot ); - extern Octave_object Fhold (const Octave_object& args, int nargout) ; static builtin_function Shold = { "hold" , -1 , 1 , 1 , Fhold , - "hold [on|off]\n\ndetermine whether the plot window is cleared before the next line is\ndrawn. With no argument, toggle the current state." }; install_builtin_function (& Shold ); - extern Octave_object Fpurge_tmp_files (const Octave_object& args, int nargout) ; static builtin_function Spurge_tmp_files = { "purge_tmp_files" , 5 , 1 , 0 , Fpurge_tmp_files , - "delete temporary data files used for plotting" }; install_builtin_function (& Spurge_tmp_files ); - extern Octave_object Fset (const Octave_object& args, int nargout) ; static builtin_function Sset = { "set" , -1 , 1 , 1 , Fset , - "set [options]\n\nset plotting options" }; install_builtin_function (& Sset ); - extern Octave_object Fshow (const Octave_object& args, int nargout) ; static builtin_function Sshow = { "show" , -1 , 1 , 1 , Fshow , - "show [options]\n\nshow plotting options" }; install_builtin_function (& Sshow ); - extern Octave_object Fis_global (const Octave_object& args, int nargout) ; static builtin_function Sis_global = { "is_global" , 2 , 1 , 0 , Fis_global , - "is_global (X): return 1 if the string X names a global variable\notherwise, return 0." }; install_builtin_function (& Sis_global ); - extern Octave_object Fexist (const Octave_object& args, int nargout) ; static builtin_function Sexist = { "exist" , 2 , 1 , 0 , Fexist , - "exist (NAME): check if variable or file exists\n\nreturn 0 if NAME is undefined, 1 if it is a variable, or 2 if it is\na function." }; install_builtin_function (& Sexist ); - extern Octave_object Fdocument (const Octave_object& args, int nargout) ; static builtin_function Sdocument = { "document" , -1 , 1 , 1 , Fdocument , - "document symbol string ...\n\nAssociate a cryptic message with a variable name." }; install_builtin_function (& Sdocument ); - extern Octave_object Fwho (const Octave_object& args, int nargout) ; static builtin_function Swho = { "who" , -1 , 1 , 1 , Fwho , - "who [-all] [-builtins] [-functions] [-long] [-variables]\n\nList currently defined symbol(s). Options may be shortened to one\ncharacter, but may not be combined." }; install_builtin_function (& Swho ); - extern Octave_object Fwhos (const Octave_object& args, int nargout) ; static builtin_function Swhos = { "whos" , -1 , 1 , 1 , Fwhos , - "whos [-all] [-builtins] [-functions] [-long] [-variables]\n\nList currently defined symbol(s). Options may be shortened to one\ncharacter, but may not be combined." }; install_builtin_function (& Swhos ); - extern Octave_object Fclear (const Octave_object& args, int nargout) ; static builtin_function Sclear = { "clear" , -1 , 1 , 1 , Fclear , - "clear [name ...]\n\nclear symbol(s) matching a list of globbing patterns\nif no arguments are given, clear all user-defined variables and functions" }; install_builtin_function (& Sclear ); - extern Octave_object Fbalance (const Octave_object& args, int nargout) ; static builtin_function Sbalance = { "balance" , 4 , 4 , 0 , Fbalance , - "AA = balance (A [, OPT]) or [[DD,] AA] = balance (A [, OPT])\n\ngeneralized eigenvalue problem:\n\n [cc, dd, aa, bb] = balance (a, b [, opt])\n\nwhere OPT is an optional single character argument as follows: \n\n N: no balancing; arguments copied, transformation(s) set to identity\n P: permute argument(s) to isolate eigenvalues where possible\n S: scale to improve accuracy of computed eigenvalues\n B: (default) permute and scale, in that order. Rows/columns\n of a (and b) that are isolated by permutation are not scaled\n\n[DD, AA] = balance (A, OPT) returns aa = dd\a*dd,\n\n[CC, DD, AA, BB] = balance (A, B, OPT) returns AA (BB) = CC*A*DD (CC*B*DD)" }; install_builtin_function (& Sbalance ); - extern Octave_object Fchol (const Octave_object& args, int nargout) ; static builtin_function Schol = { "chol" , 2 , 1 , 0 , Fchol , - "R = chol (X): cholesky factorization" }; install_builtin_function (& Schol ); - extern Octave_object Fcolloc (const Octave_object& args, int nargout) ; static builtin_function Scolloc = { "colloc" , 7 , 4 , 0 , Fcolloc , - "[R, A, B, Q] = colloc (N [, \"left\"] [, \"right\"]): collocation weights" }; install_builtin_function (& Scolloc ); - extern Octave_object Fdassl (const Octave_object& args, int nargout) ; static builtin_function Sdassl = { "dassl" , 5 , 1 , 0 , Fdassl , - "dassl (\"function_name\", x_0, xdot_0, t_out)\ndassl (F, X_0, XDOT_0, T_OUT, T_CRIT)\n\nThe first argument is the name of the function to call to\ncompute the vector of residuals. It must have the form\n\n res = f (x, xdot, t)\n\nwhere x, xdot, and res are vectors, and t is a scalar." }; install_builtin_function (& Sdassl ); - extern Octave_object Fdassl_options (const Octave_object& args, int nargout) ; static builtin_function Sdassl_options = { "dassl_options" , -1 , 1 , 0 , Fdassl_options , - "dassl_options (KEYWORD, VALUE)\n\nSet or show options for dassl. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Sdassl_options ); - extern Octave_object Fdet (const Octave_object& args, int nargout) ; static builtin_function Sdet = { "det" , 2 , 1 , 0 , Fdet , - "det (X): determinant of a square matrix" }; install_builtin_function (& Sdet ); - extern Octave_object Feig (const Octave_object& args, int nargout) ; static builtin_function Seig = { "eig" , 2 , 1 , 0 , Feig , - "eig (X) or [V, D] = eig (X): compute eigenvalues and eigenvectors of X" }; install_builtin_function (& Seig ); - extern Octave_object Fexpm (const Octave_object& args, int nargout) ; static builtin_function Sexpm = { "expm" , 2 , 1 , 0 , Fexpm , - "expm (X): matrix exponential, e^A" }; install_builtin_function (& Sexpm ); - extern Octave_object Ffft (const Octave_object& args, int nargout) ; static builtin_function Sfft = { "fft" , 2 , 1 , 0 , Ffft , - "fft (X): fast fourier transform of a vector" }; install_builtin_function (& Sfft ); - extern Octave_object Ffind (const Octave_object& args, int nargout) ; static builtin_function Sfind = { "find" , 2 , 3 , 0 , Ffind , - "find (X) or [I, J, V] = find (X): Return indices of nonzero elements" }; install_builtin_function (& Sfind ); - extern Octave_object Ffsolve (const Octave_object& args, int nargout) ; static builtin_function Sfsolve = { "fsolve" , 5 , 1 , 0 , Ffsolve , - "Solve nonlinear equations using Minpack. Usage:\n\n [X, INFO] = fsolve (F, X0)\n\nWhere the first argument is the name of the function to call to\ncompute the vector of function values. It must have the form\n\n y = f (x) -\nwhere y and x are vectors." }; install_builtin_function (& Sfsolve ); - extern Octave_object Ffsolve_options (const Octave_object& args, int nargout) ; static builtin_function Sfsolve_options = { "fsolve_options" , -1 , 1 , 0 , Ffsolve_options , - "fsolve_options (KEYWORD, VALUE)\n\nSet or show options for fsolve. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Sfsolve_options ); - extern Octave_object Ffsqp (const Octave_object& args, int nargout) ; static builtin_function Sfsqp = { "fsqp" , 11 , 3 , 0 , Ffsqp , - "[X, PHI] = fsqp (X, PHI [, LB, UB] [, LB, A, UB] [, LB, G, UB])\n\nGroups of arguments surrounded in `[]' are optional, but\nmust appear in the same relative order shown above." }; install_builtin_function (& Sfsqp ); - extern Octave_object Ffsqp_options (const Octave_object& args, int nargout) ; static builtin_function Sfsqp_options = { "fsqp_options" , -1 , 1 , 0 , Ffsqp_options , - "fsqp_options (KEYWORD, VALUE)\n\nSet or show options for fsqp. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Sfsqp_options ); - extern Octave_object Fgivens (const Octave_object& args, int nargout) ; static builtin_function Sgivens = { "givens" , 3 , 2 , 0 , Fgivens , - "G = givens (X, Y)\n\ncompute orthogonal matrix G = [c s; -conj (s) c]\nsuch that G [x; y] = [*; 0] (x, y scalars)\n\n[c, s] = givens (x, y) returns the (c, s) values themselves." }; install_builtin_function (& Sgivens ); - extern Octave_object Fhess (const Octave_object& args, int nargout) ; static builtin_function Shess = { "hess" , 2 , 2 , 0 , Fhess , - "[P, H] = hess (A) or H = hess (A): Hessenberg decomposition" }; install_builtin_function (& Shess ); - extern Octave_object Fifft (const Octave_object& args, int nargout) ; static builtin_function Sifft = { "ifft" , 2 , 1 , 0 , Fifft , - "ifft (X): inverse fast fourier transform of a vector" }; install_builtin_function (& Sifft ); - extern Octave_object Finv (const Octave_object& args, int nargout) ; static builtin_function Sinv = { "inv" , 2 , 1 , 0 , Finv , - "inv (X): inverse of a square matrix" }; install_builtin_function (& Sinv ); - extern Octave_object Flogm (const Octave_object& args, int nargout) ; static builtin_function Slogm = { "logm" , 2 , 1 , 0 , Flogm , - "logm (X): matrix logarithm" }; install_builtin_function (& Slogm ); - extern Octave_object Fsqrtm (const Octave_object& args, int nargout) ; static builtin_function Ssqrtm = { "sqrtm" , 2 , 1 , 0 , Fsqrtm , - "sqrtm (X): matrix sqrt" }; install_builtin_function (& Ssqrtm ); - extern Octave_object Flpsolve (const Octave_object& args, int nargout) ; static builtin_function Slpsolve = { "lpsolve" , 11 , 3 , 0 , Flpsolve , - "lp_solve (): solve linear programs using lp_solve." }; install_builtin_function (& Slpsolve ); - extern Octave_object Flpsolve_options (const Octave_object& args, int nargout) ; static builtin_function Slpsolve_options = { "lpsolve_options" , -1 , 1 , 0 , Flpsolve_options , - "lp_solve_options (KEYWORD, VALUE)\n\nSet or show options for lp_solve. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Slpsolve_options ); - extern Octave_object Flsode (const Octave_object& args, int nargout) ; static builtin_function Slsode = { "lsode" , 6 , 1 , 0 , Flsode , - "lsode (F, X0, T_OUT, T_CRIT)\n\nThe first argument is the name of the function to call to\ncompute the vector of right hand sides. It must have the form\n\n xdot = f (x, t)\n\nwhere xdot and x are vectors and t is a scalar.\n" }; install_builtin_function (& Slsode ); - extern Octave_object Flsode_options (const Octave_object& args, int nargout) ; static builtin_function Slsode_options = { "lsode_options" , -1 , 1 , 0 , Flsode_options , - "lsode_options (KEYWORD, VALUE)\n\nSet or show options for lsode. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Slsode_options ); - extern Octave_object Flu (const Octave_object& args, int nargout) ; static builtin_function Slu = { "lu" , 2 , 3 , 0 , Flu , - "[L, U, P] = lu (A): LU factorization" }; install_builtin_function (& Slu ); - extern Octave_object Fmin (const Octave_object& args, int nargout) ; static builtin_function Smin = { "min" , 3 , 2 , 0 , Fmin , - "min (X): minimum value(s) of a vector (matrix)" }; install_builtin_function (& Smin ); - extern Octave_object Fmax (const Octave_object& args, int nargout) ; static builtin_function Smax = { "max" , 3 , 2 , 0 , Fmax , - "max (X): maximum value(s) of a vector (matrix)" }; install_builtin_function (& Smax ); - extern Octave_object Fnpsol (const Octave_object& args, int nargout) ; static builtin_function Snpsol = { "npsol" , 11 , 3 , 0 , Fnpsol , - "[X, OBJ, INFO, LAMBDA] = npsol (X, PHI [, LB, UB] [, LB, A, UB] [, LB, G, UB])\n\nGroups of arguments surrounded in `[]' are optional, but\nmust appear in the same relative order shown above.\n\nThe second argument is a string containing the name of the objective\nfunction to call. The objective function must be of the form\n\n y = phi (x)\n\nwhere x is a vector and y is a scalar.\n\nThe argument G is a string containing the name of the function that -defines the nonlinear constraints. It must be of the form\n\n y = g (x)\n\nwhere x is a vector and y is a vector." }; install_builtin_function (& Snpsol ); - extern Octave_object Fnpsol_options (const Octave_object& args, int nargout) ; static builtin_function Snpsol_options = { "npsol_options" , -1 , 1 , 0 , Fnpsol_options , - "npsol_options (KEYWORD, VALUE)\n\nSet or show options for npsol. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Snpsol_options ); - extern Octave_object Fqpsol (const Octave_object& args, int nargout) ; static builtin_function Sqpsol = { "qpsol" , 9 , 3 , 0 , Fqpsol , - "[X, OBJ, INFO, LAMBDA] = qpsol (X, H, C [, LB, UB] [, LB, A, UB])\n\nGroups of arguments surrounded in `[]' are optional, but\nmust appear in the same relative order shown above." }; install_builtin_function (& Sqpsol ); - extern Octave_object Fqpsol_options (const Octave_object& args, int nargout) ; static builtin_function Sqpsol_options = { "qpsol_options" , -1 , 1 , 0 , Fqpsol_options , - "qpsol_options (KEYWORD, VALUE)\n -\nSet or show options for qpsol. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Sqpsol_options ); - extern Octave_object Fqr (const Octave_object& args, int nargout) ; static builtin_function Sqr = { "qr" , 2 , 2 , 0 , Fqr , - "[Q, R] = qr (X): form Q unitary and R upper triangular such\n that Q * R = X\n\n[Q, R] = qr (X, 0): form the economy decomposition such that if X is\n if X is m by n then only the first n columns of Q\n are computed.\n\n[Q, R, P] = qr (X): form QRP factorization of X where\n P is a permutation matrix such that\n A * P = Q * R\n\n[Q, R, P] = qr (X, 0): form the economy decomposition with \n permutation vector P such that Q * R = X (:, P)\n\nqr (X) alone returns the output of the LAPACK routine dgeqrf, such\nthat R = triu (qr (X))" }; install_builtin_function (& Sqr ); - extern Octave_object Fquad (const Octave_object& args, int nargout) ; static builtin_function Squad = { "quad" , 6 , 3 , 0 , Fquad , - "[V, IER, NFUN] = quad (F, A, B [, TOL] [, SING])\n\nWhere the first argument is the name of the function to call to\ncompute the value of the integrand. It must have the form\n\n y = f (x) -\nwhere y and x are scalars.\n\nThe second and third arguments are limits of integration. Either or\nboth may be infinite. The optional argument TOL specifies the desired\naccuracy of the result. The optional argument SING is a vector of\nat which the integrand is singular." }; install_builtin_function (& Squad ); - extern Octave_object Fquad_options (const Octave_object& args, int nargout) ; static builtin_function Squad_options = { "quad_options" , -1 , 1 , 0 , Fquad_options , - "quad_options (KEYWORD, VALUE)\n\nSet or show options for quad. Keywords may be abbreviated\nto the shortest match." }; install_builtin_function (& Squad_options ); - extern Octave_object Fqzvalue (const Octave_object& args, int nargout) ; static builtin_function Sqzvalue = { "qzvalue" , 3 , 1 , 0 , Fqzvalue , - "X = qzval (A, B)\n\ncompute generalized eigenvalues of the matrix pencil (A - lambda B).\nA and B must be real matrices." }; install_builtin_function (& Sqzvalue ); - extern Octave_object Frand (const Octave_object& args, int nargout) ; static builtin_function Srand = { "rand" , 2 , 1 , 0 , Frand , - "rand -- generate a random value\n\nrand (N) -- generate N x N matrix\nrand (A) -- generate matrix the size of A\nrand (N, M) -- generate N x M matrix\nrand (\"dist\") -- get current distribution\nrand (DISTRIBUTION) -- set distribution type (\"normal\" or \"uniform\"\nrand (SEED) -- get current seed\nrand (SEED, N) -- set seed" }; install_builtin_function (& Srand ); - extern Octave_object Fschur (const Octave_object& args, int nargout) ; static builtin_function Sschur = { "schur" , 3 , 2 , 0 , Fschur , - "[U, S] = schur (A) or S = schur (A)\n\nor, for ordered Schur:\n\n [U, S] = schur (A, TYPE) or S = schur (A, TYPE)\nwhere TYPE is a string that begins with one of the following\ncharacters:\n\n A = continuous time poles\n D = discrete time poles\n U = unordered schur (default)" }; install_builtin_function (& Sschur ); - extern Octave_object Fsort (const Octave_object& args, int nargout) ; static builtin_function Ssort = { "sort" , 2 , 2 , 0 , Fsort , - "[S, I] = sort (X)\n\nsort the columns of X, optionally return sort index" }; install_builtin_function (& Ssort ); - extern Octave_object Fsvd (const Octave_object& args, int nargout) ; static builtin_function Ssvd = { "svd" , 2 , 3 , 0 , Fsvd , - "S = svd (X) or [U, S, V] = svd (X [, 0])\n\nCompute the singular value decomposition of X. Given a second input\nargument, an `economy' sized factorization is computed that omits\nunnecessary rows and columns of U and V" }; install_builtin_function (& Ssvd ); - extern Octave_object Fsyl (const Octave_object& args, int nargout) ; static builtin_function Ssyl = { "syl" , 4 , 1 , 0 , Fsyl , - "X = syl (A, B, C): solve the Sylvester equation A X + X B + C = 0" }; install_builtin_function (& Ssyl ); -} - -void -install_builtins (void) -{ - install_builtin_variables (); - install_mapper_functions (); - install_builtin_functions (); -}
deleted file mode 100644 --- a/src/f-eval.cc +++ /dev/null @@ -1,124 +0,0 @@ -// f-eval.cc -*- C++ -*- -/* - -Copyright (C) 1994 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "unwind-prot.h" -#include "tree-const.h" -#include "variables.h" -#include "octave.h" -#include "input.h" -#include "parse.h" -#include "lex.h" -#include "f-eval.h" - -Octave_object -feval (const Octave_object& args, int nargout) -{ -// Assumes that we have been given the correct number of arguments. - - Octave_object retval; - - tree_fvc *fcn = is_valid_function (args(1), "feval", 1); - if (fcn != (tree_fvc *) NULL) - { - int nargin = args.length () - 1; - Octave_object tmp_args (nargin); - for (int i = 0; i < nargin; i++) - tmp_args(i) = args(i+1); - retval = fcn->eval (0, nargout, tmp_args); - } - - return retval; -} - -tree_constant -eval_string (const char *string, int print, int ans_assign, - int& parse_status) -{ - begin_unwind_frame ("eval_string"); - - unwind_protect_int (get_input_from_eval_string); - unwind_protect_ptr (global_command); - unwind_protect_ptr (current_eval_string); - - get_input_from_eval_string = 1; - current_eval_string = string; - - YY_BUFFER_STATE old_buf = current_buffer (); - YY_BUFFER_STATE new_buf = create_buffer ((FILE *) NULL); - - add_unwind_protect (restore_input_buffer, (void *) old_buf); - add_unwind_protect (delete_input_buffer, (void *) new_buf); - - switch_to_buffer (new_buf); - - unwind_protect_ptr (curr_sym_tab); - - reset_parser (); - - parse_status = yyparse (); - -// Important to reset the idea of where input is coming from before -// trying to eval the command we just parsed -- it might contain the -// name of an function file that still needs to be parsed! - - tree *command = global_command; - - run_unwind_frame ("eval_string"); - - tree_constant retval; - - if (parse_status == 0 && command != NULL_TREE) - { - retval = command->eval (print); - delete command; - } - - return retval; -} - -tree_constant -eval_string (const tree_constant& arg, int& parse_status) -{ - if (! arg.is_string_type ()) - { - error ("eval: expecting string argument"); - return -1; - } - - char *string = arg.string_value (); - -// Yes Virginia, we always print here... - - return eval_string (string, 1, 1, parse_status); -} - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; page-delimiter: "^/\\*" *** -;;; End: *** -*/
deleted file mode 100644 --- a/src/f-fill.cc +++ /dev/null @@ -1,175 +0,0 @@ -// f-fill.cc -*- C++ -*- -/* - -Copyright (C) 1994 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "tree-const.h" -#include "user-prefs.h" -#include "utils.h" -#include "error.h" -#include "f-fill.h" - -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -static void -check_dimensions (int& nr, int& nc, const char *warnfor) -{ - if (nr < 0 || nc < 0) - { - if (user_pref.treat_neg_dim_as_zero) - nr = nc = 0; - else - error ("%s: can't create a matrix with negative dimensions", - warnfor); - } -} - -static void -get_dimensions (const tree_constant& a, const char *warn_for, - int& nr, int& nc) -{ - tree_constant tmpa = a.make_numeric (); - - if (tmpa.is_scalar_type ()) - { - double tmp = tmpa.double_value (); - nr = nc = NINT (tmp); - } - else - { - nr = tmpa.rows (); - nc = tmpa.columns (); - - if ((nr == 1 && nc == 2) || (nr == 2 && nc == 1)) - { - ColumnVector v = tmpa.to_vector (); - - nr = NINT (v.elem (0)); - nc = NINT (v.elem (1)); - } - else - warning ("%s (A): use %s (size (A)) instead", warn_for, warn_for); - } - - check_dimensions (nr, nc, warn_for); // May set error_state. -} - -static void -get_dimensions (const tree_constant& a, const tree_constant& b, - const char *warn_for, int& nr, int& nc) -{ - tree_constant tmpa = a.make_numeric (); - tree_constant tmpb = b.make_numeric (); - - if (tmpa.is_scalar_type () && tmpb.is_scalar_type ()) - { - nr = NINT (tmpa.double_value ()); - nc = NINT (tmpb.double_value ()); - - check_dimensions (nr, nc, warn_for); // May set error_state. - } - else - error ("%s: expecting two scalar arguments", warn_for); -} - -tree_constant -fill_matrix (const tree_constant& a, double val, const char *warn_for) -{ - int nr, nc; - get_dimensions (a, warn_for, nr, nc); - - if (error_state) - return tree_constant (); - - Matrix m (nr, nc, val); - - return m; -} - -tree_constant -fill_matrix (const tree_constant& a, const tree_constant& b, - double val, const char *warn_for) -{ - int nr, nc; - get_dimensions (a, b, warn_for, nr, nc); // May set error_state. - - if (error_state) - return tree_constant (); - - Matrix m (nr, nc, val); - - return m; -} - -tree_constant -identity_matrix (const tree_constant& a) -{ - int nr, nc; - get_dimensions (a, "eye", nr, nc); // May set error_state. - - if (error_state) - return tree_constant (); - - Matrix m (nr, nc, 0.0); - - if (nr > 0 && nc > 0) - { - int n = MIN (nr, nc); - for (int i = 0; i < n; i++) - m.elem (i, i) = 1.0; - } - - return m; -} - -tree_constant -identity_matrix (const tree_constant& a, const tree_constant& b) -{ - int nr, nc; - get_dimensions (a, b, "eye", nr, nc); // May set error_state. - - if (error_state) - return tree_constant (); - - Matrix m (nr, nc, 0.0); - - if (nr > 0 && nc > 0) - { - int n = MIN (nr, nc); - for (int i = 0; i < n; i++) - m.elem (i, i) = 1.0; - } - - return m; -} - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; page-delimiter: "^/\\*" *** -;;; End: *** -*/
deleted file mode 100644 --- a/src/f-input.cc +++ /dev/null @@ -1,135 +0,0 @@ -// f-input.cc -*- C++ -*- -/* - -Copyright (C) 1994 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <string.h> - -#include "tree-const.h" -#include "octave-hist.h" -#include "pager.h" -#include "input.h" -#include "f-eval.h" -#include "f-input.h" - -static int -match_sans_spaces (const char *standard, const char *test) -{ - const char *tp = test; - while (*tp == ' ' || *tp == '\t') - tp++; - - const char *ep = test + strlen (test) - 1; - while (*ep == ' ' || *ep == '\t') - ep--; - - int len = ep - tp + 1; - - return (strncmp (standard, tp, len) == 0); -} - -tree_constant -get_user_input (const Octave_object& args, int nargout, int debug = 0) -{ - tree_constant retval; - - int nargin = args.length (); - - int read_as_string = 0; - - if (nargin == 3) - { - if (args(2).is_string_type () - && strcmp ("s", args(2).string_value ()) == 0) - read_as_string++; - else - { - error ("input: unrecognized second argument"); - return retval; - } - } - - char *prompt = "debug> "; - if (nargin > 1) - { - if (args(1).is_string_type ()) - prompt = args(1).string_value (); - else - { - error ("input: unrecognized argument"); - return retval; - } - } - - again: - - flush_output_to_pager (); - - char *input_buf = gnu_readline (prompt); - - if (input_buf != (char *) NULL) - { - if (input_buf) - maybe_save_history (input_buf); - - int len = strlen (input_buf); - - if (len < 1) - { - if (debug) - goto again; - else - return retval; - } - - if (match_sans_spaces ("exit", input_buf) - || match_sans_spaces ("quit", input_buf) - || match_sans_spaces ("return", input_buf)) - return tree_constant (); - else if (read_as_string) - retval = input_buf; - else - { - int parse_status = 0; - retval = eval_string (input_buf, 0, 0, parse_status); - if (debug && retval.is_defined ()) - retval.eval (1); - } - } - else - error ("input: reading user-input failed!"); - - if (debug) - goto again; - - return retval; -} - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; page-delimiter: "^/\\*" *** -;;; End: *** -*/
deleted file mode 100644 --- a/src/g-builtins.cc +++ /dev/null @@ -1,2135 +0,0 @@ -// g-builtins.cc -*- C++ -*- -/* - -Copyright (C) 1992, 1993, 1994 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -/* - -The function builtin_pwd adapted from a similar function from GNU -Bash, the Bourne Again SHell, copyright (C) 1987, 1989, 1991 Free -Software Foundation, Inc. - -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <sys/types.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <strstream.h> -#include <iostream.h> -#include <fstream.h> -#include <stdio.h> -#include <sys/wait.h> -#include <sys/param.h> -#include <signal.h> -#include <math.h> - -#include "f-balance.h" -#include "f-chol.h" -#include "f-colloc.h" -#include "f-dassl.h" -#include "f-det.h" -#include "f-eig.h" -#include "f-expm.h" -#include "f-fft.h" -#include "f-fsolve.h" -#include "f-fsqp.h" -#include "f-givens.h" -#include "f-hess.h" -#include "f-ifft.h" -#include "f-inv.h" -#include "f-lpsolve.h" -#include "f-lsode.h" -#include "f-lu.h" -#include "f-npsol.h" -#include "f-qpsol.h" -#include "f-qr.h" -#include "f-quad.h" -#include "f-qzval.h" -#include "f-rand.h" -#include "f-schur.h" -#include "f-svd.h" -#include "f-syl.h" - -#include "sighandlers.h" -#include "procstream.h" -#include "error.h" -#include "variables.h" -#include "builtins.h" -#include "g-builtins.h" -#include "user-prefs.h" -#include "utils.h" -#include "tree.h" -#include "tree-const.h" -#include "input.h" -#include "pager.h" -#include "octave.h" -#include "version.h" -#include "file-io.h" - -extern "C" -{ -#include <readline/readline.h> - -extern char *term_clrpag; -extern void _rl_output_character_function (); -} - -#ifndef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif - -#ifdef WITH_DLD -#include "dynamic-ld.h" -#define Q_STR(name) #name -#define DLD_FCN(name) Q_STR (builtin_##name##_2) -#define DLD_OBJ(name) Q_STR (f-##name##.o) -#define DLD_BUILTIN(args,n_out,name,code) \ -return octave_dld_tc2_and_go (args, n_out, Q_STR (name), \ - DLD_FCN (name), DLD_OBJ (name)); - -#else -#define DLD_BUILTIN(name,args,n_out,code) code -#endif - -// Non-zero means that pwd always give verbatim directory, regardless -// of symbolic link following. -static int verbatim_pwd = 1; - -/* - * Are all elements of a constant nonzero? - */ -Octave_object -builtin_all (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("all"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).all (); - } - } - - return retval; -} - -/* - * Are any elements of a constant nonzero? - */ -Octave_object -builtin_any (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("any"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).any (); - } - } - - return retval; -} - -/* - * Balancing for eigenvalue problems - */ -Octave_object -builtin_balance (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin <= 1 || nargin > 4 || nargout < 0 || nargout > 4) - print_usage ("balance"); - else - { - DLD_BUILTIN (args, nargout, balance, - retval = balance (args, nargout)); - } - - return retval; -} - -/* - * Cholesky factorization. - */ -Octave_object -builtin_chol (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && (nargout == 0 || nargout == 1)) - DLD_BUILTIN (args, nargout, chol, - { - retval.resize (1); - retval(0) = chol (args(1)); - }) - else - usage ("R = chol(A) \n"); - - return retval; -} - -/* - * Clear the screen? - */ -Octave_object -builtin_clc (const Octave_object& args, int nargout) -{ - Octave_object retval; - - rl_beg_of_line (); - rl_kill_line (1); - -#if ! defined (_GO32_) - if (term_clrpag) - tputs (term_clrpag, 1, _rl_output_character_function); - else - crlf (); -#else - crlf (); -#endif - - fflush (rl_outstream); - - return retval; -} - -/* - * Time in a vector. - */ -Octave_object -builtin_clock (const Octave_object& args, int nargout) -{ - Octave_object retval; - - time_t now; - struct tm *tm; - - time (&now); - tm = localtime (&now); - - Matrix m (1, 6); - m.elem (0, 0) = tm->tm_year + 1900; - m.elem (0, 1) = tm->tm_mon + 1; - m.elem (0, 2) = tm->tm_mday; - m.elem (0, 3) = tm->tm_hour; - m.elem (0, 4) = tm->tm_min; - m.elem (0, 5) = tm->tm_sec; - - retval.resize (1); - retval(0) = tree_constant (m); - - return retval; -} - -/* - * Close the stream to the plotter. - */ -Octave_object -builtin_closeplot (const Octave_object& args, int nargout) -{ - Octave_object retval; - close_plot_stream (); - return retval; -} - -/* - * Collocation roots and weights. - */ -Octave_object -builtin_colloc (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 2 || nargin > 4) - print_usage ("colloc"); - else - DLD_BUILTIN (args, nargout, colloc, - retval = collocation_weights (args);) - - return retval; -} - -/* - * Cumulative sums and products. - */ -Octave_object -builtin_cumprod (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("cumprod"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).cumprod (); - } - } - - return retval; -} - -Octave_object -builtin_cumsum (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("cumsum"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).cumsum (); - } - } - - return retval; -} - -/* - * DAEs. - */ -Octave_object -builtin_dassl (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 5 || nargin == 6) && nargout >= 0) - DLD_BUILTIN (args, nargout, dassl, - retval = dassl (args, nargout);) - else - print_usage ("dassl"); - - return retval; -} - -Octave_object -builtin_dassl_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - - DLD_BUILTIN (args, nargout, dassl_options, - retval = dassl_options (args, nargout);) - - return retval; -} - -/* - * Time in a string. - */ -Octave_object -builtin_date (const Octave_object& args, int nargout) -{ - Octave_object retval; - - time_t now; - struct tm *tm; - - time (&now); - tm = localtime (&now); - char date[32]; - int len = strftime (date, 31, "%d-%b-%y", tm); - if (len > 0) - { - retval.resize (1); - retval(0) = tree_constant (date); - } - - return retval; -} - -/* - * Determinant of a matrix. - */ -Octave_object -builtin_det (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - DLD_BUILTIN (args, nargout, det, - { - retval.resize (1); - retval(0) = determinant (args(1)); - }) - else - print_usage ("det"); - - return retval; -} - -/* - * Diagonal elements of a matrix. - */ -Octave_object -builtin_diag (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - { - retval.resize (1); - retval(0) = args(1).diag (); - } - else if (nargin == 3) - { - retval.resize (1); - retval(0) = args(1).diag (args(2)); - } - else - print_usage ("diag"); - - return retval; -} - -/* - * Display value without trimmings. - */ -Octave_object -builtin_disp (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - args(1).eval (1); - else - print_usage ("disp"); - - return retval; -} - -/* - * Compute eigenvalues and eigenvectors. - */ -Octave_object -builtin_eig (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && (nargout == 0 || nargout == 1 || nargout == 2)) - DLD_BUILTIN (args, nargout, eig, - retval = eig (args, nargout);) - else - print_usage ("eig"); - - return retval; -} - -/* - * Print error message and set the error state. This should - * eventually take us up to the top level, possibly printing traceback - * messages as we go. - */ -Octave_object -builtin_error (const Octave_object& args, int nargout) -{ - Octave_object retval; - - char *msg = "unspecified_error"; - - int nargin = args.length (); - - if (nargin == 2 && args(1).is_defined ()) - { - if (args(1).is_string_type ()) - { - msg = args(1).string_value (); - - if (msg == (char *) NULL || *msg == '\0') - return retval; - } - else if (args(1).is_empty ()) - { - return retval; - } - } - - error (msg); - - return retval; -} - -/* - * Evaluate text argument as octave source. - */ -Octave_object -builtin_eval (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - { - int parse_status = 0; - retval.resize (1); - retval(0) = eval_string (args(1), parse_status); - } - else - print_usage ("eval"); - - return retval; -} - -/* - * Check if variable or file exists. - */ -Octave_object -builtin_exist (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && args(1).is_string_type ()) - { - int status = identifier_exists (args(1).string_value ()); - retval.resize (1); - retval(0) = tree_constant ((double) status); - } - else - print_usage ("exist"); - - return retval; -} - -/* - * Matrix exponential. - */ -Octave_object -builtin_expm (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - DLD_BUILTIN (args, nargout, matrix_exp, - { - retval.resize (1); - retval(0) = matrix_exp (args(1)); - }) - else - print_usage ("expm"); - - return retval; -} - -/* - * Identity matrix. - */ -Octave_object -builtin_eye (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - switch (nargin) - { - case 2: - retval.resize (1); - retval(0) = identity_matrix (args(1)); - break; - case 3: - retval.resize (1); - retval(0) = identity_matrix (args(1), args(2)); - break; - default: - print_usage ("eye"); - break; - } - - return retval; -} - -/* - * Closing a file - */ -Octave_object -builtin_fclose (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("fclose"); - else - retval = fclose_internal (args); - - return retval; -} - -/* - * Check file for EOF condition. - */ -Octave_object -builtin_feof (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("feof"); - else - retval = feof_internal (args, nargout); - - return retval; -} - -/* - * Check file for error condition. - */ -Octave_object -builtin_ferror (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("ferror"); - else - retval = ferror_internal (args, nargout); - - return retval; -} - -/* - * Evaluate first argument as a function. - */ -Octave_object -builtin_feval (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin > 1) - retval = feval (args, nargout); - else - print_usage ("feval"); - - return retval; -} - -/* - * Flushing output to a file. - */ -Octave_object -builtin_fflush (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("fflush"); - else - retval = fflush_internal (args); - - return retval; -} - -/* - * Fast Fourier Transform. - */ -Octave_object -builtin_fft (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - DLD_BUILTIN (args, nargout, fft, - { - retval.resize (1); - retval(0) = fft (args(1)); - }) - else - print_usage ("fft"); - - return retval; -} - -/* - * Get a string from a file. - */ -Octave_object -builtin_fgets (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 3) - print_usage ("fgets"); - else - retval = fgets_internal (args, nargout); - - return retval; -} - -/* - * Find nonzero elements. This should probably only work if - * do_fortran_indexing is true... - */ -Octave_object -builtin_find (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && nargout < 4) - retval = find_nonzero_elem_idx (args(1), nargout); - else - print_usage ("find"); - - return retval; -} - -/* - * Don\'t really count floating point operations. - */ -Octave_object -builtin_flops (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin > 2) - print_usage ("flops"); - - warning ("flops always returns zero"); - - retval.resize (1); - retval(0) = tree_constant (0.0); - - return retval; -} - -/* - * Opening a file. - */ -Octave_object -builtin_fopen (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 3) - print_usage ("fopen"); - else - retval = fopen_internal (args); - - return retval; -} - -/* - * Formatted printing to a file. - */ -Octave_object -builtin_fprintf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 3) - print_usage ("fprintf"); - else - retval = do_printf ("fprintf", args, nargout); - - return retval; -} - -/* - * Read binary data from a file. - */ -Octave_object -builtin_fread (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 2 || nargin > 4) - print_usage ("fread"); - else - retval = fread_internal (args, nargout); - - return retval; -} - -/* - * Rewind a file. - */ -Octave_object -builtin_frewind (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("frewind"); - else - retval = frewind_internal (args); - - return retval; -} - -/* - * Report on open files. - */ -Octave_object -builtin_freport (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin > 1) - warning ("freport: ignoring extra arguments"); - - retval = freport_internal (); - - return retval; -} - -/* - * Formatted reading from a file. - */ -Octave_object -builtin_fscanf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2 && nargin != 3) - print_usage ("fscanf"); - else - retval = do_scanf ("fscanf", args, nargout); - - return retval; -} - -/* - * Seek a point in a file for reading and/or writing. - */ -Octave_object -builtin_fseek (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 3 && nargin != 4) - print_usage ("fseek"); - else - retval = fseek_internal (args); - - return retval; -} - -/* - * Nonlinear algebraic equations. - */ -Octave_object -builtin_fsolve (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin >= 3 && nargin <= 7 && nargout >= 0 && nargout <= 3) - DLD_BUILTIN (args, nargout, fsolve, - retval = fsolve (args, nargout);) - else - print_usage ("fsolve"); - - return retval; -} - -Octave_object -builtin_fsolve_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - - DLD_BUILTIN (args, nargout, fsolve_options, - retval = fsolve_options (args, nargout);) - - return retval; -} - -/* - * NLPs. - */ -Octave_object -builtin_fsqp (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (FSQP_MISSING) - print_usage ("fsqp"); -#else - int nargin = args.length (); - - if ((nargin == 3 || nargin == 5 || nargin == 6 || nargin == 8 - || nargin == 9 || nargin == 11) - && (nargout >= 0 && nargout <= 3)) - DLD_BUILTIN (args, nargout, fsqp, - retval = fsqp (args, nargout);) - else - print_usage ("fsolve"); -#endif - - return retval; -} - -Octave_object -builtin_fsqp_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (FSQP_MISSING) - print_usage ("fsqp_options"); -#else - DLD_BUILTIN (args, nargout, fsqp_options, - retval = fsqp_options (args, nargout);) -#endif - - return retval; -} - -/* - * Tell current position of file. - */ -Octave_object -builtin_ftell (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("ftell"); - else - retval = ftell_internal (args); - - return retval; -} - -/* - * Write binary data to a file. - */ -Octave_object -builtin_fwrite (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 3 || nargin > 4) - print_usage ("fwrite"); - else - retval = fwrite_internal (args, nargout); - - return retval; -} - -/* - * Get the value of an environment variable. - */ -Octave_object -builtin_getenv (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && args(1).is_string_type ()) - { - retval.resize (1); - char *value = getenv (args(1).string_value ()); - if (value != (char *) NULL) - retval(0) = tree_constant (value); - else - retval(0) = tree_constant (""); - } - else - print_usage ("getenv"); - - return retval; -} - -/* - * Inverse Fast Fourier Transform. - */ -Octave_object -builtin_ifft (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - DLD_BUILTIN (args, nargout, ifft, - { - retval.resize (1); - retval(0) = ifft (args(1)); - }) - else - print_usage ("ifft"); - - return retval; -} - -/* - * Inverse of a square matrix. - */ -Octave_object -builtin_inv (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - DLD_BUILTIN (args, nargout, inv, - { - retval.resize (1); - retval(0) = inverse (args(1)); - }) - else - print_usage ("inv"); - - return retval; -} - -/* - * Prompt user for input. - */ -Octave_object -builtin_input (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 || nargin == 3) - { - retval.resize (1); - retval(0) = get_user_input (args, nargout); - } - else - print_usage ("input"); - - return retval; -} - -/* - * Does the given string name a global variable? - */ -Octave_object -builtin_is_global (const Octave_object& args, int nargout) -{ - Octave_object retval(1); - retval(0) = tree_constant (0.0); - - int nargin = args.length (); - - if (nargin == 2 && args(1).is_string_type ()) - { - char *name = args(1).string_value (); - if (is_globally_visible (name)) - retval(0) = tree_constant (1.0); - } - else - print_usage ("is_global"); - - return retval; -} - -/* - * Is the argument a string? - */ -Octave_object -builtin_isstr (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("isstr"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).isstr (); - } - } - - return retval; -} - -Octave_object -builtin_kbhit (const Octave_object& args, int nargout) -{ - Octave_object retval; - -// XXX FIXME XXX -- add timeout and default value args? - - if (interactive) - { - int c = kbhit (); - char *s = new char [2]; - s[0] = c; - s[1] = '\0'; - retval.resize (1); - retval(0) = tree_constant (s); - } - - return retval; -} - -/* - * Maybe help in debugging. - */ -Octave_object -builtin_keyboard (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 1 || nargin == 2) - { - retval.resize (1); - retval(0) = get_user_input (args, nargout, 1); - } - else - print_usage ("keyboard"); - - return retval; -} - -/* - * Matrix logarithm. - */ -Octave_object -builtin_logm (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - retval = matrix_log (args(1)); - else - print_usage ("logm"); - - return retval; -} - -/* - * LPs. - */ -Octave_object -builtin_lpsolve (const Octave_object& args, int nargout) -{ - Octave_object retval; - -// Force a bad value of inform, and empty matrices for x and phi. - retval.resize (3); - Matrix m; - retval(0) = tree_constant (m); - retval(1) = tree_constant (m); - retval(2) = tree_constant (-1.0); - - int nargin = args.length (); - - if (nargin == 0) - DLD_BUILTIN (args, nargout, lpsolve, - retval = lpsolve (args, nargout);) - else - print_usage ("lp_solve"); - - return retval; -} - -Octave_object -builtin_lpsolve_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - - DLD_BUILTIN (args, nargout, lpsolve_options, - retval = lpsolve_options (args, nargout);) - - return retval; -} - -/* - * ODEs. - */ -Octave_object -builtin_lsode (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 4 || nargin == 5) && (nargout == 0 || nargout == 1)) - DLD_BUILTIN (args, nargout, lsode, - retval = lsode (args, nargout);) - else - print_usage ("lsode"); - - return retval; -} - -Octave_object -builtin_lsode_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - - DLD_BUILTIN (args, nargout, lsode_options, - retval = lsode_options (args, nargout);) - - return retval; -} - -/* - * LU factorization. - */ -Octave_object -builtin_lu (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && nargout < 4) - DLD_BUILTIN (args, nargout, lu, - retval = lu (args(1), nargout);) - else - print_usage ("lu"); - - return retval; -} - -/* - * Max values. - */ -Octave_object -builtin_max (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 2 && (nargout == 0 || nargout == 1 || nargout == 2)) - || (nargin == 3 && (nargout == 0 || nargout == 1))) - retval = column_max (args, nargout); - else - print_usage ("max"); - - return retval; -} - -/* - * Min values. - */ -Octave_object -builtin_min (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 2 && (nargout == 0 || nargout == 1 || nargout == 2)) - || (nargin == 3 && (nargout == 0 || nargout == 1))) - retval = column_min (args, nargout); - else - print_usage ("min"); - - return retval; -} - -/* - * NLPs. - */ -Octave_object -builtin_npsol (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (NPSOL_MISSING) -// Force a bad value of inform, and empty matrices for x, phi, and lambda. - retval.resize (3); - Matrix m; - retval(0) = tree_constant (m); - retval(1) = tree_constant (m); - retval(2) = tree_constant (-1.0); - retval(3) = tree_constant (m); - print_usage ("npsol"); -#else - int nargin = args.length (); - - if ((nargin == 3 || nargin == 5 || nargin == 6 || nargin == 8 - || nargin == 9 || nargin == 11) - && (nargout >= 0 && nargout <= 4)) - DLD_BUILTIN (args, nargout, npsol, - retval = npsol (args, nargout);) - else - print_usage ("npsol"); -#endif - - return retval; -} - -Octave_object -builtin_npsol_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (NPSOL_MISSING) - print_usage ("npsol_options"); -#else - DLD_BUILTIN (args, nargout, npsol_options, - retval = npsol_options (args, nargout);) -#endif - - return retval; -} - -/* - * A matrix of ones. - */ -Octave_object -builtin_ones (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - switch (nargin) - { - case 2: - retval.resize (1); - retval(0) = fill_matrix (args(1), 1.0, "ones"); - break; - case 3: - retval.resize (1); - retval(0) = fill_matrix (args(1), args(2), 1.0, "ones"); - break; - default: - print_usage ("ones"); - break; - } - - return retval; -} - -/* - * You guessed it. - */ -Octave_object -builtin_pause (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (! (nargin == 1 || nargin == 2)) - { - print_usage ("pause"); - return retval; - } - - if (interactive) - { - switch (nargin) - { - case 2: - { - int delay = NINT (args(1).double_value ()); - if (delay > 0) - { - sleep (delay); - break; - } - } - default: - if (kbhit () == EOF) - clean_up_and_exit (0); - break; - } - } - - return retval; -} - -/* - * Delete turds from /tmp. - */ -Octave_object -builtin_purge_tmp_files (const Octave_object& args, int nargout) -{ - Octave_object retval; - cleanup_tmp_files (); - return retval; -} - -/* - * Formatted printing. - */ -Octave_object -builtin_printf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 2) - print_usage ("printf"); - else - retval = do_printf ("printf", args, nargout); - - return retval; -} - -/* - * Product. - */ -Octave_object -builtin_prod (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("prod"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).prod (); - } - } - - return retval; -} - -/* - * Print name of current working directory. - */ -Octave_object -builtin_pwd (const Octave_object& args, int nargout) -{ - Octave_object retval; - char *directory; - - if (verbatim_pwd) - { - char *buffer = new char [MAXPATHLEN]; - directory = getcwd (buffer, MAXPATHLEN); - - if (!directory) - { - warning ("pwd: can't find working directory!"); - delete buffer; - } - } - else - { - directory = get_working_directory ("pwd"); - } - - if (directory) - { - char *s = strconcat (directory, "\n"); - retval.resize (1); - retval(0) = tree_constant (s); - delete [] s; - } - return retval; -} - -/* - * QPs. - */ -Octave_object -builtin_qpsol (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (QPSOL_MISSING) -// Force a bad value of inform, and empty matrices for x, phi, and lambda. - retval.resize (4); - Matrix m; - retval(0) = tree_constant (m); - retval(1) = tree_constant (m); - retval(2) = tree_constant (-1.0); - retval(3) = tree_constant (m); - print_usage ("qpsol"); -#else - int nargin = args.length (); - - if ((nargin == 4 || nargin == 6 || nargin == 7 || nargin == 9) - && (nargout >= 0 && nargout <= 4)) - DLD_BUILTIN (args, nargout, qpsol, - retval = qpsol (args, nargout);) - else - print_usage ("qpsol"); -#endif - - return retval; -} - -Octave_object -builtin_qpsol_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - -#if defined (QPSOL_MISSING) - print_usage ("qpsol"); -#else - DLD_BUILTIN (args, nargout, qpsol_options, - retval = qpsol_options (args, nargout);) -#endif - - return retval; -} - -/* - * QR factorization. - */ -Octave_object -builtin_qr (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && nargout < 3) - DLD_BUILTIN (args, nargout, qr, - retval = qr (args(1), nargout);) - else - print_usage ("qr"); - - return retval; -} - -/* - * generalized eigenvalues via qz - */ -Octave_object -builtin_qzval (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 3 && nargout < 2) - DLD_BUILTIN (args, nargout, qzvalue, - retval = qzvalue (args, nargout);) - else - print_usage ("qzval"); - - return retval; -} - -/* - * Random numbers. - */ -Octave_object -builtin_quad (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin > 3 && nargin < 7) && (nargout >= 0 && nargout < 5)) - DLD_BUILTIN (args, nargout, quad, - retval = do_quad (args, nargout);) - else - print_usage ("quad"); - - return retval; -} - -Octave_object -builtin_quad_options (const Octave_object& args, int nargout) -{ - Octave_object retval; - - DLD_BUILTIN (args, nargout, quad_options, - retval = quad_options (args, nargout);) - - return retval; -} - -/* - * I'm outta here. - */ -Octave_object -builtin_quit (const Octave_object& args, int nargout) -{ - Octave_object retval; - quitting_gracefully = 1; - clean_up_and_exit (0); - return retval; -} - -/* - * Random numbers. - */ -Octave_object -builtin_rand (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin > 0 && nargin < 4) && (nargout == 0 || nargout == 1)) - DLD_BUILTIN (args, nargout, rand, - retval = rand_internal (args, nargout);) - else - print_usage ("rand"); - - return retval; -} - -/* - * Formatted reading. - */ -Octave_object -builtin_scanf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("scanf"); - else - retval = do_scanf ("scanf", args, nargout); - - return retval; -} - -/* - * Convert a vector to a string. - */ -Octave_object -builtin_setstr (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - { - retval.resize (1); - retval(0) = args(1).convert_to_str (); - } - else - print_usage ("setstr"); - - return retval; -} - -/* - * Execute a shell command. - */ -Octave_object -builtin_shell_command (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && args(1).is_string_type ()) - { - iprocstream cmd (args(1).string_value ()); - char ch; - ostrstream output_buf; - while (cmd.get (ch)) - output_buf.put (ch); - output_buf << ends; - int status = cmd.close (); - switch (nargout) - { - case 1: - maybe_page_output (output_buf); - retval.resize (1); - retval(0) = tree_constant ((double) status); - break; - case 2: - retval.resize (2); - retval(0) = tree_constant ((double) status); - retval(1) = tree_constant (output_buf.str ()); - break; - break; - } - } - else - print_usage ("shell_cmd"); - - return retval; -} - -/* - * Report rows and columns. - */ -Octave_object -builtin_size (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("size"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - int nr = args(1).rows (); - int nc = args(1).columns (); - if (nargout == 0 || nargout == 1) - { - Matrix m (1, 2); - m.elem (0, 0) = nr; - m.elem (0, 1) = nc; - retval.resize (1); - retval(0) = tree_constant (m); - } - else if (nargout == 2) - { - retval.resize (2); - retval(0) = tree_constant ((double) nr); - retval(1) = tree_constant ((double) nc); - } - else - print_usage ("size"); - } - } - - return retval; -} - -/* - * Sort columns. - */ -Octave_object -builtin_sort (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - retval = sort (args, nargout); - else - print_usage ("sort"); - - return retval; -} - -/* - * Formatted printing to a string. - */ -Octave_object -builtin_sprintf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin < 2) - print_usage ("sprintf"); - else - retval = do_printf ("sprintf", args, nargout); - - return retval; -} - -/* - * Matrix sqrt. - */ -Octave_object -builtin_sqrtm (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2) - retval = matrix_sqrt (args(1)); - else - print_usage ("sqrtm"); - - return retval; -} - -/* - * Formatted reading from a string. - */ -Octave_object -builtin_sscanf (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 3) - print_usage ("sscanf"); - else - retval = do_scanf ("sscanf", args, nargout); - - return retval; -} - -/* - * Sum. - */ -Octave_object -builtin_sum (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("sum"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).sum (); - } - } - - return retval; -} - -/* - * Sum of squares. - */ -Octave_object -builtin_sumsq (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin != 2) - print_usage ("sumsq"); - else - { - if (nargin > 0 && args(1).is_defined ()) - { - retval.resize (1); - retval(0) = args(1).sumsq (); - } - } - - return retval; -} - -/* - * Singluar value decomposition. - */ -Octave_object -builtin_svd (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && (nargout == 0 || nargout == 1 || nargout == 3)) - DLD_BUILTIN (args, nargout, svd, - retval = svd (args, nargout);) - else - print_usage ("svd"); - - return retval; -} - -/* - * Sylvester equation solver. - */ -Octave_object -builtin_syl (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 4) && (nargout == 0 || nargout == 1)) - DLD_BUILTIN (args, nargout, syl, - retval = syl (args, nargout);) - else - print_usage ("syl"); - - return retval; -} - -/* - * Schur Decomposition. - */ -Octave_object -builtin_schur (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if ((nargin == 3 || nargin == 2) - && (nargout == 0 || nargout == 1 || nargout == 2)) - DLD_BUILTIN (args, nargout, schur, - retval = schur (args, nargout);) - else - print_usage ("schur"); - - return retval; -} - -/* - * Givens rotation. - */ -Octave_object -builtin_givens (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 3 && (nargout == 0 || nargout == 1 || nargout == 2 )) - retval = givens (args, nargout); - else - print_usage ("givens"); - - return retval; -} - -/* - * Hessenberg Decomposition. - */ -Octave_object -builtin_hess (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 2 && (nargout == 0 || nargout == 1 || nargout == 2)) - DLD_BUILTIN (args, nargout, hess, - retval = hess (args, nargout);) - else - print_usage ("hess"); - - return retval; -} - -/* - * Variable argument lists. - */ -Octave_object -builtin_va_arg (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 1) - { - if (curr_function != (tree_function *) NULL) - { - if (curr_function->takes_varargs ()) - { - retval.resize (1); - retval(0) = curr_function->octave_va_arg (); - } - else - { - error ("va_arg only valid within function taking variable"); - error ("number of arguments"); - } - } - else - error ("va_arg only valid within function body"); - } - else - print_usage ("va_arg"); - - return retval; -} - -Octave_object -builtin_va_start (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - if (nargin == 1) - { - if (curr_function != (tree_function *) NULL) - { - if (curr_function->takes_varargs ()) - curr_function->octave_va_start (); - else - { - error ("va_start only valid within function taking variable"); - error ("number of arguments"); - } - } - else - error ("va_start only valid within function body"); - } - else - print_usage ("va_start"); - - return retval; -} - -/* - * Copying information. - */ -Octave_object -builtin_warranty (const Octave_object& args, int nargout) -{ - Octave_object retval; - - ostrstream output_buf; - output_buf << "\n Octave, version " << version_string - << ". Copyright (C) 1992, 1993, 1994 John W. Eaton\n" - << "\n\ - This program is free software; you can redistribute it and/or modify\n\ - it under the terms of the GNU General Public License as published by\n\ - the Free Software Foundation; either version 2 of the License, or\n\ - (at your option) any later version.\n\n\ - This program is distributed in the hope that it will be useful,\n\ - but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ - GNU General Public License for more details.\n\n\ - You should have received a copy of the GNU General Public License\n\ - along with this program. If not, write to the Free Software\n\ - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.\n\n"; - - output_buf << ends; - maybe_page_output (output_buf); - - return retval; -} - -/* - * A matrix of zeros. - */ -Octave_object -builtin_zeros (const Octave_object& args, int nargout) -{ - Octave_object retval; - - int nargin = args.length (); - - switch (nargin) - { - case 2: - retval.resize (1); - retval(0) = fill_matrix (args(1), 0.0, "zeros"); - break; - case 3: - retval.resize (1); - retval(0) = fill_matrix (args(1), args(2), 0.0, "zeros"); - break; - default: - print_usage ("zeros"); - break; - } - - return retval; -} - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; page-delimiter: "^/\\*" *** -;;; End: *** -*/
deleted file mode 100644 --- a/src/g-builtins.h +++ /dev/null @@ -1,247 +0,0 @@ -// Builtin general function support. -*- C++ -*- -/* - -Copyright (C) 1992, 1993, 1994 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#if !defined (octave_g_builtins_h) -#define octave_g_builtins_h 1 - -#include "tree-const.h" - -struct builtin_general_functions -{ - char *name; - int nargin_max; - int nargout_max; - General_fcn general_fcn; - char *help_string; -}; - -extern Octave_object builtin_all (const Octave_object& args, int nargout); - -extern Octave_object builtin_any (const Octave_object& args, int nargout); - -extern Octave_object builtin_balance (const Octave_object& args, int nargout); - -extern Octave_object builtin_chol (const Octave_object& args, int nargout); - -extern Octave_object builtin_clc (const Octave_object& args, int nargout); - -extern Octave_object builtin_clock (const Octave_object& args, int nargout); - -extern Octave_object builtin_closeplot (const Octave_object& args, - int nargout); - -extern Octave_object builtin_colloc (const Octave_object& args, int nargout); - -extern Octave_object builtin_cumprod (const Octave_object& args, int nargout); - -extern Octave_object builtin_cumsum (const Octave_object& args, int nargout); - -extern Octave_object builtin_dassl (const Octave_object& args, int nargout); - -extern Octave_object builtin_dassl_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_date (const Octave_object& args, int nargout); - -extern Octave_object builtin_det (const Octave_object& args, int nargout); - -extern Octave_object builtin_diag (const Octave_object& args, int nargout); - -extern Octave_object builtin_disp (const Octave_object& args, int nargout); - -extern Octave_object builtin_eig (const Octave_object& args, int nargout); - -extern Octave_object builtin_error (const Octave_object& args, int nargout); - -extern Octave_object builtin_eval (const Octave_object& args, int nargout); - -extern Octave_object builtin_exist (const Octave_object& args, int nargout); - -extern Octave_object builtin_expm (const Octave_object& args, int nargout); - -extern Octave_object builtin_eye (const Octave_object& args, int nargout); - -extern Octave_object builtin_fclose (const Octave_object& args, int nargout); - -extern Octave_object builtin_feof (const Octave_object& args, int nargout); - -extern Octave_object builtin_ferror (const Octave_object& args, int nargout); - -extern Octave_object builtin_feval (const Octave_object& args, int nargout); - -extern Octave_object builtin_fflush (const Octave_object& args, int nargout); - -extern Octave_object builtin_fft (const Octave_object& args, int nargout); - -extern Octave_object builtin_fgets (const Octave_object& args, int nargout); - -extern Octave_object builtin_find (const Octave_object& args, int nargout); - -extern Octave_object builtin_flops (const Octave_object& args, int nargout); - -extern Octave_object builtin_fopen (const Octave_object& args, int nargout); - -extern Octave_object builtin_fprintf (const Octave_object& args, int nargout); - -extern Octave_object builtin_fread (const Octave_object& args, int nargout); - -extern Octave_object builtin_frewind (const Octave_object& args, int nargout); - -extern Octave_object builtin_freport (const Octave_object& args, int nargout); - -extern Octave_object builtin_fscanf (const Octave_object& args, int nargout); - -extern Octave_object builtin_fseek (const Octave_object& args, int nargout); - -extern Octave_object builtin_fsolve (const Octave_object& args, int nargout); - -extern Octave_object builtin_fsolve_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_fsqp (const Octave_object& args, int nargout); - -extern Octave_object builtin_fsqp_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_ftell (const Octave_object& args, int nargout); - -extern Octave_object builtin_fwrite (const Octave_object& args, int nargout); - -extern Octave_object builtin_getenv (const Octave_object& args, int nargout); - -extern Octave_object builtin_givens (const Octave_object& args, int nargout); - -extern Octave_object builtin_hess (const Octave_object& args, int nargout); - -extern Octave_object builtin_input (const Octave_object& args, int nargout); - -extern Octave_object builtin_ifft (const Octave_object& args, int nargout); - -extern Octave_object builtin_inv (const Octave_object& args, int nargout); - -extern Octave_object builtin_is_global (const Octave_object& args, - int nargout); - -extern Octave_object builtin_isstr (const Octave_object& args, int nargout); - -extern Octave_object builtin_kbhit (const Octave_object& args, int nargout); - -extern Octave_object builtin_keyboard (const Octave_object& args, int nargout); - -extern Octave_object builtin_logm (const Octave_object& args, int nargout); - -extern Octave_object builtin_lpsolve (const Octave_object& args, int nargout); - -extern Octave_object builtin_lpsolve_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_lsode (const Octave_object& args, int nargout); - -extern Octave_object builtin_lsode_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_lu (const Octave_object& args, int nargout); - -extern Octave_object builtin_max (const Octave_object& args, int nargout); - -extern Octave_object builtin_min (const Octave_object& args, int nargout); - -extern Octave_object builtin_npsol (const Octave_object& args, int nargout); - -extern Octave_object builtin_npsol_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_ones (const Octave_object& args, int nargout); - -extern Octave_object builtin_pause (const Octave_object& args, int nargout); - -extern Octave_object builtin_purge_tmp_files (const Octave_object& args, - int nargout); - -extern Octave_object builtin_printf (const Octave_object& args, int nargout); - -extern Octave_object builtin_prod (const Octave_object& args, int nargout); - -extern Octave_object builtin_pwd (const Octave_object& args, int nargout); - -extern Octave_object builtin_qpsol (const Octave_object& args, int nargout); - -extern Octave_object builtin_qpsol_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_qr (const Octave_object& args, int nargout); - -extern Octave_object builtin_quad (const Octave_object& args, int nargout); - -extern Octave_object builtin_quad_options (const Octave_object& args, - int nargout); - -extern Octave_object builtin_quit (const Octave_object& args, int nargout); - -extern Octave_object builtin_qzval (const Octave_object& args, int nargout); - -extern Octave_object builtin_rand (const Octave_object& args, int nargout); - -extern Octave_object builtin_setstr (const Octave_object& args, int nargout); - -extern Octave_object builtin_scanf (const Octave_object& args, int nargout); - -extern Octave_object builtin_schur (const Octave_object& args, int nargout); - -extern Octave_object builtin_shell_command (const Octave_object& args, - int nargout); - -extern Octave_object builtin_size (const Octave_object& args, int nargout); - -extern Octave_object builtin_sort (const Octave_object& args, int nargout); - -extern Octave_object builtin_sprintf (const Octave_object& args, int nargout); - -extern Octave_object builtin_sqrtm (const Octave_object& args, int nargout); - -extern Octave_object builtin_sscanf (const Octave_object& args, int nargout); - -extern Octave_object builtin_sum (const Octave_object& args, int nargout); - -extern Octave_object builtin_sumsq (const Octave_object& args, int nargout); - -extern Octave_object builtin_svd (const Octave_object& args, int nargout); - -extern Octave_object builtin_syl (const Octave_object& args, int nargout); - -extern Octave_object builtin_va_arg (const Octave_object& args, int nargout); - -extern Octave_object builtin_va_start (const Octave_object& args, int nargout); - -extern Octave_object builtin_warranty (const Octave_object& args, int nargout); - -extern Octave_object builtin_zeros (const Octave_object& args, int nargout); - -#endif - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; page-delimiter: "^/\\*" *** -;;; End: *** -*/