8Ah FN$MEAN calculate mean of a list
Input Pointer on stack to floating-point numbers.
Word on stack specifying the number of floats.
Output Floating-point result on the stack.
Description

Returns the arithmetic mean of the floating-point numbers pointed to by the parameter on the run-time stack at RTA_SP. The number of floats is passed as a word on the stack at RTA_SP+2.

The result is pushed onto the run-time stack, leaving the input parameters intact.

See also: technical manual > utility system services > floating point numbers

LZ...

Example The following code calculates the arithmetic mean of COUNT floats at TABFLOATS and leaves the result on the stack.
        LDD     RTA_SP:         ;CURRENT RUNTIME STACK POINTER
        SUBD    #4              ;PREPARE TO PUSH 2 WORDS
        XGDX
        CPX     ALA_FREE        ;ENOUGH MEMORY FREE?
        BCS     ERROR1          ;NO
        STX     RTA_SP:         ;NEW STACK POINTER
        LDD     #TABFLOATS      ;POINT TO TABLE OF FLOATS
        STD     0,X             ;POINTER ON STACK
        LDD     COUNT           ;COUNT OF FLOATS AT TABFLOATS
        STD     2,X             ;COUNT ON STACK
        OS      FN$MEAN         ;MEAN ON STACK
        BCS     ERROR2
        RTS
Errors 253 - exponent overflow
249 - stack overflow