All files / complex-js/internal argImpl.ts

0% Statements 0/2
0% Branches 0/8
0% Functions 0/1
0% Lines 0/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11                     
export default function argImpl (real: number, imag: number): number {
  return (
    // if z is real, if z is negative, arg = pi, else arg = 0
    imag === 0 ? (real < 0 ? Math.PI : 0)
    // if z is imag, arg = sign(imag) * pi / 2
    : real === 0 ? (imag < 0 ? -0.5 : 0.5) * Math.PI
    // else arg = atan(imag / real)
    : Math.atan2(imag, real)
  );
}