diff options
-rw-r--r-- | src/synth/synth-static_oper.adb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/synth/synth-static_oper.adb b/src/synth/synth-static_oper.adb index 75803c607..3a1c53ef4 100644 --- a/src/synth/synth-static_oper.adb +++ b/src/synth/synth-static_oper.adb @@ -239,6 +239,25 @@ package body Synth.Static_Oper is return Create_Value_Discrete (Left.Scal / Right.Scal, Res_Typ); + when Iir_Predefined_Floating_Less => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp < Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Less_Equal => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp <= Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Equality => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp = Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Inequality => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp /= Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Greater => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp > Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Greater_Equal => + return Create_Value_Discrete + (Boolean'Pos (Left.Fp >= Right.Fp), Boolean_Type); + when Iir_Predefined_Floating_Div => return Create_Value_Float (Left.Fp / Right.Fp, Res_Typ); |