# IsApprox.jl uniform interface for approximate and exact equality

**URL:** <https://discourse.julialang.org/t/isapprox-jl-uniform-interface-for-approximate-and-exact-equality/35551>\
**Category:** Specific Domains\
**Tags:** proposal\
**Created:** [March 5, 2020, 2:31am UTC](https://discourse.julialang.org/t/isapprox-jl-uniform-interface-for-approximate-and-exact-equality/35551 "2020-03-05T02:31:03Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Post date:** [March 5, 2020, 2:31am UTC](https://discourse.julialang.org/t/isapprox-jl-uniform-interface-for-approximate-and-exact-equality/35551/1 "2020-03-05T02:31:03Z")

</div>

Sometimes I see an algorithm for a predicate duplicated because the notion of closeness varies. Eg. exact equality, (maximum over) elementwise distance, closeness in norm.

This package is a quick initial attempt at addressing the problem. The idea is to decouple the meaning and implementation of the predicate (eg `ishermitian`) from the meaning and implementation of closeness. (eq, exact or approximate equality)

[https://github.com/jlapeyre/IsApprox.jl](https://github.com/jlapeyre/IsApprox.jl)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [March 5, 2020, 9:44am UTC](https://discourse.julialang.org/t/isapprox-jl-uniform-interface-for-approximate-and-exact-equality/35551/2 "2020-03-05T09:44:47Z")

</div>

I think that this is a great idea. Packages that need some customizable notion of (approxiate) equality can just use this framework for modular, customizable application.
