Blame thirdparty/openblas/xianyi-OpenBLAS-e6e87a2/reference/crotgf.f
|
kusano |
2b45e8 |
subroutine crotgf(ca,cb,c,s)
|
|
kusano |
2b45e8 |
complex ca,cb,s
|
|
kusano |
2b45e8 |
real c
|
|
kusano |
2b45e8 |
real norm,scale
|
|
kusano |
2b45e8 |
complex alpha
|
|
kusano |
2b45e8 |
if (cabs(ca) .ne. 0.) go to 10
|
|
kusano |
2b45e8 |
c = 0.
|
|
kusano |
2b45e8 |
s = (1.,0.)
|
|
kusano |
2b45e8 |
ca = cb
|
|
kusano |
2b45e8 |
go to 20
|
|
kusano |
2b45e8 |
10 continue
|
|
kusano |
2b45e8 |
scale = cabs(ca) + cabs(cb)
|
|
kusano |
2b45e8 |
norm = scale * sqrt((cabs(ca/scale))**2 + (cabs(cb/scale))**2)
|
|
kusano |
2b45e8 |
alpha = ca /cabs(ca)
|
|
kusano |
2b45e8 |
c = cabs(ca) / norm
|
|
kusano |
2b45e8 |
s = alpha * conjg(cb) / norm
|
|
kusano |
2b45e8 |
ca = alpha * norm
|
|
kusano |
2b45e8 |
20 continue
|
|
kusano |
2b45e8 |
return
|
|
kusano |
2b45e8 |
end
|