Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  testall.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#############################################################################
##
#A  testall.tst        IntPic package                   Manuel Delgado
##                                                    
##  (based on the corresponding file of the 'example' package, 
##   by Alexander Konovalov) 
##
##  To create a test file, place GAP prompts, input and output exactly as
##  they must appear in the GAP session. Do not remove lines containing 
##  START_TEST and STOP_TEST statements.
##
##  The first line starts the test. START_TEST reinitializes the caches and 
##  the global random number generator, in order to be independent of the 
##  reading order of several test files. Furthermore, the assertion level 
##  is set to 2 by START_TEST and set back to the previous value in the 
##  subsequent STOP_TEST call.
##
##  The argument of STOP_TEST may be an arbitrary identifier string.
## 
gap> START_TEST("IntPic package: testall.tst");

# Note that you may use comments in the test file
# and also separate parts of the test by empty lines

# First load the package without banner (the banner must be suppressed to 
# avoid reporting discrepancies in the case when the package is already 
# loaded)
gap> LoadPackage("intpic",false);
true

# Check that the data are consistent  
gap> rg := [801..999];;
gap> flen := 15;;
gap> primes := Filtered(rg,IsPrime);
809811821823827829839853857859863877881883887907911919929
  937941947953967971977983991997 ]
gap> twins := Filtered(primes, p -> IsPrime(p+2)); #A list consisting of the first
809821827857881 ]
gap> #elements of pairs of twin primes  
gap> rgnp := Difference(rg,primes);
801802803804805806807808810812813814815816817818819820822
  824825826828830831832833834835836837838840841842843844845
  846847848849850851852854855856858860861862864865866867868
  869870871872873874875876878879880882884885886888889890891
  892893894895896897898899900901902903904905906908909910912
  913914915916917918920921922923924925926927928930931932933
  934935936938939940942943944945946948949950951952954955956
  957958959960961962963964965966968969970972973974975976978
  979980981982984985986987988989990992993994995996998999 ]
gap> arr := [primes,
> [1],
> Union(twins,twins+2),
> # now the non primes...
> Filtered(rgnp,u->(u mod 2)=0),
> Filtered(rgnp,u->(u mod 3)=0),
> Filtered(rgnp,u->(u mod 5)=0),
> [],[], # to avoid some colors
> Filtered(rgnp,u->(u mod 7)=0),
> Filtered(rgnp,u->(u mod 11)=0),
> Filtered(rgnp,u->(u mod 13)=0),
> Filtered(rgnp,u->(u mod 17)=0),
> Filtered(rgnp,u->(u mod 19)=0),
> Filtered(rgnp,u->(u mod 23)=0),
> Filtered(rgnp,u->(u mod 29)=0),
> Filtered(rgnp,u->(u mod 31)=0),
> Filtered(rgnp,u->(u mod 37)=0),
> Filtered(rgnp,u->(u mod 41)=0),
> Filtered(rgnp,u->(u mod 43)=0),
> Filtered(rgnp,u->(u mod 47)=0),
> Filtered(rgnp,u->(u mod 53)=0)];
[ [ 809811821823827829839853857859863877881883887907911919929
      937941947953967971977983991997 ], [ 1 ], 
  [ 809811821823827829857859881883 ], 
  [ 802804806808810812814816818820822824826828830832834836838
      840842844846848850852854856858860862864866868870872874
      876878880882884886888890892894896898900902904906908910
      912914916918920922924926928930932934936938940942944946
      948950952954956958960962964966968970972974976978980982
      984986988990992994996998 ], 
  [ 801804807810813816819822825828831834837840843846849852855
      858861864867870873876879882885888891894897900903906909
      912915918921924927930933936939942945948951954957960963
      966969972975978981984987990993996999 ], 
  [ 805810815820825830835840845850855860865870875880885890895
      900905910915920925930935940945950955960965970975980985
      990995 ], [  ], [  ], [ 805812819826833840847854861868875882889
      896903910917924931938945952959966973980987994 ], 
  [ 803814825836847858869880891902913924935946957968979990 ], 
  [ 806819832845858871884897910923936949962975988 ], 
  [ 816833850867884901918935952969986 ], 
  [ 817836855874893912931950969988 ], 
  [ 805828851874897920943966989 ], [ 812841870899928957986 ], 
  [ 806837868899930961992 ], [ 814851888925962999 ], 
  [ 820861902943984 ], [ 817860903946989 ], [ 846893940987 ], 
  [ 848901954 ] ]
gap> 
gap> tkz := IP_TikzArrayOfIntegers(rg,flen,rec(cell_width := "27",highlights:=arr));;

#gap> IP_Splash(tkz);;

gap> rg := [81..89];;
gap> len := 5;;
gap> arr := [Filtered(rg,IsPrime),Filtered(rg,u->(u mod 2)=0),
>         Filtered(rg,u->(u mod 3)=0)];;
gap> tkz := IP_TikzArrayOfIntegers(rg,len,rec(highlights:=arr));;

#gap> IP_Splash(tkz);;


