mat_wmul Subroutine

public subroutine mat_wmul(ar, ai, br, bi, cr, ci)

Arguments

Type IntentOptional Attributes Name
doubleprecision, intent(in) :: ar
doubleprecision, intent(in) :: ai
doubleprecision, intent(in) :: br
doubleprecision, intent(in) :: bi
doubleprecision, intent(out) :: cr
doubleprecision, intent(out) :: ci

Source Code

subroutine mat_wmul(ar,ai,br,bi,cr,ci)

! ident_25="@(#)M_LA::mat_wmul(3fp) c = a*b"

doubleprecision,intent(in)  :: ar
doubleprecision,intent(in)  :: ai
doubleprecision,intent(in)  :: br
doubleprecision,intent(in)  :: bi
doubleprecision,intent(out) :: cr
doubleprecision,intent(out) :: ci

doubleprecision :: t
   t = ar*bi + ai*br
   if (t .ne. 0.0d0) t = mat_flop(t)
   cr = mat_flop(ar*br - ai*bi)
   ci = t
end subroutine mat_wmul