Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
doubleprecision | :: | in_real | ||||
doubleprecision | :: | in_imag | ||||
doubleprecision | :: | out_real | ||||
doubleprecision | :: | out_imag |
subroutine mat_wlog(in_real,in_imag,out_real,out_imag) ! ident_22="@(#)M_LA::mat_wlog(3fp): y = log(x)" doubleprecision :: in_real, in_imag doubleprecision :: out_real, out_imag doubleprecision :: t doubleprecision :: r r = mat_pythag(in_real,in_imag) if (r .eq. 0.0d0) then call la_err(32) ! Singularity of LOG or ATAN else t = datan2(in_imag,in_real) if (in_imag.eq.0.0d0 .and. in_real.lt.0.0d0) t = dabs(t) out_real = dlog(r) out_imag = t endif end subroutine mat_wlog