#############################################################################
# Some more elaborated tests
gap> a := 8;; b := 19;;  
gap> ns := NumericalSemigroup(a,b);;
gap> c := ConductorOfNumericalSemigroup(ns);;
gap> origin := 2*c-1;
251
gap> ground := [origin..origin+b-1];;
gap> 
gap> height:=2;;
gap> depth:=8;;
gap>   xaxis := [origin];;
gap>   for n in [1..b-1] do
>     Add(xaxis, origin+n*a);
>   od;
gap>   yaxis := [];;
gap>   for n in [-depth..height] do
>     Add(yaxis, origin+n*b);
>   od;
gap> 
gap> table := IP_TableWithModularOrder(origin,a,b,depth,height,false,false);
[ [ 99107115123131139147155163171179187195203211
      219227235243 ], 
  [ 118126134142150158166174182190198206214222
      230238246254262 ], 
  [ 137145153161169177185193201209217225233241
      249257265273281 ], 
  [ 156164172180188196204212220228236244252260
      268276284292300 ], 
  [ 175183191199207215223231239247255263271279
      287295303311319 ], 
  [ 194202210218226234242250258266274282290298
      306314322330338 ], 
  [ 213221229237245253261269277285293301309317
      325333341349357 ], 
  [ 232240248256264272280288296304312320328336
      344352360368376 ], 
  [ 251259267275283291299307315323331339347355
      363371379387395 ], 
  [ 270278286294302310318326334342350358366374
      382390398406414 ], 
  [ 289297305313321329337345353361369377385393
      401409417425433 ] ]
gap> arr := [xaxis,yaxis,ground];
[ [ 251259267275283291299307315323331339347355
      363371379387395 ], 
  [ 99118137156175194213232251270289 ], [ 251 .. 269 ] ]
gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr));;

#gap> IP_Splash(tkz);;

gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr,shape_only:="",
>              cell_width := "6",colsep:="1",rowsep:="1",inner_sep:="2",
>              line_color:="black!20"));;

#gap> IP_Splash(tkz);;

gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=6pt,inner sep=2pt,
line width=0pt,draw=black!20}]
\matrix[row sep=1pt,column sep=1pt]
{\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[left color=red,right color=green,middle color=blue]{ };&
\node[left color=red,right color=blue]{ };&
\node[left color=red,right color=blue]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };&
\node[fill=red]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };&
\node[]{ };&
\node[]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[fill=blue]{ };&
\node[fill=blue]{ };\\
\node[fill=green]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };&
\node[]{ };\\
};
\end{tikzpicture}

#############################################################################
#############################################################################
# Examples from the manual
# (These examples use at least a function from each file)

## functions.xml ##

gap> rg := [81..89];
81 .. 89 ]
gap> len := 10;
10
gap> arr := [Filtered(rg,IsPrime),Filtered(rg,u->(u mod 2)=0),
>         Filtered(rg,u->(u mod 3)=0)];
[ [ 8389 ], [ 82848688 ], [ 818487 ] ]
gap> tkz := IP_TikzArrayOfIntegers(rg,len,rec(highlights:=arr));
"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\
=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\
 sep=2pt]\n{\\node[fill=blue]{81};&\n\\node[fill=green]{82};&\n\\node[fill=red\
]{83};&\n\\node[left color=green,right color=blue]{84};&\n\\node[]{85};&\n\\no\
de[fill=green]{86};&\n\\node[fill=blue]{87};&\n\\node[fill=green]{88};&\n\\nod\
e[fill=red]{89};\\\\\n};\n\\end{tikzpicture}\n"
gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=20pt,inner sep=3pt,
line width=0pt,draw=black}]
\matrix[row sep=2pt,column sep=2pt]
{\node[fill=blue]{81};&
\node[fill=green]{82};&
\node[fill=red]{83};&
\node[left color=green,right color=blue]{84};&
\node[]{85};&
\node[fill=green]{86};&
\node[fill=blue]{87};&
\node[fill=green]{88};&
\node[fill=red]{89};\\
};
\end{tikzpicture}

gap> d := DivisorsInt(30);
12356101530 ]
gap> IP_SimpleTikzArrayOfIntegers(d);;

gap> d30 := DivisorsInt(30);
12356101530 ]
gap> d40 := DivisorsInt(40);
12458102040 ]
gap> tkz := IP_SimpleTikzArrayOfIntegers([d30,d40]);;

gap> a := 8;; b := 19;;  
gap> ns := NumericalSemigroup(a,b);;
gap> c := ConductorOfNumericalSemigroup(ns);;
gap> origin := 2*c-1;
251
gap> ground := [origin..origin+b-1];;
gap> 
gap> height:=2;;
gap> depth:=8;;
gap>   xaxis := [origin];;
gap>   for n in [1..b-1] do
>     Add(xaxis, origin+n*a);
>   od;
gap>   yaxis := [];;
gap>   for n in [-depth..height] do
>     Add(yaxis, origin+n*b);
>   od;
gap> 
gap> table := IP_TableWithModularOrder(origin,a,b,depth,height,false,false);;
gap> arr := [xaxis,yaxis,ground];
[ [ 251259267275283291299307315323331339347355
      363371379387395 ], 
  [ 99118137156175194213232251270289 ], [ 251 .. 269 ] ]
gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr));;
gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr,shape_only:="",
>              cell_width := "6",colsep:="1",rowsep:="1",inner_sep:="2",
>              line_color:="black!20"));;

gap> table := IP_TableWithModularOrder(origin,a,b,depth,50,true,true);;
gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr));;

## colors.xml ##

