Overview
Comment: | smaz-tools: add a size limit for the simple dictionary pending list |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c61c547bb89c5953739a62986a129063 |
User & Date: | nat on 2016-11-02 20:55:40 |
Other Links: | manifest | tags |
Context
2016-11-03
| ||
20:20 | tools/smaz: new command line option for maximum pending list size check-in: 2ee60631e6 user: nat tags: trunk | |
2016-11-02
| ||
20:55 | smaz-tools: add a size limit for the simple dictionary pending list check-in: c61c547bb8 user: nat tags: trunk | |
2016-11-01
| ||
21:32 | tools/smaz: fix option arguments in help text check-in: 8a29fd3a72 user: nat tags: trunk | |
Changes
Modified src/natools-smaz-tools.adb from [7a4d302625] to [f5a81251e0].
︙ | ︙ | |||
801 802 803 804 805 806 807 | end Simple_Dictionary; procedure Simple_Dictionary_And_Pending (Counter : in Word_Counter; Word_Count : in Natural; Selected : out String_Lists.List; | | > > > | 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 | end Simple_Dictionary; procedure Simple_Dictionary_And_Pending (Counter : in Word_Counter; Word_Count : in Natural; Selected : out String_Lists.List; Pending : out String_Lists.List; Max_Pending_Count : in Ada.Containers.Count_Type := Ada.Containers.Count_Type'Last) is use type Ada.Containers.Count_Type; Target_Count : constant Ada.Containers.Count_Type := Ada.Containers.Count_Type (Word_Count); Set : Scored_Word_Sets.Set; begin for Cursor in Word_Maps.Iterate (Counter.Map) loop Scored_Word_Sets.Insert (Set, To_Scored_Word (Cursor)); end loop; Selected := String_Lists.Empty_List; Pending := String_Lists.Empty_List; for Cursor in Scored_Word_Sets.Iterate (Set) loop if String_Lists.Length (Selected) < Target_Count then Selected.Append (Scored_Word_Sets.Element (Cursor).Word); else Pending.Append (Scored_Word_Sets.Element (Cursor).Word); exit when String_Lists.Length (Selected) >= Max_Pending_Count; end if; end loop; end Simple_Dictionary_And_Pending; function To_Scored_Word (Cursor : in Word_Maps.Cursor) return Scored_Word |
︙ | ︙ |
Modified src/natools-smaz-tools.ads from [f9d85abade] to [be69a43d0e].
︙ | ︙ | |||
158 159 160 161 162 163 164 | -- Return the Word_Count words in Counter that have the highest score, -- the score being count * length. procedure Simple_Dictionary_And_Pending (Counter : in Word_Counter; Word_Count : in Natural; Selected : out String_Lists.List; | | > > | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | -- Return the Word_Count words in Counter that have the highest score, -- the score being count * length. procedure Simple_Dictionary_And_Pending (Counter : in Word_Counter; Word_Count : in Natural; Selected : out String_Lists.List; Pending : out String_Lists.List; Max_Pending_Count : in Ada.Containers.Count_Type := Ada.Containers.Count_Type'Last); -- Return in Selected the Word_Count words in Counter that have the -- highest score, and in Pending the remaining words, -- the score being count * length. type Dictionary_Counts is array (Ada.Streams.Stream_Element) of String_Count; |
︙ | ︙ |