;; Copyright 1987 by NeXT Inc. ;; Author - John Strawn ;; ;; Modification history ;; -------------------- ;; 07/23/87/jms - initial file created from DSPAPSRC/template ;; 02/17/88/jms - added OPTIONAL_NOP ;; 02/23/88/jms - cosmetic changes to code and documentation ;; ;; ------------------------------ DOCUMENTATION --------------------------- ;; NAME ;; vrampi (AP macro) - vector ramp immediate - fill a vector with a ramp ;; ;; SYNOPSIS ;; include 'stdmacros' ; load standard DSP macro package ;; vrampi pf,ic,ar0,ari0,sout,aout0,iout0,cnt0 ;; ;; MACRO ARGUMENTS ;; pf = global label prefix (any text unique to invoking macro) ;; ic = instance count (such that pf\_vrampi_\ic is globally unique) ;; ar0 = initial ramp value ;; ari0 = initial ramp increment ;; sout = output vector memory space ('x' or 'y') ;; aout0 = output vector base address ;; iout0 = initial increment for output vector ;; cnt0 = initial element count ;; ;; DSP MEMORY ARGUMENTS ;; Access Description Initialization ;; ------ ----------- -------------- ;; x:(R_X)+ initial ramp value ar0 ;; x:(R_X)+ ramp increment ari0 ;; x:(R_X)+ output vector base address aout0 ;; x:(R_X)+ output vector increment iout0 ;; x:(R_X)+ element count cnt0 ;; ;; DESCRIPTION ;; The vrampi array-processor macro computes D[aD+k*iD] = r+k*i, k=0:n-1. ;; In pseudo-C notation: ;; ;; ar = x:(R_X)+; ;; ari = x:(R_X)+; ;; aout = x:(R_X)+; ;; iout = x:(R_X)+; ;; cnt = x:(R_X)+; ;; ;; sout:aout = ar; ;; for (n=1;n