home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / macrosrc.arc / DOTP.ASM < prev    next >
Encoding:
Assembly Source File  |  1983-11-17  |  859 b   |  36 lines

  1.  
  2. *COMPUTE DOT PRODUCTS
  3. *A IS A DATA ARRAY
  4. *B IS A DATA ARRAY
  5. *L IS DIMENSION OF A AND B
  6. *AC IS SET TO:
  7. *      A[0]*B[0]+A[1]*B[1]+ ... +A[L-1]*B[L-1]
  8.  
  9. DOTP   $MACRO            A,B,L
  10.        $VAR ST
  11.        $ASG '*' TO ST.S
  12.        $IF  A.SV#=ST.SV
  13.        $IF  B.SV#=ST.SV
  14.        CALL DOT$         SUM OF
  15.        REF  DOT$
  16.        DATA :A:           :A:
  17.        DATA :B:           :B:
  18.        DATA :L:          DIM :L:
  19.        $ELSE
  20.        CALL DOT$1        SUM OF
  21.        REF  DOT$1
  22.        DATA :A:           :A:
  23.        DATA :L:          DIM :L:
  24.        $ENDIF
  25.        $ELSE
  26.        $IF  B.SV#=ST.SV
  27.        CALL DOT$0        SUM OF
  28.        REF  DOT$0
  29.        DATA :B:           :B:
  30.        DATA :L:          DIM :L:
  31.        $ELSE
  32.        CALL DOT$01       SUM OF
  33.        REF  DOT$01
  34.        DATA :L:          DIM :L:
  35.        $ENDIF
  36.        $END