aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-values.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-values.adb')
-rw-r--r--src/synth/synth-values.adb26
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