gap> IP_ColorsRedTones; #red
[ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60" ]

gap> IP_ColorsGreenTones; #green
[ "green", "green!50", "green!20", "green!80!red!50", "green!80!blue!60" ]

gap> IP_ColorsBlueTones; #blue
[ "blue", "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60" ]

gap> IP_ColorsCompRedTones; # cyan (complement of red)
[ "-red", "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60" ]

gap> IP_ColorsCompGreenTones; # magenta (complement of green)
[ "-green", "-green!50", "-green!20", "-green!80!red!50", "-green!80!blue!60" ]

gap> IP_ColorsCompBlueTones; # yellow (complement of blue)
[ "-blue", "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60" ]

gap> IP_ColorsDGrayTones; # dark gray
[ "black!80", "black!70", "black!60", "black!50", "black!40" ]

gap> IP_ColorsLGrayTones; # light gray
[ "black!30", "black!25", "black!20", "black!15", "black!10" ]

gap> ListsOfIP_Colors;
[ [ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60" ], 
  [ "green", "green!50", "green!20", "green!80!red!50", "green!80!blue!60" ], 
  [ "blue", "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60" ], 
  [ "-red", "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60" ], 
  [ "-green", "-green!50", "-green!20", "-green!80!red!50", 
      "-green!80!blue!60" ], 
  [ "-blue", "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60" ],
  [ "black!80", "black!70", "black!60", "black!50", "black!40" ], 
  [ "black!30", "black!25", "black!20", "black!15", "black!10" ] ]

gap> IP_Colors;
[ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60", "green", 
  "green!50", "green!20", "green!80!red!50", "green!80!blue!60", "blue", 
  "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60", "-red", 
  "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60", "-green", 
  "-green!50", "-green!20", "-green!80!red!50", "-green!80!blue!60", "-blue", 
  "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60", "black!80", 
  "black!70", "black!60", "black!50", "black!40", "black!30", "black!25", 
  "black!20", "black!15", "black!10" ]

gap> ShuffledIP_colors;
[ "red", "green", "blue", "-red", "-green", "-blue", "black!80", "black!30", 
  "red!50", "green!50", "blue!50", "-red!50", "-green!50", "-blue!50", 
  "black!70", "black!25", "red!20", "green!20", "blue!20", "-red!20", 
  "-green!20", "-blue!20", "black!60", "black!20", "red!80!green!50", 
  "green!80!red!50", "blue!80!red!50", "-red!80!green!50", "-green!80!red!50",
  "-blue!80!red!50", "black!50", "black!15", "red!80!blue!60", 
  "green!80!blue!60", "blue!80!green!60", "-red!80!blue!60", 
  "-green!80!blue!60", "-blue!80!green!60", "black!40", "black!10" ]

gap> m3 := Filtered([1..40],i->i mod 3=0);
36912151821242730333639 ]
gap> m5 := Filtered([1..40],i->i mod 5=0);
510152025303540 ]
gap> m7 := Filtered([1..40],i->i mod 7=0);
714212835 ]
gap> 
gap> arr := [[],[],m3,[],m5,[],m7];;
gap> tkz:=IP_TikzArrayOfIntegers([1..40],10,rec(highlights:=arr));;

## visualisation.xml ##

gap> Print(IP_Preamble);
\documentclass{minimal}
\usepackage{amsmath}
\usepackage[active,tightpage]{preview}
\setlength\PreviewBorder{1pt}
\usepackage{pgf}
\usepackage{tikz}
\usepgfmodule{plot}
\usepgflibrary{plothandlers}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shadings}
\begin{document}
\begin{preview}

gap> tikzfile := "tikz_pic_for_complete_document.tex";;
gap> file := "pic_for_complete_document.tex";;
gap> 
gap> arr := [[1,2,3,4,5,6],[1,2,3,4,5],[1,2,3,4],[1,2,3],[1,2],[1]];;
gap> tkz := IP_TikzArrayOfIntegers([1..10],5,rec(highlights:=arr));;
gap> 
gap> FileString(tikzfile,tkz);
642
gap> FileString(file,Concatenation(IP_Preamble,tkz,IP_Closing));
961

gap> rg := Filtered([801..889],u->(u mod 2)<>0);;
gap> flen := 15;;
gap> twins := Filtered(Primes, p -> p + 2 in Primes);;
gap> arr := [Primes,Union(twins,twins+2),Filtered(rg,u->(u mod 3)=0)];;
gap> tkz := IP_TikzArrayOfIntegers(rg,flen,rec(highlights:=arr));;

gap> cls := IP_ColorsCompRedTones;;
gap> rg := Filtered([801..889],u->(u mod 2)<>0);;
gap> flen := 15;;
gap> twins := Filtered(Primes, p -> p + 2 in Primes);;
gap> arr := [Primes,Union(twins,twins+2),Filtered(rg,u->(u mod 3)=0)];;
gap> tkz := IP_TikzArrayOfIntegers(rg,flen,rec(colors := cls,highlights:=arr));;

gap> cls := IP_ColorsDGrayTones;;
gap> rg := Filtered([801..889],u->(u mod 2)<>0);;
gap> flen := 15;;
gap> twins := Filtered(Primes, p -> p + 2 in Primes);;
gap> arr := [Primes,Union(twins,twins+2),Filtered(rg,u->(u mod 3)=0)];;
gap> tkz := IP_TikzArrayOfIntegers(rg,flen,rec(colors := cls,highlights:=arr));;

