System Function WA: Difference between revisions
No edit summary |
(UPDATE EXAMPLE) |
||
Line 5: | Line 5: | ||
|<apll>Z</apll> is an integer scalar which represents the amount in bytes 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.}} | ||
<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> | |||
(⎕wa ÷1024*3) ' ' ⎕WA<br/> | |||
6.024291992 6468272128 | |||
</code><br/><br/> | |||
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]]. | |||
Note that <apll>⎕WA</apll> is a ''niladic'' function, you cannot assign anything to it. | Note that <apll>⎕WA</apll> is a ''niladic'' function, you cannot assign anything to it. | ||
<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> | ||
{{System Variables}} | {{System Variables}} |
Revision as of 23:47, 26 February 2013
⎕WA - Workspace Available
|
||||
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.
Note that ⎕WA is a niladic function, you cannot assign anything to it.
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.
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 |