home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP2.ZIP / POLYOPS.ZIP / PMPY.FOR < prev    next >
Text File  |  1985-11-29  |  2KB  |  53 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE PMPY
  5. C
  6. C        PURPOSE
  7. C           MULTIPLY TWO POLYNOMIALS
  8. C
  9. C        USAGE
  10. C           CALL PMPY(Z,IDIMZ,X,IDIMX,Y,IDIMY)
  11. C
  12. C        DESCRIPTION OF PARAMETERS
  13. C           Z     - VECTOR OF RESULTANT COEFFICIENTS, ORDERED FROM
  14. C                   SMALLEST TO LARGEST POWER
  15. C           IDIMZ - DIMENSION OF Z (CALCULATED)
  16. C           X     - VECTOR OF COEFFICIENTS FOR FIRST POLYNOMIAL, ORDERED
  17. C                   FROM SMALLEST TO LARGEST POWER
  18. C           IDIMX - DIMENSION OF X (DEGREE IS IDIMX-1)
  19. C           Y     - VECTOR OF COEFFICIENTS FOR SECOND POLYNOMIAL,
  20. C                   ORDERED FROM SMALLEST TO LARGEST POWER
  21. C           IDIMY - DIMENSION OF Y (DEGREE IS IDIMY-1)
  22. C
  23. C        REMARKS
  24. C           Z CANNOT BE IN THE SAME LOCATION AS X
  25. C           Z CANNOT BE IN THE SAME LOCATION AS Y
  26. C
  27. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  28. C           NONE
  29. C
  30. C        METHOD
  31. C           DIMENSION OF Z IS CALCULATED AS IDIMX+IDIMY-1
  32. C           THE COEFFICIENTS OF Z ARE CALCULATED AS SUM OF PRODUCTS
  33. C           OF COEFFICIENTS OF X AND Y , WHOSE EXPONENTS ADD UP TO THE
  34. C           CORRESPONDING EXPONENT OF Z.
  35. C
  36. C     ..................................................................
  37. C
  38.       SUBROUTINE PMPY(Z,IDIMZ,X,IDIMX,Y,IDIMY)
  39.       DIMENSION Z(1),X(1),Y(1)
  40. C
  41.       IF(IDIMX*IDIMY)10,10,20
  42.    10 IDIMZ=0
  43.       GO TO 50
  44.    20 IDIMZ=IDIMX+IDIMY-1
  45.       DO 30 I=1,IDIMZ
  46.    30 Z(I)=0.
  47.       DO 40 I=1,IDIMX
  48.       DO 40 J=1,IDIMY
  49.       K=I+J-1
  50.    40 Z(K)=X(I)*Y(J)+Z(K)
  51.    50 RETURN
  52.       END
  53.