Skip to content

scalar.clampf

← scalar dialect

Floating-point clamp with explicit NaN/comparison policy. The ordered mode preserves strict compare/select semantics, number mode uses minnum/maxnum semantics, and ieee mode propagates NaNs.

Operation contract

Property Value
Semantic phase executable
Traits Pure

Signature

Kind Name Type Cardinality Description
Operand value float required —
Operand lower float required —
Operand upper float required —
Result result float required —
Attribute mode enum ClampFMode required —
Attribute fastmath flags FastMathFlags optional —

Verification constraints

  • SameType(value, lower, upper, result)

Examples

%result = scalar.clampf<ordered> %value, %lower, %upper : f32
%result = scalar.clampf<number, nnan|nsz> %value, %lower, %upper : f32
%result = scalar.clampf<ieee> %value, %lower, %upper : f32