diff options
Diffstat (limited to 'src/synth/synth-values.adb')
-rw-r--r-- | src/synth/synth-values.adb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/synth/synth-values.adb b/src/synth/synth-values.adb index a8932501e..8ce6bad34 100644 --- a/src/synth/synth-values.adb +++ b/src/synth/synth-values.adb @@ -37,6 +37,32 @@ package body Synth.Values is function To_Value_Array_Acc is new Ada.Unchecked_Conversion (System.Address, Values.Value_Array_Acc); + function Is_Const (Val : Value_Acc) return Boolean is + begin + case Val.Kind is + when Value_Discrete => + return True; + when Value_Net + | Value_Wire + | Value_Mux2 => + return False; + when Value_Const_Array + | Value_Const_Record => + return True; + when Value_Array + | Value_Record => + return False; + when others => + -- TODO. + raise Internal_Error; + end case; + end Is_Const; + + function Is_Float (Val : Value_Acc) return Boolean is + begin + return Val.Kind = Value_Float; + end Is_Float; + function Is_Bounded_Type (Typ : Type_Acc) return Boolean is begin case Typ.Kind is |