Index: tools/smaz.adb ================================================================== --- tools/smaz.adb +++ tools/smaz.adb @@ -186,10 +186,20 @@ function Last_Code (Dict : in Natools.Smaz.Dictionary) return Ada.Streams.Stream_Element is (Dict.Dict_Last); -- Return the last valid entry + function Length (Dict : in Natools.Smaz_256.Dictionary) return Positive + is (Dict.Offsets'Length + 1); + function Length (Dict : in Natools.Smaz_4096.Dictionary) return Positive + is (Dict.Offsets'Length + 1); + function Length (Dict : in Natools.Smaz_64.Dictionary) return Positive + is (Dict.Offsets'Length + 1); + function Length (Dict : in Natools.Smaz.Dictionary) return Positive + is (Dict.Offsets'Length); + -- Return the number of entries in Dict + procedure Print_Dictionary (Output : in Ada.Text_IO.File_Type; Dictionary : in Natools.Smaz_256.Dictionary; Hash_Package_Name : in String := ""); procedure Print_Dictionary @@ -280,10 +290,12 @@ with procedure Filter_By_Count (Counter : in out Word_Counter; Threshold_Count : in String_Count); with function Last_Code (Dict : in Dictionary) return Dictionary_Entry; + + with function Length (Dict : in Dictionary) return Positive is <>; with procedure Print_Dictionary (Output : in Ada.Text_IO.File_Type; Dict : in Dictionary; Hash_Package_Name : in String := "") @@ -430,10 +442,11 @@ end Dictionary_Subprograms; package body Dictionary_Subprograms is + pragma Unreferenced (Length); function Adjust_Dictionary (Handler : in Callback'Class; Dict : in Dictionary; Corpus : in String_Lists.List;