use exact-integer? instead of integer?
use (Listof Any) instead of List svn: r13437
This commit is contained in:
parent
11fc8c8906
commit
52d711e0bd
|
@ -6,7 +6,8 @@
|
|||
|
||||
(define: (element-of? [elt : top] [s : set]) : top (s elt))
|
||||
|
||||
(define: (evens [elt : top]) : top (and (integer? elt) (even? elt)))
|
||||
;; CHANGE - use exact-integer?
|
||||
(define: (evens [elt : top]) : top (and (exact-integer? elt) (even? elt)))
|
||||
|
||||
(define-typed-struct pr ([fst : top] [snd : top]))
|
||||
|
||||
|
|
|
@ -334,10 +334,10 @@
|
|||
(build (second (first pair))
|
||||
(second pair))))
|
||||
|
||||
;; changed to test for integer? before even? check.
|
||||
;; changed to test for exact-integer? before even? check.
|
||||
(define: (collatz [n : number]) : number
|
||||
(cond [(one? n) 1]
|
||||
[(and (integer? n) (even? n)) (collatz (/ n 2))]
|
||||
[(and (exact-integer? n) (even? n)) (collatz (/ n 2))]
|
||||
[else (collatz (add1 (* 3 n)))]))
|
||||
|
||||
|
||||
|
|
|
@ -344,7 +344,7 @@
|
|||
(maximum-sexp-depth interval max-sexp-depth)
|
||||
(average-sexp-depth interval avg-sexp-depth)
|
||||
(number-of-setbangs/mod interval count-setbangs/ilist)
|
||||
(number-of-exprs #{interval @ List} #{length @ Any})
|
||||
(number-of-exprs #{interval @ (Listof Any)} #{length @ Any})
|
||||
(uses-setbang?/mod count module-has-setbangs?)
|
||||
(uses-contracts? count uses-contracts)
|
||||
(number-of-contracts interval contracted-provides)
|
||||
|
@ -540,8 +540,8 @@
|
|||
; just in case i want to do some more analysis on the results afterwards,
|
||||
; so i don't have to waste a minute if i forget to bind the return value to something
|
||||
(define: (run-all-tests) : top
|
||||
(let*: ([rs1 : (Listof (Result (Listof NumF) (Listof Atom-display) List))
|
||||
(#{compare* @ (Listof Atom-display) List}
|
||||
(let*: ([rs1 : (Listof (Result (Listof NumF) (Listof Atom-display) (Listof Any)))
|
||||
(#{compare* @ (Listof Atom-display) (Listof Any)}
|
||||
(list module-metrics))]
|
||||
[rs2 : (Listof (Result (Listof NumF) (Listof Atom-display) Any))
|
||||
(#{compare* @ (Listof Atom-display) Any}
|
||||
|
@ -549,7 +549,7 @@
|
|||
(let
|
||||
([rs (append rs1 rs2)])
|
||||
(set! results rs)
|
||||
(for-each #{pretty-print-result @ List} rs1)
|
||||
(for-each #{pretty-print-result @ (Listof Any)} rs1)
|
||||
(for-each #{pretty-print-result @ Any} rs2)
|
||||
rs)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user