gap> cls := ["blue","-blue","black"];;
gap> rg := Filtered([801..889],u->(u mod 2)<>0);;
gap> flen := 15;;
gap> twins := Filtered(Primes, p -> p + 2 in Primes);;
gap> arr := [Primes,Union(twins,twins+2),Filtered(rg,u->(u mod 3)=0)];;
gap> tkz := IP_TikzArrayOfIntegers(rg,flen,rec( colors := cls,highlights:=arr));;

gap> ns := NumericalSemigroup(11,19,30,42,59);;
gap> cls := ShuffleIP_Colors([IP_ColorsGreenTones,IP_ColorsCompBlueTones]);;
gap> flen := 20;;
gap> #some notable elements
gap> arr := [SmallElementsOfNumericalSemigroup(ns),
>         GapsOfNumericalSemigroup(ns),
>         MinimalGeneratingSystemOfNumericalSemigroup(ns),
>         FundamentalGapsOfNumericalSemigroup(ns),
>         [ConductorOfNumericalSemigroup(ns)],
>         PseudoFrobeniusOfNumericalSemigroup(ns)];;
gap> 
gap> tkz := IP_TikzArrayOfIntegers(flen,rec(colors := cls,highlights:=arr));;

gap> row_length := 200;; # the length of each row
gap> columns := 50;; # the number of columns
gap> n := row_length*columns;
10000
gap> 
gap> ##compute the primes less than n
gap> # Primes is a GAP variable representing the list of primes less than 1000
gap> mp := Maximum(Primes);
997
gap> newprimes := [];;
gap> while mp < n do
>   mp := NextPrimeInt(mp);
>   Add(newprimes, mp);
> od;
gap> small_primes := Union(Primes, newprimes);;
gap> ##compute the first element of each pair of twin primes less than n
gap> twins := Filtered(small_primes, p -> IsPrime(p+2));;
gap> 
gap> rg := [1..n];;
gap> 
gap> arr := [Intersection(small_primes,rg),[],[], 
>         Intersection(Union(twins,twins+2),rg),[],[],[],[],[],[],[],
>         [],[],[],[],[],[],Difference(rg,small_primes)];;
gap> 
gap> tkz:=IP_TikzArrayOfIntegers([1..n],row_length,rec(highlights:=arr,
>              cell_width := "6",colsep:="0",rowsep:="0",inner_sep:="2",
>              shape_only:="",line_width:="0",line_color:="black!20" ));;

## options.xml ##

gap> RecNames(IP_TikzDefaultOptionsForArraysOfIntegers);
[ "other", "colors", "highlights", "shape_only", "colsep", "rowsep", 
  "cell_width", "allow_adjust_cell_width", "scale", "inner_sep", 
  "line_width", "line_color", "negatives" ]

gap> IP_TikzDefaultOptionsForArraysOfIntegers;
rec( allow_adjust_cell_width := "10", cell_width := "30", 
  colors := [ "red", "green", "blue", "-red", "-green", "-blue", "black!80", 
      "black!30", "red!50", "green!50", "blue!50", "-red!50", "-green!50", 
      "-blue!50", "black!70", "black!25", "red!20", "green!20", "blue!20", 
      "-red!20", "-green!20", "-blue!20", "black!60", "black!20", 
      "red!80!green!50", "green!80!red!50", "blue!80!red!50", 
      "-red!80!green!50", "-green!80!red!50", "-blue!80!red!50", "black!50", 
      "black!15", "red!80!blue!60", "green!80!blue!60", "blue!80!green!60", 
      "-red!80!blue!60", "-green!80!blue!60", "-blue!80!green!60", 
      "black!40", "black!10" ], colsep := "2", highlights := [ [  ] ], 
  inner_sep := "3", line_color := "black", line_width := "0", 
  negatives := true, other := [  ], rowsep := "2", 
  scale := "1", shape_only := "false" )

gap> rg := [-5..23];;
gap> len := 10;;  
gap> hg := rec();;                                        
gap> hg.highlights:=[[2,3,5,7],[11,13,17,19],[23]];; 
gap> tkz := IP_TikzArrayOfIntegers(rg,len,hg);;
gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=20pt,inner sep=3pt,
line width=0pt,draw=black}]
\matrix[row sep=2pt,column sep=2pt]
{\node[]{15};&
\node[]{16};&
\node[fill=green]{17};&
\node[]{18};&
\node[fill=green]{19};&
\node[]{20};&
\node[]{21};&
\node[]{22};&
\node[fill=blue]{23};\\
\node[fill=red]{5};&
\node[]{6};&
\node[fill=red]{7};&
\node[]{8};&
\node[]{9};&
\node[]{10};&
\node[fill=green]{11};&
\node[]{12};&
\node[fill=green]{13};&
\node[]{14};\\
\node[]{-5};&
\node[]{-4};&
\node[]{-3};&
\node[]{-2};&
\node[]{-1};&
\node[]{0};&
\node[]{1};&
\node[fill=red]{2};&
\node[fill=red]{3};&
\node[]{4};\\
};
\end{tikzpicture}
gap> #IP_Splash(tkz);
gap> hg.negatives:=false;;
gap> tkz := IP_TikzArrayOfIntegers(rg,len,hg);;
gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=20pt,inner sep=3pt,
line width=0pt,draw=black}]
\matrix[row sep=2pt,column sep=2pt]
{\node[]{15};&
\node[]{16};&
\node[fill=green]{17};&
\node[]{18};&
\node[fill=green]{19};&
\node[]{20};&
\node[]{21};&
\node[]{22};&
\node[fill=blue]{23};\\
\node[fill=red]{5};&
\node[]{6};&
\node[fill=red]{7};&
\node[]{8};&
\node[]{9};&
\node[]{10};&
\node[fill=green]{11};&
\node[]{12};&
\node[fill=green]{13};&
\node[]{14};\\
&
&
&
&
&
\node[]{0};&
\node[]{1};&
\node[fill=red]{2};&
\node[fill=red]{3};&
\node[]{4};\\
};
\end{tikzpicture}

