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: (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]))
|
(define-typed-struct pr ([fst : top] [snd : top]))
|
||||||
|
|
||||||
|
|
|
@ -334,10 +334,10 @@
|
||||||
(build (second (first pair))
|
(build (second (first pair))
|
||||||
(second 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
|
(define: (collatz [n : number]) : number
|
||||||
(cond [(one? n) 1]
|
(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)))]))
|
[else (collatz (add1 (* 3 n)))]))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -344,7 +344,7 @@
|
||||||
(maximum-sexp-depth interval max-sexp-depth)
|
(maximum-sexp-depth interval max-sexp-depth)
|
||||||
(average-sexp-depth interval avg-sexp-depth)
|
(average-sexp-depth interval avg-sexp-depth)
|
||||||
(number-of-setbangs/mod interval count-setbangs/ilist)
|
(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-setbang?/mod count module-has-setbangs?)
|
||||||
(uses-contracts? count uses-contracts)
|
(uses-contracts? count uses-contracts)
|
||||||
(number-of-contracts interval contracted-provides)
|
(number-of-contracts interval contracted-provides)
|
||||||
|
@ -540,8 +540,8 @@
|
||||||
; just in case i want to do some more analysis on the results afterwards,
|
; 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
|
; so i don't have to waste a minute if i forget to bind the return value to something
|
||||||
(define: (run-all-tests) : top
|
(define: (run-all-tests) : top
|
||||||
(let*: ([rs1 : (Listof (Result (Listof NumF) (Listof Atom-display) List))
|
(let*: ([rs1 : (Listof (Result (Listof NumF) (Listof Atom-display) (Listof Any)))
|
||||||
(#{compare* @ (Listof Atom-display) List}
|
(#{compare* @ (Listof Atom-display) (Listof Any)}
|
||||||
(list module-metrics))]
|
(list module-metrics))]
|
||||||
[rs2 : (Listof (Result (Listof NumF) (Listof Atom-display) Any))
|
[rs2 : (Listof (Result (Listof NumF) (Listof Atom-display) Any))
|
||||||
(#{compare* @ (Listof Atom-display) Any}
|
(#{compare* @ (Listof Atom-display) Any}
|
||||||
|
@ -549,7 +549,7 @@
|
||||||
(let
|
(let
|
||||||
([rs (append rs1 rs2)])
|
([rs (append rs1 rs2)])
|
||||||
(set! results rs)
|
(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)
|
(for-each #{pretty-print-result @ Any} rs2)
|
||||||
rs)))
|
rs)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user