// Returns the arctangent of the quotient of its arguments.
// @param {Number} $y
// @param {Number} $x
// @example
//     atan2(0, 0)       // 0
//     atan2(0, -0.0)    // 3.14159
//     atan2(-0.0, 0)    // 0
//     atan2(-0.0, -0.0) // -3.14159
//     atan2(0, 1)       // 0
//     atan2(0, -1)      // 3.14159
@function atan2 ($y, $x) {
    @if $x > 0 {
        @return atan($y / $x);
    } @else if $x < 0 {
        @if $y < 0 {
            @return atan($y / $x) - $PI;
        } @else {
            @return atan($y / $x) + $PI;
        }
    } @else {
        @if $y < 0 {
            @return - $PI / 2;
        } @else if $y > 0 {
            @return $PI / 2;
        } @else {
            @if 1 / $x == 1 / 0 {
                @return 0;
            } @else {
                @if 1 / $y == 1 / 0 {
                    @return $PI;
                } @else {
                    @return -$PI;
                }
            }
        }
    }
}