## routines_for_NS.xml ##

gap> ns := NumericalSemigroup(5,7);;                                               
gap> tkz := TikzCodeForNumericalSemigroup(ns,["ns_table"],rec(negatives:=false));
#I  In order to highlight some element, please use a list with one or more of the options given as strings: pseudo_frobenius, min_generators, frobenius_number, conductor, special_gaps, fundamental_gaps, small_elements

"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\
=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\
 sep=2pt]\n{\\node[]{24};&\n\\node[]{25};&\n\\node[]{26};&\n\\node[]{27};&\n\\\
node[]{28};\\\\\n\\node[]{19};&\n\\node[]{20};&\n\\node[]{21};&\n\\node[]{22};\
&\n\\node[]{23};\\\\\n\\node[]{14};&\n\\node[]{15};&\n\\node[]{pan style='color: green'>16};&\n\\node[]\
{17};&\n\\node[]{18};\\\\\n\\node[]{9};&\n\\node[]{10};&\n\\node[]{11};&\n\\no\
de[]{12};&\n\\node[]{13};\\\\\n\\node[]{4};&\n\\node[]{5};&\n\\node[]{6};&\n\\\
node[]{7};&\n\\node[]{8};\\\\\n&\n\\node[]{0};&\n\\node[]{tyle='color: green'>1};&\n\\node[]{2};&\
\n\\node[]{3};\\\\\n};\n\\end{tikzpicture}\n"

gap> tkz := TikzCodeForNumericalSemigroup(ns,["small_elements"],rec(ns_table := true,negatives:=false)); 
"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matr\
ix[row sep=2pt,column sep=2pt]\n{\\node[fill=red]{24};&\n\\node[fill=red]{25};&\n\\node[fill=red]{26};&\n\\node[fill=red]{27};&\n\\node\
[fill=red]{28};\\\\\n\\node[fill=red]{19};&\n\\node[fill=red]{20};&\n\\node[fill=red]{le='color: green'>21};&\n\\node[fill=red]{22};&\n\\node[]{23};\\\\\
\n\\node[fill=red]{14};&\n\\node[fill=red]{15};&\n\\node[]{16};&\n\\node[fill=red]{17};&\n\\node[]{18};\\\\\n\\node[]{9};&\n\\node[fill\
=red]{10};&\n\\node[]{11};&\n\\node[fill=red]{12};&\n\\node[]{='color: green'>13};\\\\\n\\node[]{4};&\n\\node[fill=red]{5};&\n\\node[]{6};&\n\\node[fil\
l=red]{7};&\n\\node[]{8};\\\\\n&\n\\node[fill=red]{0};&\n\\node[]{tyle='color: green'>1};&\n\\node[]{2};&\n\\node[]{3};\\\\\n};\n\\end{tikzpicture}\n"

gap> ns1 := NumericalSemigroup(3,5);;
gap> TikzCodeForNumericalSemigroup(ns1,[[3,4],"pseudo_frobenius"],20);
"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\
=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\
 sep=2pt]\n{\\node[]{0};&\n\\node[]{1};&\n\\node[]{2};&\n\\node[fill=red]{3};&\
\n\\node[fill=red]{4};&\n\\node[]{5};&\n\\node[]{6};&\n\\node[fill=green]{<span style='color: green'>7};&\
\n\\node[]{8};&\n\\node[]{9};&\n\\node[]{10};&\n\\node[]{yle='color: green'>11};&\n\\node[]{12};&\
\n\\node[]{13};&\n\\node[]{14};&\n\\node[]{15};&\n\\node[]{style='color: green'>16};&\n\\node[]{17}\
;&\n\\node[]{18};&\n\\node[]{19};&\n\\node[]{20};\\\\\n};\n\\end{tikzpicture}\
\n"

