ericmj / decimal

Arbitrary precision decimal arithmetic

Home Page:https://hexdocs.pm/decimal/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot sort a list with multiple infinity values

wojtekmach opened this issue · comments

I'm testing this on decimal master:

iex> Enum.sort(~w(1 -1 Inf), &Decimal.cmp(&1, &2) in [:eq, :lt])
["-1", "1", "Inf"]

iex> Enum.sort(~w(1 -1 Inf Inf), &Decimal.cmp(&1, &2) in [:eq, :lt])
** (Decimal.Error) : adding +Infinity and -Infinity
    (decimal 1.8.1-dev) lib/decimal.ex:316: Decimal.add/2
    (decimal 1.8.1-dev) lib/decimal.ex:398: Decimal.compare/2
    (decimal 1.8.1-dev) lib/decimal.ex:422: Decimal.cmp/2
    (stdlib 3.11) erl_eval.erl:680: :erl_eval.do_apply/6
    (stdlib 3.11) erl_eval.erl:449: :erl_eval.expr/5
    (stdlib 3.11) erl_eval.erl:126: :erl_eval.exprs/5
    (stdlib 3.11) lists.erl:2648: :lists.fmerge2_1/5
    (stdlib 3.11) lists.erl:2627: :lists.fmergel/4

Fixed in #130.