You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

zrotgf.f 645 B

1234567891011121314151617181920212223
  1. subroutine zrotgf(ca,cb,c,s)
  2. double complex ca,cb,s
  3. double precision c
  4. double precision norm,scale
  5. double complex alpha
  6. if (cdabs(ca) .ne. 0.0d0) go to 10
  7. c = 0.0d0
  8. s = (1.0d0,0.0d0)
  9. ca = cb
  10. go to 20
  11. 10 continue
  12. scale = cdabs(ca) + cdabs(cb)
  13. norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2 +
  14. * (cdabs(cb/dcmplx(scale,0.0d0)))**2)
  15. alpha = ca /cdabs(ca)
  16. c = cdabs(ca) / norm
  17. s = alpha * dconjg(cb) / norm
  18. ca = alpha * norm
  19. 20 continue
  20. return
  21. end