gap> ns := NumericalSemigroup(7,11,38,41);;
gap> highlights := ["conductor", "min_generators", "small_elements"];;
gap> options := rec(ns_table:=true,colors:=["blue", "red!70", "-red", "black!40"]);;
gap> tkz := TikzCodeForNumericalSemigroup(ns,highlights,options);
"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\
=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\
 sep=2pt]\n{\\node[left color=blue,right color=red!70,middle color=-red]{38};&\
\n\\node[fill=-red]{39};&\n\\node[fill=-red]{40};&\n\\node[left color=red!70,r\
ight color=-red]{41};&\n\\node[fill=-red]{42};&\n\\node[fill=-red]{43};&\n\\no\
de[fill=-red]{44};\\\\\n\\node[]{31};&\n\\node[fill=-red]{32};&\n\\node[fill=-\
red]{33};&\n\\node[]{34};&\n\\node[fill=-red]{35};&\n\\node[fill=-red]{'color: green'>36};&\n\
\\node[]{37};\\\\\n\\node[]{24};&\n\\node[fill=-red]{25};&\n\\node[]{26};&\n\\\
node[]{27};&\n\\node[fill=-red]{28};&\n\\node[fill=-red]{29};&\n\\node[]{e='color: green'>30};\
\\\\\n\\node[]{17};&\n\\node[fill=-red]{18};&\n\\node[]{19};&\n\\node[]{pan style='color: green'>20};&\
\n\\node[fill=-red]{21};&\n\\node[fill=-red]{22};&\n\\node[]{23};\\\\\n\\node[\
]{10};&\n\\node[left color=red!70,right color=-red]{11};&\n\\node[]{12};&\n\\n\
ode[]{13};&\n\\node[fill=-red]{14};&\n\\node[]{15};&\n\\node[]{='color: green'>16};\\\\\n\\nod\
e[]{3};&\n\\node[]{4};&\n\\node[]{5};&\n\\node[]{6};&\n\\node[left color=red!7\
0,right color=-red]{7};&\n\\node[]{8};&\n\\node[]{9};\\\\\n\\node[]{-4};&\n\\n\
ode[]{-3};&\n\\node[]{-2};&\n\\node[]{-1};&\n\\node[fill=-red]{0};&\n\\node[]{\
1};&\n\\node[]{2};\\\\\n};\n\\end{tikzpicture}\n"

gap> tkz := TikzCodeForNumericalSemigroup(ns,highlights,rec(ns_table:=true));
"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\
=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\
 sep=2pt]\n{\\node[left color=red,right color=green,middle color=blue]{38};&\n\
\\node[fill=blue]{39};&\n\\node[fill=blue]{40};&\n\\node[left color=green,righ\
t color=blue]{41};&\n\\node[fill=blue]{42};&\n\\node[fill=blue]{43};&\n\\node[\
fill=blue]{44};\\\\\n\\node[]{31};&\n\\node[fill=blue]{32};&\n\\node[fill=blue\
]{33};&\n\\node[]{34};&\n\\node[fill=blue]{35};&\n\\node[fill=blue]{36};&\n\\n\
ode[]{37};\\\\\n\\node[]{24};&\n\\node[fill=blue]{25};&\n\\node[]{26};&\n\\nod\
e[]{27};&\n\\node[fill=blue]{28};&\n\\node[fill=blue]{29};&\n\\node[]{30};\\\\\
\n\\node[]{17};&\n\\node[fill=blue]{18};&\n\\node[]{19};&\n\\node[]{style='color: green'>20};&\n\\n\
ode[fill=blue]{21};&\n\\node[fill=blue]{22};&\n\\node[]{23};\\\\\n\\node[]{10}\
;&\n\\node[left color=green,right color=blue]{11};&\n\\node[]{12};&\n\\node[]{\
13};&\n\\node[fill=blue]{14};&\n\\node[]{15};&\n\\node[]{16};\\\\\n\\node[]{3}\
;&\n\\node[]{4};&\n\\node[]{5};&\n\\node[]{6};&\n\\node[left color=green,right\
 color=blue]{7};&\n\\node[]{8};&\n\\node[]{9};\\\\\n\\node[]{-4};&\n\\node[]{-\
3};&\n\\node[]{-2};&\n\\node[]{-1};&\n\\node[fill=blue]{0};&\n\\node[]{1};&\n\
\\node[]{2};\\\\\n};\n\\end{tikzpicture}\n"

gap> ls := SetOfNumericalSemigroups(rec(set:=rec(genus:=6),filter:=rec(type:= 2),order:="multiplicity"));;
gap> List(ls,MinimalGenerators);
[ [ 3813 ], [ 31011 ], [ 479 ], [ 567 ], [ 568 ], 
  [ 678911 ] ]
gap> ls := SetOfNumericalSemigroups(rec(set:=rec(genus:=6),filter:=rec(type:= 2), order:="frobenius"));;
gap> List(ls,MinimalGenerators);
[ [ 31011 ], [ 567 ], [ 568 ], [ 3813 ], [ 479 ], 
  [ 678911 ] ]

#gap> ns1 := NumericalSemigroup(3,5);;
#gap> ns2 := NumericalSemigroup(5,7,11);;
#gap> DrawSetOfNumericalSemigroups(ns1,rec(splash:=                          
#> rec(viewer := "evince"),highlights := 
#> ["pseudo_frobenius","small_elements","min_generators"]));
#gap> DrawSetOfNumericalSemigroups(ns1,ns2,rec(splash:= 
#> rec(viewer := "evince"),highlights := 
#> ["pseudo_frobenius","small_elements","min_generators"]));
#gap> DrawSetOfNumericalSemigroups([ns1,ns2],rec(splash:=      
#> rec(viewer := "evince"),highlights :=                    
#> ["small_elements","min_generators"]));                   

gap> frob := 15;;
gap> tipo := 2;;
gap> set := SetOfNumericalSemigroups(rec(set := rec(frobenius := frob),
> filter := rec(type:= tipo),order := "embedding_dimension"));
[ <Numerical semigroup with 3 generators>, 
  <Numerical semigroup with 3 generators>, 
  <Numerical semigroup with 4 generators>, 
  <Numerical semigroup with 5 generators>, 
  <Numerical semigroup with 5 generators>, 
  <Numerical semigroup with 5 generators>, 
  <Numerical semigroup with 6 generators>, 
  <Numerical semigroup with 6 generators>, 
  <Numerical semigroup with 6 generators> ]
  
