ladiv2#

Functions

f32 sladiv2(
    const f32 a,
    const f32 b,
    const f32 c,
    const f32 d,
    const f32 r,
    const f32 t
);
f32 sladiv2(const f32 a, const f32 b, const f32 c, const f32 d, const f32 r, const f32 t)#

SLADIV2 is a helper routine for SLADIV1, performing part of complex division using the Baudin-Smith algorithm.

This function computes (a + b*r) * t or (a + d*(b/c)) * t depending on the value of r.

Further Details:

The algorithm is due to Michael Baudin and Robert L. Smith and can be found in the paper “A Robust Complex Division in Scilab”. https://doi.org/10.48550/arXiv.1210.4539

Parameters

in
a

Single precision scalar.

in
b

Single precision scalar.

in
c

Single precision scalar.

in
d

Single precision scalar.

in
r

Single precision scalar, precomputed as d/c.

in
t

Single precision scalar, precomputed as 1/(c + d*r).

Returns:

The computed value for use in complex division.

Functions

f64 dladiv2(
    const f64 a,
    const f64 b,
    const f64 c,
    const f64 d,
    const f64 r,
    const f64 t
);
f64 dladiv2(const f64 a, const f64 b, const f64 c, const f64 d, const f64 r, const f64 t)#

DLADIV2 is a helper routine for DLADIV1, performing part of complex division using the Baudin-Smith algorithm.

This function computes (a + b*r) * t or (a + d*(b/c)) * t depending on the value of r.

Further Details:

The algorithm is due to Michael Baudin and Robert L. Smith and can be found in the paper “A Robust Complex Division in Scilab”. https://doi.org/10.48550/arXiv.1210.4539

Parameters

in
a

Double precision scalar.

in
b

Double precision scalar.

in
c

Double precision scalar.

in
d

Double precision scalar.

in
r

Double precision scalar, precomputed as d/c.

in
t

Double precision scalar, precomputed as 1/(c + d*r).

Returns:

The computed value for use in complex division.