System Function WA: Difference between revisions

From NARS2000
Jump to navigationJump to search
No edit summary
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
<h1>⎕WA - Workspace Available</h1>
<h1>⎕WA - Workspace Available</h1>
{{Box3
{{BoxStart
|<apll>Z←⎕WA</apll>
|<apll>Z←⎕WA</apll>
|returns the amount of workspace available to store data.
|returns the amount of workspace available to store data.}}
|<apll>Z</apll> is an integer scalar which represents the amount in bytes of workspace available to store data.}}
{{BoxEnd|<apll>Z</apll> is an integer scalar which represents the amount in bytes of workspace available to store data.}}
<br />
<br />


I have a computer which is a quad core 64-bit machine with 4 gigabytes of memory and 750 gigabytes of disk space. Here is what Session Manager tells me I have available, in gigabytes and bytes:<br/><br/>
I have a computer which is a quad core 64-bit machine with 4 gigabytes of memory and 750 gigabytes of disk space. Here is what Session Manager tells me I have available, in gigabytes and bytes:<br/><br/>
<code>
<apll><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(⎕wa  ÷1024*3)  ' ' ⎕WA<br/>
      (⎕WA÷1024*3)  ' ' ⎕WA  
6.024291992&nbsp;&nbsp;&nbsp;6468272128
6.024291992   6468272128
</code><br/><br/>
</pre></apll>
 
While it doesn't mean I can actually create a single array with 6 gigabytes of data, it will allow very large arrays to be created. Note that in some cases, it is possible to create a workspace that is too large to [[)SAVE]].
While it doesn't mean I can actually create a single array with 6 gigabytes of data, it will allow very large arrays to be created. Note that in some cases, it is possible to create a workspace that is too large to [[)SAVE]].


<p>The value returned by this function does not represent the amount of contiguous memory available because memory may be fragmented by unmovable entries.  Also, due to internal allocations for various purposes, this value might vary from time to time even though there is no user-initiated change in data storage.</p>
<p>The value returned by this function does not represent the amount of contiguous memory available because memory may be fragmented by unmovable entries.  Also, due to internal allocations for various purposes, this value might vary from time to time even though there is no user-initiated change in data storage.</p>


Note that <apll>⎕WA</apll> is a ''[[niladic]]'' system function, you cannot assign anything to it.
{{SFN|WA}}
{{System Variables}}
{{System Variables}}

Latest revision as of 10:37, 16 April 2018

⎕WA - Workspace Available

Z←⎕WA returns the amount of workspace available to store data.
Z is an integer scalar which represents the amount in bytes of workspace available to store data.


I have a computer which is a quad core 64-bit machine with 4 gigabytes of memory and 750 gigabytes of disk space. Here is what Session Manager tells me I have available, in gigabytes and bytes:

      (⎕WA÷1024*3)  ' ' ⎕WA 
6.024291992   6468272128

While it doesn't mean I can actually create a single array with 6 gigabytes of data, it will allow very large arrays to be created. Note that in some cases, it is possible to create a workspace that is too large to )SAVE.

The value returned by this function does not represent the amount of contiguous memory available because memory may be fragmented by unmovable entries. Also, due to internal allocations for various purposes, this value might vary from time to time even though there is no user-initiated change in data storage.


Note: WA is a niladic form system function, you cannot assign a value to it.

System Variables (A value may be assigned to these except for ⎕DM)
ALX CT DM DT ELX FC FEATURE FPC IC IO
LR LX PP PR PW RL SA WSID
Niladic System Functions (a value cannot be assigned to these)
A AV EM ET LC NNAMES NNUMS SI SYSID SYSVER
T TC TCBEL TCBS TCESC TCFF TCHT TCLF TCNL TCNUL
TS WA
Monadic or dyadic system functions (a value cannot be assigned to these)
AT CR DC DFT DL DR EA EC ERROR ES
EX FMT FX MF NAPPEND NC NCREATE NERASE NINFO NL
NLOCK NREAD NRENAME NREPLACE NRESIZE NSIZE NTIE NUNTIE STOP TF
TRACE UCS VR
Note that quad functions and variables (except for the ⎕A family of functions) are case insensitive


See Also
System Commands System Variables and Functions Operators


Keyboard
Alt+Shift
Alt ¨ ¯ < > × ÷
Shift ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
Alt+Shift
Alt ? § π
Shift Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
Alt+Shift
Alt
Shift A S D F G H J K L : "
Key a s d f g h j k l ; '
Alt+Shift χ
Alt
Shift Z X C V B N M < > ?
Key z x c v b n m , . /
NARS 2000 Lang
Tool
Bar
+ - × ÷ * ! ? |
< = >
~ § π .. ,
/ \ ¨ .
_ ¯
Second Row i j k i j k l g p r v x
System Variables (A value may be assigned to these except for ⎕DM)
ALX CT DM DT ELX FC FEATURE FPC IC IO
LR LX PP PR PW RL SA WSID
Niladic System Functions (a value cannot be assigned to these)
A AV EM ET LC NNAMES NNUMS SI SYSID SYSVER
T TC TCBEL TCBS TCESC TCFF TCHT TCLF TCNL TCNUL
TS WA
Monadic or dyadic system functions (a value cannot be assigned to these)
AT CR DC DFT DL DR EA EC ERROR ES
EX FMT FX MF NAPPEND NC NCREATE NERASE NINFO NL
NLOCK NREAD NRENAME NREPLACE NRESIZE NSIZE NTIE NUNTIE STOP TF
TRACE UCS VR
Note that quad functions and variables (except for the ⎕A family of functions) are case insensitive