annotate scripts/miscellaneous/memory.m @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 363fb10055df
children c05aa021e971
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
1 ########################################################################
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
2 ##
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 30379
diff changeset
3 ## Copyright (C) 2020-2022 The Octave Project Developers
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
4 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
7 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
8 ## This file is part of Octave.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
9 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
13 ## (at your option) any later version.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
14 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
18 ## GNU General Public License for more details.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
19 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
22 ## <https://www.gnu.org/licenses/>.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
23 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
24 ########################################################################
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
25
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
26 ## -*- texinfo -*-
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
27 ## @deftypefn {} {} memory ()
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
28 ## @deftypefnx {} {[@var{userdata}, @var{systemdata}] =} memory ()
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
29 ## Display or return information about the memory usage of Octave.
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
30 ##
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
31 ## If the function is called without output arguments, a table with an overview
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
32 ## of the current memory consumption is displayed.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
33 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
34 ## The output argument @var{userdata} is a structure with the following fields
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
35 ## containing data for the Octave process:
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
36 ##
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
37 ## @table @code
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
38 ## @item @var{MaxPossibleArrayBytes}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
39 ## Maximum size for an array to be allocated. Be aware that this includes
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
40 ## @emph{all} physical memory and swap space. Allocating that amount of memory
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
41 ## might result in system instability, data corruption, and/or file system
28754
86dc599fff0f doc: spellcheck documentation.
Rik <rik@octave.org>
parents: 28753
diff changeset
42 ## corruption. Note that depending on the platform (32-bit systems), the
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
43 ## largest contiguous memory block might further limit the maximum possible
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
44 ## allocatable array. This check is not currently implemented.
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
45 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
46 ## @item @var{MemAvailableAllArrays}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
47 ## The total size of available memory in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
48 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
49 ## @item @var{ram_available_all_arrays}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
50 ## The maximum size for an array that can be allocated in physical memory
28754
86dc599fff0f doc: spellcheck documentation.
Rik <rik@octave.org>
parents: 28753
diff changeset
51 ## (excluding swap space). Note that depending on the platform (32-bit
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
52 ## systems), the largest contiguous memory block might further limit the
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
53 ## maximum possible allocatable array. This check is not currently
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
54 ## implemented.
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
55 ##
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
56 ## @item @var{MemUsedMATLAB}
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
57 ## @itemx @var{mem_used_octave}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
58 ## The memory (including swap space) currently used by Octave in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
59 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
60 ## @item @var{ram_used_octave}
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
61 ## The physical memory (excluding swap space) currently used by Octave in
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
62 ## bytes.
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
63 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
64 ## @end table
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
65 ##
28753
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
66 ## The output argument @var{systemdata} is a nested structure with the
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
67 ## following fields containing information about the system's memory:
e82484e1b2f6 doc: grammarcheck documentation.
Rik <rik@octave.org>
parents: 28454
diff changeset
68 ##
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
69 ## @table @code
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
70 ## @item @var{PhysicalMemory.Available}
28754
86dc599fff0f doc: spellcheck documentation.
Rik <rik@octave.org>
parents: 28753
diff changeset
71 ## The currently available physical memory in bytes.
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
72 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
73 ## @item @var{PhysicalMemory.Total}
28754
86dc599fff0f doc: spellcheck documentation.
Rik <rik@octave.org>
parents: 28753
diff changeset
74 ## The total physical memory in bytes.
28373
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
75 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
76 ## @item @var{SystemMemory.Available}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
77 ## The currently available memory (including swap space) in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
78 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
79 ## @item @var{SystemMemory.Total}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
80 ## The total memory (including swap space) in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
81 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
82 ## @item @var{VirtualAddressSpace.Available}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
83 ## The currently available virtual address space in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
84 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
85 ## @item @var{VirtualAddressSpace.Total}
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
86 ## The total virtual address space in bytes.
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
87 ##
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
88 ## @end table
29c655998ac3 memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28372
diff changeset
89 ##
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
90 ## @example
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
91 ## @group
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
92 ## memory ()
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
93 ## @result{} System RAM: 3934008 KiB, swap: 4087804 KiB
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
94 ## Octave RAM: 170596 KiB, virt: 1347944 KiB
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
95 ## Free RAM: 1954940 KiB, swap: 4087804 KiB
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
96 ## Available RAM: 2451948 KiB, total: 6042744 KiB
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
97 ## @end group
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
98 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
99 ## @group
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
100 ## [userdata, systemdata] = memory ()
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
101 ## @result{} userdata =
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
102 ## scalar structure containing the fields:
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
103 ## MaxPossibleArrayBytes = 6.1622e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
104 ## MemAvailableAllArrays = 6.1622e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
105 ## ram_available_all_arrays = 2.4883e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
106 ## MemUsedMATLAB = 1.3825e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
107 ## mem_used_octave = 1.3825e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
108 ## ram_used_octave = 1.7824e+08
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
109 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
110 ## systemdata =
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
111 ## scalar structure containing the fields:
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
112 ## PhysicalMemory =
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
113 ## scalar structure containing the fields:
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
114 ## Available = 2.4954e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
115 ## Total = 4.0284e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
116 ## SystemMemory =
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
117 ## scalar structure containing the fields:
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
118 ## Available = 6.6813e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
119 ## Total = 8.2143e+09
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
120 ## VirtualAddressSpace =
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
121 ## scalar structure containing the fields:
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
122 ## Available = 2.8147e+14
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
123 ## Total = 2.8147e+14
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
124 ## @end group
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
125 ## @end example
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
126 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
127 ## This function is implemented for Linux and Windows only.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
128 ##
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
129 ## @seealso{computer, getpid, getrusage, nproc, uname}
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
130 ## @end deftypefn
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
131
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
132 function [userdata, systemdata] = memory ()
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
133
29583
59c5131d46af memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
134 if ((! isunix () || ismac ()) && ! ispc ())
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
135 if (nargout > 0)
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
136 error ("memory: function not yet implemented for this architecture");
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
137 else
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
138 warning ("memory: function not yet implemented for this architecture");
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
139 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
140 return;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
141 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
142
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
143 kiB = 1024;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
144 [architecture, bits] = computer ();
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
145
29583
59c5131d46af memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
146 if (isunix () && ! ismac ())
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
147 ## Read values from pseudofiles
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
148 [status, meminfo] = lmemory ();
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
149
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
150 ## FIXME: Query the actual size of the user address space,
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
151 ## e.g., with getrlimit (RLIMIT_AS, rlp)
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
152 if (log2 (bits) > 32)
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
153 ## 64-bit platform
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
154 address_space = 2^48; # 256 TiB
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
155 else
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
156 ## 32-bit platform
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
157 address_space = 3 * 2^30; # 3 GiB
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
158 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
159
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
160 total_ram = meminfo.MemTotal * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
161 total_swap = meminfo.SwapTotal * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
162 free_ram = meminfo.MemFree * kiB;
28921
967cfcde2e35 maint: Use parentheses around conditional expressions.
Rik <rik@octave.org>
parents: 28758
diff changeset
163 if (isfield (meminfo, "MemAvailable"))
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
164 available_ram = meminfo.MemAvailable * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
165 else
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
166 ## On kernels from before 2014 MemAvailable is not present.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
167 ## This is a rough estimate that can be used instead.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
168 available_ram = (meminfo.MemFree + meminfo.Cached) * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
169 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
170 free_swap = meminfo.SwapFree * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
171 used_ram = status.VmRSS * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
172 used_virtual = status.VmSize * kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
173 avail_virtual = address_space - used_virtual;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
174
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
175 elseif (ispc ())
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
176 [proc, sys] = __wmemory__ ();
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
177
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
178 total_ram = sys.TotalPhys;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
179 total_swap = sys.TotalPageFile;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
180 available_ram = sys.AvailPhys;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
181 free_swap = sys.AvailPageFile;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
182 used_ram = proc.WorkingSetSize;
28454
f6a8f103786e memory.m: Fix reported virtual memory usage on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents: 28373
diff changeset
183 used_virtual = proc.WorkingSetSize + proc.PagefileUsage;
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
184 avail_virtual = sys.AvailVirtual;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
185 address_space = sys.TotalVirtual;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
186
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
187 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
188
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
189 available = min (available_ram + free_swap, avail_virtual);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
190 ram_available = min (available_ram, avail_virtual);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
191
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
192 ## FIXME: On 32-bit systems, the largest possible array is limited by the
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
193 ## largest contiguous block in memory.
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
194 user.MaxPossibleArrayBytes = available;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
195 user.MemAvailableAllArrays = available;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
196 user.ram_available_all_arrays = ram_available;
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
197 user.MemUsedMATLAB = used_virtual; # For compatibility
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
198 user.mem_used_octave = used_virtual;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
199 user.ram_used_octave = used_ram;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
200
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
201 syst.PhysicalMemory.Available = available_ram;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
202 syst.PhysicalMemory.Total = total_ram;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
203 syst.SystemMemory.Available = available_ram + free_swap;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
204 syst.SystemMemory.Total = total_ram + total_swap;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
205 syst.VirtualAddressSpace.Available = avail_virtual;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
206 syst.VirtualAddressSpace.Total = address_space;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
207
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
208 if (nargout)
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
209 userdata = user;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
210 systemdata = syst;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
211 else
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
212 unitsize = kiB;
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
213 unitname = 'kiB';
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
214 disp (sprintf ("Octave is running on %s", architecture))
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
215 disp (sprintf ("System RAM: %9.0f %s, swap: %9.0f %s",
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
216 round (syst.PhysicalMemory.Total / unitsize), unitname,
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
217 round (total_swap / unitsize), unitname ))
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
218 disp (sprintf ("Octave RAM: %9.0f %s, virt: %9.0f %s",
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
219 round (user.ram_used_octave / unitsize), unitname,
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
220 round (user.mem_used_octave / unitsize), unitname))
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
221 if (isunix ())
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
222 ## The concept of free vs. available RAM doesn't seem to exist on Windows
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
223 disp (sprintf ("Free RAM: %9.0f %s, swap: %9.0f %s",
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
224 round (free_ram / unitsize), unitname,
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
225 round (free_swap / unitsize), unitname))
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
226 endif
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
227 disp (sprintf ("Available RAM: %9.0f %s, total: %9.0f %s",
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
228 round (user.ram_available_all_arrays / unitsize), unitname,
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
229 round (user.MemAvailableAllArrays / unitsize), unitname))
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
230 endif
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
231
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
232 endfunction
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
233
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
234 function [status, meminfo] = lmemory ()
30379
363fb10055df maint: Style check m-files ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29583
diff changeset
235
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
236 ## Read pseudo files to gather memory information on Linux
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
237
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
238 ## Read the proc/self/status pseudofile.
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
239 ## See https://linuxwiki.de/proc/pid#A.2Fproc.2Fpid.2Fstatus.
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
240 ## It contains a variable number of lines with name-value pairs.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
241
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
242 f = fopen ("/proc/self/status");
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
243 buffer = textscan (f, "%s %s", "delimiter", ':\n');
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
244 fclose (f);
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
245 for i = 1:rows (buffer{1})
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
246 status.(buffer{1}{i}) = textscan (buffer{2}{i}){1};
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
247 endfor
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
248
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
249 ## Read the /proc/meminfo pseudofile
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
250 ## see https://linuxwiki.de/proc/meminfo
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
251 ## It contains a variable number of lines with name-value pairs.
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
252
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
253 f = fopen ("/proc/meminfo");
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
254 buffer = textscan (f, "%s %s", "delimiter", ':\n');
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
255 fclose (f);
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
256 for i = 1:rows (buffer{1})
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
257 meminfo.(buffer{1}{i}) = textscan (buffer{2}{i}){1};
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
258 endfor
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
259
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
260 endfunction
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
261
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
262
29583
59c5131d46af memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
263 %!testif ; (isunix () && ! ismac ()) || ispc ()
28372
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
264 %! [user, syst] = memory ();
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
265 %! assert (user.mem_used_octave > 0);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
266 %! assert (user.ram_used_octave <= user.mem_used_octave);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
267 %! assert (user.mem_used_octave < syst.SystemMemory.Total);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
268 %! assert (user.MemAvailableAllArrays <= syst.SystemMemory.Available);
2f571bfff344 Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff changeset
269
29583
59c5131d46af memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
270 %!testif ; (! isunix () || ismac ()) && ! ispc ()
28755
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
271 %! fail ("[user] = memory ()",
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
272 %! "function not yet implemented for this architecture");
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
273 %! fail ("memory ()", "warning",
c1a110df224e memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents: 28754
diff changeset
274 %! "function not yet implemented for this architecture");