home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / polyops / padd.for < prev    next >
Text File  |  1985-11-29  |  2KB  |  60 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE PADD
  5. C
  6. C        PURPOSE
  7. C           ADD TWO POLYNOMIALS
  8. C
  9. C        USAGE
  10. C           CALL PADD(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           VECTOR Z MAY BE IN SAME LOCATION AS EITHER VECTOR X OR
  25. C           VECTOR Y ONLY IF THE DIMENSION OF THAT VECTOR IS NOT LESS
  26. C           THAN THE OTHER INPUT VECTOR
  27. C           THE RESULTANT POLYNOMIAL MAY HAVE TRAILING ZERO COEFFICIENTS
  28. C
  29. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  30. C           NONE
  31. C
  32. C        METHOD
  33. C           DIMENSION OF RESULTANT VECTOR IDIMZ IS CALCULATED AS THE
  34. C           LARGER OF THE TWO INPUT VECTOR DIMENSIONS. CORRESPONDING
  35. C           COEFFICIENTS ARE THEN ADDED TO FORM Z.
  36. C
  37. C     ..................................................................
  38. C
  39.       SUBROUTINE PADD(Z,IDIMZ,X,IDIMX,Y,IDIMY)
  40.       DIMENSION Z(1),X(1),Y(1)
  41. C
  42. C     TEST DIMENSIONS OF SUMMANDS
  43. C
  44.       NDIM=IDIMX
  45.       IF (IDIMX-IDIMY) 10,20,20
  46.    10 NDIM=IDIMY
  47.    20 IF(NDIM) 90,90,30
  48.    30 DO 80 I=1,NDIM
  49.       IF(I-IDIMX) 40,40,60
  50.    40 IF(I-IDIMY) 50,50,70
  51.    50 Z(I)=X(I)+Y(I)
  52.       GO TO 80
  53.    60 Z(I)=Y(I)
  54.       GO TO 80
  55.    70 Z(I)=X(I)
  56.    80 CONTINUE
  57.    90 IDIMZ=NDIM
  58.       RETURN
  59.       END
  60.