fork(1) download
  1. (define (degrees->radians deg min sec)
  2. (/ (+ deg (/ min 60) (/ sec 60 60)) 57.2957795))
  3.  
  4. (define (radians->degrees rad)
  5. (let* ((r (* rad 57.2957795))
  6. (d (floor r))
  7. (m (floor (* (- r d) 60)))
  8. (s (round (* (- (* (- r d) 60) m) 60))))
  9. (values (inexact->exact d)
  10. (inexact->exact m)
  11. (inexact->exact s))))
  12.  
  13. (display (degrees->radians 47 6 38)) (newline)
  14. (call-with-values
  15. (lambda () (radians->degrees 0.822234307))
  16. (lambda (d m s)
  17. (display d) (display " ")
  18. (display m) (display " ")
  19. (display s) (newline)))
Success #stdin #stdout 0s 7272KB
stdin
Standard input is empty
stdout
0.822234307075891
47 6 38