1 subroutine crotgf(ca,cb,c,s) 2 complex ca,cb,s 3 real c 4 real norm,scale 5 complex alpha 6 if (cabs(ca) .ne. 0.) go to 10 7 c = 0. 8 s = (1.,0.) 9 ca = cb 10 go to 20 11 10 continue 12 scale = cabs(ca) + cabs(cb) 13 norm = scale * sqrt((cabs(ca/scale))**2 + (cabs(cb/scale))**2) 14 alpha = ca /cabs(ca) 15 c = cabs(ca) / norm 16 s = alpha * conjg(cb) / norm 17 ca = alpha * norm 18 20 continue 19 return 20 end 21