ladiv1#

Functions

void sladiv1(
    const f32  a,
    const f32  b,
    const f32  c,
    const f32  d,
          f32* p,
          f32* q
);
void sladiv1(const f32 a, const f32 b, const f32 c, const f32 d, f32 *p, f32 *q)#

SLADIV1 is a helper routine for SLADIV, performing complex division when |d| <= |c| using the Baudin-Smith algorithm.

This function computes the real and imaginary parts of (a + i*b)/(c + i*d) when |d| <= |c|.

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, real part of the numerator.

in
b

Single precision scalar, imaginary part of the numerator.

in
c

Single precision scalar, real part of the denominator.

in
d

Single precision scalar, imaginary part of the denominator.

out
p

Receives the real part of the result.

out
q

Receives the imaginary part of the result.

Functions

void dladiv1(
    const f64  a,
    const f64  b,
    const f64  c,
    const f64  d,
          f64* p,
          f64* q
);
void dladiv1(const f64 a, const f64 b, const f64 c, const f64 d, f64 *p, f64 *q)#

DLADIV1 is a helper routine for DLADIV, performing complex division when |d| <= |c| using the Baudin-Smith algorithm.

This function computes the real and imaginary parts of (a + i*b)/(c + i*d) when |d| <= |c|.

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, real part of the numerator.

in
b

Double precision scalar, imaginary part of the numerator.

in
c

Double precision scalar, real part of the denominator.

in
d

Double precision scalar, imaginary part of the denominator.

out
p

Receives the real part of the result.

out
q

Receives the imaginary part of the result.