Mercurial > octave
annotate scripts/miscellaneous/memory.m @ 29583:59c5131d46af
memory.m: Skip function and tests on macOS.
* scripts/miscellaneous/memory.m: "isunix" returns true on macOS.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 01 May 2021 14:22:30 +0200 |
parents | 7854d5752dd2 |
children | 363fb10055df |
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 ## |
29359
7854d5752dd2
maint: merge stable to default.
John W. Eaton <jwe@octave.org>
parents:
28921
diff
changeset
|
3 ## Copyright (C) 2020-2021 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 | 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 | 42 ## corruption. Note that depending on the platform (32-bit systems), the |
28753 | 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 | 51 ## (excluding swap space). Note that depending on the platform (32-bit |
28753 | 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 | 54 ## implemented. |
28373
29c655998ac3
memory.m: Add documentation (patch #9924).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28372
diff
changeset
|
55 ## |
28753 | 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 | 61 ## The physical memory (excluding swap space) currently used by Octave in |
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 | 66 ## The output argument @var{systemdata} is a nested structure with the |
67 ## following fields containing information about the system's memory: | |
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 | 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 | 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 () |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
235 ## Read pseudo files to gather memory information on Linux |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
236 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
237 ## Read the proc/self/status pseudofile. |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
238 ## 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
|
239 ## 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
|
240 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
241 f = fopen ("/proc/self/status"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
242 buffer = textscan (f, "%s %s", "delimiter", ':\n'); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
243 fclose (f); |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
244 for i = 1:rows (buffer{1}) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
245 status.(buffer{1}{i}) = textscan (buffer{2}{i}){1}; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
246 endfor |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
247 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
248 ## Read the /proc/meminfo pseudofile |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
249 ## see https://linuxwiki.de/proc/meminfo |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
250 ## 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
|
251 |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
252 f = fopen ("/proc/meminfo"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
253 buffer = textscan (f, "%s %s", "delimiter", ':\n'); |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
254 fclose (f); |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
255 for i = 1:rows (buffer{1}) |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
256 meminfo.(buffer{1}{i}) = textscan (buffer{2}{i}){1}; |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
257 endfor |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
258 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
259 endfunction |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
260 |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
261 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
262 %!testif ; (isunix () && ! ismac ()) || ispc () |
28372
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
263 %! [user, syst] = memory (); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
264 %! assert (user.mem_used_octave > 0); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
265 %! assert (user.ram_used_octave <= user.mem_used_octave); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
266 %! assert (user.mem_used_octave < syst.SystemMemory.Total); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
267 %! assert (user.MemAvailableAllArrays <= syst.SystemMemory.Available); |
2f571bfff344
Add "memory" function (patch #9924).
Lars Kindermann <lars.kindermann@reglos.de>
parents:
diff
changeset
|
268 |
29583
59c5131d46af
memory.m: Skip function and tests on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29359
diff
changeset
|
269 %!testif ; (! isunix () || ismac ()) && ! ispc () |
28755
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
270 %! fail ("[user] = memory ()", |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
271 %! "function not yet implemented for this architecture"); |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
272 %! fail ("memory ()", "warning", |
c1a110df224e
memory.m: Use more Octave coding conventions.
Rik <rik@octave.org>
parents:
28754
diff
changeset
|
273 %! "function not yet implemented for this architecture"); |