Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | tools/smaz: add options to select variable-length verbatim codes |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
23651902452693f42f6d3cb6b5900ddf |
User & Date: | nat 2016-11-06 20:42:32 |
Context
2016-11-07
| ||
21:11 | smaz-tools: import scoring code from tools/smaz check-in: 5822fc18e0 user: nat tags: trunk | |
2016-11-06
| ||
20:42 | tools/smaz: add options to select variable-length verbatim codes check-in: 2365190245 user: nat tags: trunk | |
2016-11-05
| ||
20:02 | tools/smaz: new command line option to set built dictionary size check-in: bc5e6e89ab user: nat tags: trunk | |
Changes
Changes to tools/smaz.adb.
︙ | ︙ | |||
80 81 82 83 84 85 86 | Stat_Output, No_Stat_Output, Text_List_Input, Fast_Text_Input, Max_Word_Size, Sx_Output, No_Sx_Output, | > | > > | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Stat_Output, No_Stat_Output, Text_List_Input, Fast_Text_Input, Max_Word_Size, Sx_Output, No_Sx_Output, No_Vlen_Verbatim, Score_Method, Vlen_Verbatim); end Options; package Getopt is new Natools.Getopt_Long (Options.Id); type Callback is new Getopt.Handlers.Callback with record Display_Help : Boolean := False; Need_Dictionary : Boolean := False; Stat_Output : Boolean := False; Sx_Output : Boolean := False; Sx_Dict_Output : Boolean := False; Min_Sub_Size : Positive := 1; Max_Sub_Size : Positive := 3; Max_Word_Size : Positive := 10; Dict_Size : Positive := 254; Vlen_Verbatim : Boolean := True; Max_Pending : Ada.Containers.Count_Type := Ada.Containers.Count_Type'Last; Job_Count : Natural := 0; Filter_Threshold : Natools.Smaz.Tools.String_Count := 0; Score_Method : Methods.Enum := Methods.Encoded; Action : Actions.Enum := Actions.Nothing; Ada_Dictionary : Ada.Strings.Unbounded.Unbounded_String; |
︙ | ︙ | |||
318 319 320 321 322 323 324 325 326 327 328 329 330 331 | Handler.Score_Method := Methods.Enum'Value (Argument); when Options.Max_Pending => Handler.Max_Pending := Ada.Containers.Count_Type'Value (Argument); when Options.Dict_Size => Handler.Dict_Size := Positive'Value (Argument); end case; end Option; procedure Evaluate_Dictionary (Job_Count : in Natural; Dict : in Natools.Smaz.Dictionary; | > > > > > > | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | Handler.Score_Method := Methods.Enum'Value (Argument); when Options.Max_Pending => Handler.Max_Pending := Ada.Containers.Count_Type'Value (Argument); when Options.Dict_Size => Handler.Dict_Size := Positive'Value (Argument); when Options.Vlen_Verbatim => Handler.Vlen_Verbatim := True; when Options.No_Vlen_Verbatim => Handler.Vlen_Verbatim := False; end case; end Option; procedure Evaluate_Dictionary (Job_Count : in Natural; Dict : in Natools.Smaz.Dictionary; |
︙ | ︙ | |||
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | R.Add_Option ("stats", 's', No_Argument, Stat_Output); R.Add_Option ("no-stats", 'S', No_Argument, No_Stat_Output); R.Add_Option ("text-list", 't', No_Argument, Text_List_Input); R.Add_Option ("fast-text-list", 'T', No_Argument, Fast_Text_Input); R.Add_Option ("max-word-len", 'W', Required_Argument, Max_Word_Size); R.Add_Option ("s-expr", 'x', No_Argument, Sx_Output); R.Add_Option ("no-s-expr", 'X', No_Argument, No_Sx_Output); R.Add_Option ("score-method", Required_Argument, Score_Method); return R; end Getopt_Config; procedure Optimization_Round (Dict : in out Holders.Holder; | > > | 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | R.Add_Option ("stats", 's', No_Argument, Stat_Output); R.Add_Option ("no-stats", 'S', No_Argument, No_Stat_Output); R.Add_Option ("text-list", 't', No_Argument, Text_List_Input); R.Add_Option ("fast-text-list", 'T', No_Argument, Fast_Text_Input); R.Add_Option ("max-word-len", 'W', Required_Argument, Max_Word_Size); R.Add_Option ("s-expr", 'x', No_Argument, Sx_Output); R.Add_Option ("no-s-expr", 'X', No_Argument, No_Sx_Output); R.Add_Option ("no-vlen-verbatim", No_Argument, No_Vlen_Verbatim); R.Add_Option ("score-method", Required_Argument, Score_Method); R.Add_Option ("vlen-verbatim", No_Argument, Vlen_Verbatim); return R; end Getopt_Config; procedure Optimization_Round (Dict : in out Holders.Holder; |
︙ | ︙ | |||
760 761 762 763 764 765 766 767 768 769 770 771 772 773 | & "Maximum size of candidate list" & " when building a dictionary"); when Options.Dict_Size => Put_Line (Output, " <count>"); Put_Line (Output, Indent & Indent & "Number of words in the dictionary to build"); end case; end loop; end Print_Help; function To_Dictionary (Handler : in Callback'Class; | > > > > > > > > > > | 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 | & "Maximum size of candidate list" & " when building a dictionary"); when Options.Dict_Size => Put_Line (Output, " <count>"); Put_Line (Output, Indent & Indent & "Number of words in the dictionary to build"); when Options.Vlen_Verbatim => New_Line (Output); Put_Line (Output, Indent & Indent & "Enable variable-length verbatim in built dictionary"); when Options.No_Vlen_Verbatim => New_Line (Output); Put_Line (Output, Indent & Indent & "Disable variable-length verbatim in built dictionary"); end case; end loop; end Print_Help; function To_Dictionary (Handler : in Callback'Class; |
︙ | ︙ | |||
818 819 820 821 822 823 824 | Input, Handler.Job_Count, Handler.Score_Method); end; else return Natools.Smaz.Tools.To_Dictionary (Natools.Smaz.Tools.Simple_Dictionary (Counter, 254), | | | 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 | Input, Handler.Job_Count, Handler.Score_Method); end; else return Natools.Smaz.Tools.To_Dictionary (Natools.Smaz.Tools.Simple_Dictionary (Counter, 254), Handler.Vlen_Verbatim); end if; end; end case; end To_Dictionary; function Worst_Index |
︙ | ︙ |