// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package math


// Atan returns the arc tangent of y/x, using
// the signs of the two to determine the quadrant
// of the return value.
func Atan2(x, y float64) float64 {
	// Determine the quadrant and call atan.
	if x+y == x {
		if x >= 0 {
			return Pi/2;
		}
		return -Pi/2;
	}
	q := Atan(x/y);
	if y < 0 {
		if q <= 0 {
			return q + Pi;
		}
		return q - Pi;
	}
	return q;
}
