Index | PAL Intro | Commands | Registers | Indices | Stack | Macros | Classes | Attributes | Errors


Manual Reference Pages  - mtx_bsize (5)

NAME

mtx/bsize - Return array base dimensions

CONTENTS

Synopsis
Description
Error Handling
Examples
See Also
Author

SYNOPSIS

mtx/bsize write, ![matrix] <, write, ![matrix] ... >

DESCRIPTION

Returns base dimensions of one or more matrix arrays. This is the starting index position in each dimension, which defaults to 0 and is altered by mtx/def or mtx/bresize. The arguments are grouped into pairs of write and read.

The write argument may be a single register or a list sequence containing multiple registers to store the base of each successive dimension in the matrix array identified by the following matrix argument. Dimension bases are stored in each register as an encoded psInteger value (PSUNIT_TYPE_XVALUE).

If no base dimensions were configured explicitly by the mtx/def instruction used to initialise the matrix array, then all registers supplied in the write argument will contain PSUNIT_TYPE_NULL following this instruction. This implies the base dimensions are at their default setting of 0.

If the array contains more dimensions than registers in the write argument, then the additional dimensions will be ignored. If the array contains fewer dimensions, then the extraneous registers will be set to PSUNIT_TYPE_NULL.

If the write argument is a list sequence, then one or more arguments in the list sequence may be the NULL special register if the dimension base corresponding to that argument position is not required.

ERROR HANDLING

A runtime error is generated if an argument is of the wrong type, or if a referenced object does not exist in the nexus or does not point to a matrix array.

EXAMPLES

mtx/bsize P1, P0
  Returns the base of the first dimension in register P1 for the matrix array referenced in register P0.
mtx/bsize @[P0, P1, P2], ![a]
  Returns the base of the first three dimensions in registers P0, P1 and P2 for the named matrix array.
mtx/bsize @[PUSH, PUSH], ![.prose.code.default.a]
  Pushes the base of the first two dimensions to the program stack for the matrix array located by the given object reference.
mtx/bsize @[NULL, P1], PULL
  Returns the base of the second dimension only in registers P1 for the matrix array referenced in topmost stack item.

SEE ALSO

pal_commands(5), pal_registers(5), pal_indices(5), ps_attributes(5), mtx_def(5), mtx_size(5), mtx_dim(5), mtx_bresize(5),
PROSE Assembly Language at prose.sourceforge.net.

AUTHOR

Copyright (c) 2002-2011 Mark R. Bannister <cambridge@users.sourceforge.net>.

This is free software and can be downloaded from prose.sourceforge.net; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


PAL 1.0 mtx_bsize (5) 17 October 2011
Generated by manServer 1.07 from man5/mtx_bsize.5 using man macros.