Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
doubleprecision | :: | ar | ||||
doubleprecision | :: | ai | ||||
doubleprecision | :: | br | ||||
doubleprecision | :: | bi | ||||
doubleprecision | :: | cr | ||||
doubleprecision | :: | ci |
subroutine mat_wdiv(ar,ai,br,bi,cr,ci) ! ident_17="@(#)M_LA::mat_wdiv(3fp): c = a/b" doubleprecision :: ar doubleprecision :: ai doubleprecision :: br doubleprecision :: bi doubleprecision :: cr doubleprecision :: ci doubleprecision :: s doubleprecision :: d doubleprecision :: ars doubleprecision :: ais doubleprecision :: brs doubleprecision :: bis s = dabs(br) + dabs(bi) if (s .eq. 0.0d0) then call la_err(27) return endif ars = ar/s ais = ai/s brs = br/s bis = bi/s d = brs**2 + bis**2 cr = mat_flop((ars*brs + ais*bis)/d) ci = (ais*brs - ars*bis)/d if (ci .ne. 0.0d0) ci = mat_flop(ci) end subroutine mat_wdiv