gap> ns := NumericalSemigroup(4,9,19);;
gap> SmallElements(ns);
0489121316 ]
gap> MinimalGeneratingSystem(ns);
4919 ]
gap> ForcedIntegersForPseudoFrobenius(PseudoFrobeniusOfNumericalSemigroup(ns));
[ [ 1235671415 ], [ 089121316 ] ]


gap> rg := [800..900];;
gap> flen := 15;;
gap> primes := Filtered(rg,IsPrime);
809811821823827829839853857859863877881883887 ]
gap> twins := Filtered(primes, p -> IsPrime(p+2));                                                              
809821827857881 ]
gap> rgnp := Difference(rg,primes);
800801802803804805806807808810812813814815816
  817818819820822824825826828830831832833834835
  836837838840841842843844845846847848849850851
  852854855856858860861862864865866867868869870
  871872873874875876878879880882884885886888889
  890891892893894895896897898899900 ]
  
gap> arr := [primes,
> [1],
> Union(twins,twins+2),
> # now the non primes...
> Filtered(rgnp,u->(u mod 2)=0),
> Filtered(rgnp,u->(u mod 3)=0),
> Filtered(rgnp,u->(u mod 5)=0),
> [],[], # to avoid some colors
> Filtered(rgnp,u->(u mod 7)=0),
> Filtered(rgnp,u->(u mod 11)=0),
> Filtered(rgnp,u->(u mod 13)=0),
> Filtered(rgnp,u->(u mod 17)=0),
> Filtered(rgnp,u->(u mod 19)=0),
> Filtered(rgnp,u->(u mod 23)=0),
> Filtered(rgnp,u->(u mod 29)=0),
> Filtered(rgnp,u->(u mod 31)=0),
> Filtered(rgnp,u->(u mod 37)=0),
> Filtered(rgnp,u->(u mod 41)=0),
> Filtered(rgnp,u->(u mod 43)=0),
> Filtered(rgnp,u->(u mod 47)=0),
> Filtered(rgnp,u->(u mod 53)=0)];
[ [ 809811821823827829839853857859863877881883887 
     ], [ 1 ], [ 809811821823827829857859881883 ], 
  [ 800802804806808810812814816818820822824826
      828830832834836838840842844846848850852854
      856858860862864866868870872874876878880882
      884886888890892894896898900 ], 
  [ 801804807810813816819822825828831834837840
      843846849852855858861864867870873876879882
      885888891894897900 ], 
  [ 800805810815820825830835840845850855860865
      870875880885890895900 ], [  ], [  ], 
  [ 805812819826833840847854861868875882889896 ], 
  [ 803814825836847858869880891 ], 
  [ 806819832845858871884897 ], [ 816833850867884 ], 
  [ 817836855874893 ], [ 805828851874897 ], 
  [ 812841870899 ], [ 806837868899 ], [ 814851888 ], 
  [ 820861 ], [ 817860 ], [ 846893 ], [ 848 ] ]
  

gap> a := 8;; b := 19;;  
gap> ns := NumericalSemigroup(a,b);;
gap> c := ConductorOfNumericalSemigroup(ns);;
gap> origin := 2*c-1;
251
gap> ground := [origin..origin+b-1];;
gap> 
gap> height:=2;;
gap> depth:=8;;
gap>   xaxis := [origin];;
gap>   for n in [1..b-1] do
>     Add(xaxis, origin+n*a);
>   od;
gap>   yaxis := [];;
gap>   for n in [-depth..height] do
>     Add(yaxis, origin+n*b);
>   od;
gap> 
gap> table := IP_TableWithModularOrder(origin,a,b,depth,height,false,false);;
gap> arr := [xaxis,yaxis,ground];
[ [ 251259267275283291299307315323331339347355363371379
      387395 ], [ 99118137156175194213232251270289 ], [ 251 .. 269 ] 
 ]
gap> tkz:=IP_TikzArrayOfIntegers(table,rec(highlights:=arr,shape_only:=true,
>              cell_width := "6",colsep:="1",rowsep:="1",inner_sep:="2",
>              line_color:="black!20", other := 
>   ["\\draw[postaction={draw,line width=1pt,red}] (-80pt,-8pt) rectangle (16pt,40pt);",
>   "\\draw[postaction={draw,line width=1pt,blue}] (-16pt,8pt) rectangle (80pt,-40pt);"]));;

#############################################################################
#############################################################################
# Examples from the paper "Conjecture of Wilf: a survey"
#
gap> ns := NumericalSemigroup(121920222326272829);;
gap> cls := [ "blue","-red","red!70", "black!40" ];
[ "blue", "-red", "red!70", "black!40" ]
gap> P := MinimalGenerators(ns);
121920222326272829 ]
gap> m := Multiplicity(ns);
12
gap> c := Conductor(ns);
38
gap> q := CeilingOfRational(c/m);
4
gap> rho := q*m-c;
10
gap> list := [-rho .. c+m-1];
[ -10 .. 49 ]
gap> ti := [c..c+m-1];
38 .. 49 ]
gap> importants := Union(SmallElements(ns),ti);
0121920222324262728293132343536383940
  414243444546474849 ]
