Module Llvm.Fcmp

module Fcmp: sig .. end

The predicate for a floating-point comparison (fcmp) instruction. Ordered means that neither operand is a QNAN while unordered means that either operand may be a QNAN. See the llvm::FCmpInst::Predicate enumeration.


type t = 
| False (*

Always false

*)
| Oeq (*

Ordered and equal

*)
| Ogt (*

Ordered and greater than

*)
| Oge (*

Ordered and greater or equal

*)
| Olt (*

Ordered and less than

*)
| Ole (*

Ordered and less or equal

*)
| One (*

Ordered and not equal

*)
| Ord (*

Ordered (no operand is NaN)

*)
| Uno (*

Unordered (one operand at least is NaN)

*)
| Ueq (*

Unordered and equal

*)
| Ugt (*

Unordered and greater than

*)
| Uge (*

Unordered and greater or equal

*)
| Ult (*

Unordered and less than

*)
| Ule (*

Unordered and less or equal

*)
| Une (*

Unordered and not equal

*)
| True (*

Always true

*)