Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | tools/smaz: use the new version of Worst_Index |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
6eaac2a01ca5beaf5afde45a9e7aa11c |
| User & Date: | nat 2017-05-17 21:44:12.279 |
Context
|
2017-05-18
| ||
| 21:13 | tools/smaz: implement forced words for optimized dictionary generation check-in: 014ca1d01b user: nat tags: trunk | |
|
2017-05-17
| ||
| 21:44 | tools/smaz: use the new version of Worst_Index check-in: 6eaac2a01c user: nat tags: trunk | |
|
2017-05-16
| ||
| 21:25 | smaz-tools: new version of Worst_Index limited to a range check-in: 5388213f83 user: nat tags: trunk | |
Changes
Changes to tools/smaz.adb.
| ︙ | ︙ | |||
321 322 323 324 325 326 327 |
(List : in String_Lists.List;
Variable_Length_Verbatim : in Boolean)
return Dictionary;
with function Worst_Element
(Dict : in Dictionary;
Counts : in Dictionary_Counts;
| | > | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 |
(List : in String_Lists.List;
Variable_Length_Verbatim : in Boolean)
return Dictionary;
with function Worst_Element
(Dict : in Dictionary;
Counts : in Dictionary_Counts;
Method : in Methods;
First, Last : in Dictionary_Entry)
return Dictionary_Entry;
package Dictionary_Subprograms is
package Holders is new Ada.Containers.Indefinite_Holders (Dictionary);
function Adjust_Dictionary
|
| ︙ | ︙ | |||
451 452 453 454 455 456 457 |
end if;
end loop;
for Word of Handler.Forced_Words loop
if not Is_In_Dict (Actual_Dict, Word) then
declare
Worst_Index : constant Dictionary_Entry
| | > > | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 |
end if;
end loop;
for Word of Handler.Forced_Words loop
if not Is_In_Dict (Actual_Dict, Word) then
declare
Worst_Index : constant Dictionary_Entry
:= Worst_Element
(Actual_Dict, Counts, Method,
Dictionary_Entry'First, Last_Code (Actual_Dict));
New_Dict : constant Dictionary
:= Replace_Element (Current.Element, Worst_Index, Word);
begin
Ada.Text_IO.Put_Line
(Ada.Text_IO.Current_Error,
"Removing"
& Counts (Worst_Index)'Img & "x "
|
| ︙ | ︙ | |||
560 561 562 563 564 565 566 |
Updated : out Boolean)
is
use type Ada.Streams.Stream_Element_Offset;
New_Value : Ada.Strings.Unbounded.Unbounded_String;
New_Position : String_Lists.Cursor;
Worst_Index : constant Dictionary_Entry
| | > > | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 |
Updated : out Boolean)
is
use type Ada.Streams.Stream_Element_Offset;
New_Value : Ada.Strings.Unbounded.Unbounded_String;
New_Position : String_Lists.Cursor;
Worst_Index : constant Dictionary_Entry
:= Worst_Element
(Dict.Element, Counts, Method,
Dictionary_Entry'First, Last_Code (Dict.Element));
Worst_Value : constant String
:= Dict_Entry (Dict.Element, Worst_Index);
Worst_Count : constant String_Count := Counts (Worst_Index);
Base : constant Dictionary
:= Remove_Element (Dict.Element, Worst_Index);
Old_Score : constant Ada.Streams.Stream_Element_Count := Score;
begin
|
| ︙ | ︙ |