Skip to content

Commit

Permalink
Implement proper ER-mode comparison for floating point types
Browse files Browse the repository at this point in the history
  • Loading branch information
latkin authored and forki committed Jun 16, 2015
1 parent 345927a commit 50854df
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions src/fsharp/FSharp.Core/prim-types.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1290,16 +1290,8 @@ namespace Microsoft.FSharp.Core
when 'T : uint32 = if (# "clt.un" x y : bool #) then (-1) else (# "cgt.un" x y : int #)
when 'T : uint64 = if (# "clt.un" x y : bool #) then (-1) else (# "cgt.un" x y : int #)
when 'T : unativeint = if (# "clt.un" x y : bool #) then (-1) else (# "cgt.un" x y : int #)
when 'T : float = if (# "clt" x y : bool #) then (-1)
elif (# "cgt" x y : bool #) then (1)
elif (# "ceq" x y : bool #) then (0)
elif (# "ceq" y y : bool #) then (-1)
else (# "ceq" x x : int #)
when 'T : float32 = if (# "clt" x y : bool #) then (-1)
elif (# "cgt" x y : bool #) then (1)
elif (# "ceq" x y : bool #) then (0)
elif (# "ceq" y y : bool #) then (-1)
else (# "ceq" x x : int #)
when 'T : float = if (# "clt" x y : bool #) then (-1) else (# "cgt" x y : int #)
when 'T : float32 = if (# "clt" x y : bool #) then (-1) else (# "cgt" x y : int #)
when 'T : char = if (# "clt.un" x y : bool #) then (-1) else (# "cgt.un" x y : int #)
when 'T : string =
// NOTE: we don't have to null check here because System.String.CompareOrdinal
Expand Down

0 comments on commit 50854df

Please sign in to comment.