PasteRack.org
Paste # 94321
2016-02-06 12:42:36

Fork as a new paste.

Paste viewed 263 times.


Embed:

~=~?

  1. #lang racket
  2.  
  3. (define (~=~? x y)
  4.   (and (= (length x) (length y))
  5.        (for/and ([vx (in-list x)]
  6.                  [vy (in-list y)])
  7.          (define avg (/ (+ (abs vx) (abs vy)) 2))
  8.          (define diff (abs (- vx vy)))
  9.          (< diff (/ avg 100)))))
  10.  
  11. (~=~? '(1047072 1047216 1047441 1047521 1047682 59102 59361 59583 59818)
  12.       '(1047085 1047276 1047471 1047754 1047938 59128 59364 59732 59945)) ; ==> #t
  13.  
  14. (~=~? '(1047072 1047216 1047441 1047521 1047682 59102 59361 59583 59818)
  15.       '(1047085 1047276 1017471 1047754 1047938 59128 59364 59732 59945)) ; ==> #f

=>

#t

#f