2025-08-24 04:03:45 +03:00

22 lines
533 B
Fortran

recursive subroutine fpgivs(piv,ww,cos,sin)
implicit none
c subroutine fpgivs calculates the parameters of a givens
c transformation .
c ..
c ..scalar arguments..
real*8 piv,ww,cos,sin
c ..local scalars..
real*8 dd,one,store
c ..function references..
real*8 abs,sqrt
c ..
one = 0.1e+01
store = abs(piv)
if(store.ge.ww) dd = store*sqrt(one+(ww/piv)**2)
if(store.lt.ww) dd = ww*sqrt(one+(piv/ww)**2)
cos = ww/dd
sin = piv/dd
ww = dd
return
end