Mercurial > hg > octave-nkf
diff scripts/miscellaneous/computer.m @ 4691:bdc51b369a78
[project @ 2004-01-10 18:16:02 by jwe]
author | jwe |
---|---|
date | Sat, 10 Jan 2004 18:16:03 +0000 |
parents | |
children | 4c8a2e4e0717 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/scripts/miscellaneous/computer.m @@ -0,0 +1,56 @@ +## Copyright (C) 2004 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. + +## -*- texinfo -*- +## @deftypefn {Function File} {} computer () +## Print or return a string of the form @var{cpu}-@var{vendor}-@var{os} +## that identifies the kind of computer Octave is running on. If invoked +## with an output argument, the value is returned instead of printed. For +## example, +## +## @example +## @group +## computer () +## @print{} i586-pc-linux-gnu +## +## x = computer () +## @result{} x = "i586-pc-linux-gnu" +## @end group +## @end example +## @end deftypefn + +function retval = computer () + + if (nargin != 0) + warning ("computer: ignoring extra arguments"); + endif + + msg = octave_config_info ("canonical_host_type"); + + if (strcmp (msg, "unknown")) + msg = "Hi Dave, I'm a HAL-9000"; + endif + + if (nargout == 0) + printf ("%s\n", msg); + else + retval = msg; + endif + +endfunction