1940 |
;;; make-polar |
;;; make-polar |
1941 |
;;; |
;;; |
1942 |
|
|
1943 |
|
(with-test-prefix "make-polar" |
1944 |
|
(define pi 3.14159265358979323846) |
1945 |
|
(define (almost= x y) |
1946 |
|
(> 0.01 (magnitude (- x y)))) |
1947 |
|
|
1948 |
|
(pass-if (= 0 (make-polar 0 0))) |
1949 |
|
(pass-if (= 0 (make-polar 0 123.456))) |
1950 |
|
(pass-if (= 1 (make-polar 1 0))) |
1951 |
|
(pass-if (= -1 (make-polar -1 0))) |
1952 |
|
|
1953 |
|
(pass-if (almost= 0+i (make-polar 1 (* 0.5 pi)))) |
1954 |
|
(pass-if (almost= -1 (make-polar 1 (* 1.0 pi)))) |
1955 |
|
(pass-if (almost= 0-i (make-polar 1 (* 1.5 pi)))) |
1956 |
|
(pass-if (almost= 1 (make-polar 1 (* 2.0 pi))))) |
1957 |
|
|
1958 |
;;; |
;;; |
1959 |
;;; real-part |
;;; real-part |
1960 |
;;; |
;;; |
1967 |
;;; magnitude |
;;; magnitude |
1968 |
;;; |
;;; |
1969 |
|
|
1970 |
|
(with-test-prefix "magnitude" |
1971 |
|
(pass-if (= 0 (magnitude 0))) |
1972 |
|
(pass-if (= 1 (magnitude 1))) |
1973 |
|
(pass-if (= 1 (magnitude -1))) |
1974 |
|
(pass-if (= 1 (magnitude 0+i))) |
1975 |
|
(pass-if (= 1 (magnitude 0-i))) |
1976 |
|
(pass-if (= 5 (magnitude 3+4i))) |
1977 |
|
(pass-if (= 5 (magnitude 3-4i))) |
1978 |
|
(pass-if (= 5 (magnitude -3+4i))) |
1979 |
|
(pass-if (= 5 (magnitude -3-4i)))) |
1980 |
|
|
1981 |
;;; |
;;; |
1982 |
;;; angle |
;;; angle |
1983 |
;;; |
;;; |