Group 7: Two -argument, one result commands

Two-argument commands can operate in parallel in any of three different ways:

{list } {list }

{list } object

object {list }

In the first form, parallel elements are combined by the command:

{ 1 2 3 } { 4 5 6 } returns { .04 .1 .18 }.

In the second form, the level 1 object is combined with each element in the level 2 list in succession:

{ 1 2 3 } 30 %CH returns { 2900 1400 900 }.

In the third form, the level 2 object is combined with each element of the level 1 list in succession:

50 { 1 2 3 } %T returns { 2 4 6 }.

Group 8: Multiple-argument, one-result commands

Commands that take multiple (3, 4, or 5) arguments can perform parallel processing only if all arguments are lists. For example, { 'SIN(X)' 'COS(X)' 'TAN(X)' } { X X X } { 0 0 0 } ROOT returns { 0

900 }. Notice that lists must be used even though the level 1 and level 2 lists each contain multiples of the same element.

Group 9: Multiple-result commands

Any command that allows parallel processing, but produces multiple results from its input data, will return its results as a single list. For example, { 1 2 3 } { 4 5 6 } R→C C→R produces { 1 4 2 5 3 6 } rather than the more expected { 1 2 3 } { 4 5 6 }.

The following UNMIX program will unmix the data given the number of expected result lists:

«OVER SIZE → l n s

«1 n

FOR j j s

FOR i l i GET n STEP s n / →LIST

NEXT

»

»

Taking { 1 4 2 5 3 6 } from above as the result of C→R (a command which should return two results), 2 UNMIX gives { 1 2 3 } { 4 5 6 }.

Group 10: Quirky commands

A few commands behave uniquely with respect to parallel processing:

DELALARM. This command can take a list of arguments. Note, however, that deletions from early in the alarm list will change the alarm indices of the later alarm entries. Thus, if there are only three alarms,

{ 1 3 } DELALARM will cause an error, whereas { 3 1 } DELALARM will not.

DOERR. This command forces an error state that causes all running programs and commands to halt. Thus, even though providing the command with a list argument will cause the command to perform parallel processing, the first error state will cause the command to abort and none of the rest of the list arguments will be used.

FREE, MERGE. These commands are for the HP 48SX and do not apply to these calculators.

RESTORE. This command performs a system warmstart after installing the backup object into memory. All functions are terminated at that time. Thus, only the first backup object in a list will be restored.

Parallel Processing with Lists F-3