gap> options := rec(colors := cls,highlights:=[[c],importants,P]);
rec( colors := [ "blue", "-red", "red!70", "black!40" ], 
  highlights := 
    [ [ 38 ], 
      [ 012192022232426272829313234353638
          3940414243444546474849 ], 
      [ 121920222326272829 ] ] )
gap> tkz := IP_TikzArrayOfIntegers(list,m,options);;
gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=20pt,inner sep=3pt,
line width=0pt,draw=black}]
\matrix[row sep=2pt,column sep=2pt]
{\node[left color=blue,right color=-red]{38};&
\node[fill=-red]{39};&
\node[fill=-red]{40};&
\node[fill=-red]{41};&
\node[fill=-red]{42};&
\node[fill=-red]{43};&
\node[fill=-red]{44};&
\node[fill=-red]{45};&
\node[fill=-red]{46};&
\node[fill=-red]{47};&
\node[fill=-red]{48};&
\node[fill=-red]{49};\\
\node[left color=-red,right color=red!70]{26};&
\node[left color=-red,right color=red!70]{27};&
\node[left color=-red,right color=red!70]{28};&
\node[left color=-red,right color=red!70]{29};&
\node[]{30};&
\node[fill=-red]{31};&
\node[fill=-red]{32};&
\node[]{33};&
\node[fill=-red]{34};&
\node[fill=-red]{35};&
\node[fill=-red]{36};&
\node[]{37};\\
\node[]{14};&
\node[]{15};&
\node[]{16};&
\node[]{17};&
\node[]{18};&
\node[left color=-red,right color=red!70]{19};&
\node[left color=-red,right color=red!70]{20};&
\node[]{21};&
\node[left color=-red,right color=red!70]{22};&
\node[left color=-red,right color=red!70]{23};&
\node[fill=-red]{24};&
\node[]{25};\\
\node[]{2};&
\node[]{3};&
\node[]{4};&
\node[]{5};&
\node[]{6};&
\node[]{7};&
\node[]{8};&
\node[]{9};&
\node[]{10};&
\node[]{11};&
\node[left color=-red,right color=red!70]{12};&
\node[]{13};\\
\node[]{-10};&
\node[]{-9};&
\node[]{-8};&
\node[]{-7};&
\node[]{-6};&
\node[]{-5};&
\node[]{-4};&
\node[]{-3};&
\node[]{-2};&
\node[]{-1};&
\node[fill=-red]{0};&
\node[]{1};\\
};
\end{tikzpicture}
gap> options := rec(negatives := false, colors := cls,highlights:=[[c],importants,P]);
rec( colors := [ "blue", "-red", "red!70", "black!40" ], 
  highlights := 
    [ [ 38 ], [ 012192022232426272829313234353638394041
          4243444546474849 ], [ 121920222326272829 ] ], 
  negatives := false )
gap> tkz := IP_TikzArrayOfIntegers(list,m,options);;
gap> Print(tkz);
%tikz
\begin{tikzpicture}[every node/.style={draw,scale=1pt,
minimum width=20pt,inner sep=3pt,
line width=0pt,draw=black}]
\matrix[row sep=2pt,column sep=2pt]
{\node[left color=blue,right color=-red]{38};&
\node[fill=-red]{39};&
\node[fill=-red]{40};&
\node[fill=-red]{41};&
\node[fill=-red]{42};&
\node[fill=-red]{43};&
\node[fill=-red]{44};&
\node[fill=-red]{45};&
\node[fill=-red]{46};&
\node[fill=-red]{47};&
\node[fill=-red]{48};&
\node[fill=-red]{49};\\
\node[left color=-red,right color=red!70]{26};&
\node[left color=-red,right color=red!70]{27};&
\node[left color=-red,right color=red!70]{28};&
\node[left color=-red,right color=red!70]{29};&
\node[]{30};&
\node[fill=-red]{31};&
\node[fill=-red]{32};&
\node[]{33};&
\node[fill=-red]{34};&
\node[fill=-red]{35};&
\node[fill=-red]{36};&
\node[]{37};\\
\node[]{14};&
\node[]{15};&
\node[]{16};&
\node[]{17};&
\node[]{18};&
\node[left color=-red,right color=red!70]{19};&
\node[left color=-red,right color=red!70]{20};&
\node[]{21};&
\node[left color=-red,right color=red!70]{22};&
\node[left color=-red,right color=red!70]{23};&
\node[fill=-red]{24};&
\node[]{25};\\
\node[]{2};&
\node[]{3};&
\node[]{4};&
\node[]{5};&
\node[]{6};&
\node[]{7};&
\node[]{8};&
\node[]{9};&
\node[]{10};&
\node[]{11};&
\node[left color=-red,right color=red!70]{12};&
\node[]{13};\\
&
&
&
&
&
&
&
&
&
&
\node[fill=-red]{0};&
\node[]{1};\\
};
\end{tikzpicture}
gap> 

gap> STOP_TEST( "testall.tst", 10000 );
## The first argument of STOP_TEST should be the name of the test file.
## The number is a proportionality factor that is used to output a 
## "GAPstone" speed ranking after the file has been completely processed.
## For the files provided with the distribution this scaling is roughly 
## equalized to yield the same numbers as produced by the test file 
## tst/combinat.tst. For package tests, you may leave it unchnaged. 

#############################################################################
##
#E

[Dauer der Verarbeitung: 0.25 Sekunden, vorverarbeitet 2026-06-06]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik