# - * - TCL - * - # testA réglé de proc d'essai = de syndicats maximum 50 { args } { commutateur [ llength $$args ] { 0 { retour { } } 1 { retour [ lindex $$args 0 ] } défaut { le foreach a placé $$args { foreach e $$set { placez tmp($e). } } renvoyez [ la rangée appelle le tmp ] } } } le testB de proc { args } { commutateur [ llength $$args ] { 0 { retour { } } 1 { retour [ lindex $$args 0 ] } défaut { placez le foreach de tmp { } réglé $$args { foreach e $$set { tmp de lappend $$e } } # enlèvent des reproductions -- # sorte et balayent le raccourci en cas de vide ou # résultat d'simple-élément. si { [ llength $$tmp ] < 2 } { retour $$tmp } placez le tmp [ le lsort $$tmp ] a placé pour la dernière fois [ lindex $$tmp 0 ] a placé le tmp [ extrémité $$tmp de lrange 1 ] a placé le foreach $$last e de recherche $$tmp { si { [ la corde comparent $$e $$last ]! = { bout réglé de recherche $$e de lappend } $$e } testC de proc $$res du retour 0} } } } { args } { commutateur [ llength $$args ] { 0 { retour { } } 1 { défaut de retour [ $$args lindex 0] } { placez le foreach de tmp { } réglé $$args { foreach e $$set { tmp de lappend $$e } } # - le W enlèvent des reproductions -- # informations parasites hors de raccourci en cas de vide ou # résultat d'simple-élément. si { [ llength $$tmp ] < 2 } foreach { $$tmp de retour } e $$tmp { placez tmpa($e). } renvoyez [ la rangée appelle le tmpa ] } } } le testD de proc { args } { commutateur [ llength $$args ] { 0 { retour { } } 1 { défaut de retour [ $$args lindex 0] } { foreach réglé $$args { si { [ llength $$set ] > 0} { foreach $$set {. } { coupure } } } suppriment des locals d'information réglés par args } } } # UN_ne - > a, b aléatoire, non trié, intersection presque toujours vide # UN_eq - > a = b, l'ensemble aléatoire fa1 [ ouvrez-vous "|le /2nep UN_a_ne Ar.dat X.dat "W ] a placé fa2 [ ouvrez-vous"|le /2nep UN_a_eq Ae0.dat X.dat "W ] a placé fb1 [ ouvrez-vous"|le /2nep UN_b_ne Br.dat X.dat "W ] a placé fb2 [ ouvrez-vous"|le /2nep UN_b_eq Be0.dat X.dat "W ] a placé fc1 [ ouvrez-vous"|le /2nep UN_b_ne Cr.dat X.dat "W ] a placé fc2 [ ouvrez-vous"|le /2nep UN_b_eq Ce0.dat X.dat "W ] a placé fd1 [ ouvrez-vous"|le /2nep UN_b_ne Dr.dat X.dat "W ] a placé fd2 [ ouvrez-vous"|le /2nep UN_b_eq De0.dat X.dat "W ] a placé le fx [ ouvrez-vous"|______________________________________"met stdout du /2nep UN_x X.dat" W ] a placé a0 { } a placé b0 { } "; le stdout affleurant UNION met stdout "|...... A...... B...... C...... D "; stdout affleurant pour { placez I 0 } { $$i < = $$max } { augmentez I } { placez IX [ format %03d $$i ] met le stderr "* $$ix (a0) = $$a0"; le stderr affleurant met le stderr "* $$ix (b0) = $$b0"; le stderr affleurant ra1 que réglé [ lindex [ temps { testA $$a0 $$b0 } 1000 ] 0 ] a placé ra2 [ lindex [ temps { testA $$a0 $$a0 } 1000 ] 0 ] a placé rb1 [ lindex [ temps { testB $$a0 $$b0 } 1000 ] 0 ] a placé rb2 [ lindex [ temps { testB $$a0 $$a0 } 1000 ] 0 ] a placé rc1 [ lindex [ temps { testC $$a0 $$b0 } 1000 ] 0 ] a placé rc2 [ lindex [ temps { testC $$a0 $$a0 } 1000 ] 0 ] a placé rd1 [ lindex [ temps { testD $$a0 $$b0 } 1000 ] 0 ] a placé rd2 [ lindex [ temps { testD $$a0 $$a0 } 1000 ] 0 ] ______________________________________"met stdout"; le stdout affleurant met le stdout "$$ix Ne [ le format %7d $$ra1 ] [ format %7d $$rb1 ] [ le format %7d $$rc1 ] [ format %7d $$rd1 ]" met le stdout "$$ix EQ [ le format %7d $$ra2 ] [ format %7d $$rb2 ] [ le format %7d $$rc2 ] [ format %7d $$rd2 ]" met $$fa1 $$ra1 met $$fa2 $$ra2 met $$fb1 $$rb1 met $$fb2 $$rb2 met $$fc1 $$rc1 met $$fc2 $$rc2 met $$fd1 $$rd1 met $$fd2 $$rd2 met $$fx $$i le lappend a0 [ gamme de corde [ lindex [ dédoublez [ expr { le rand() } ]. ] 1] 0 4] lappend b0 [ gamme de corde [ lindex [ dédoublez [ expr { rand() } ]. ] 1] 0 4] } met le "----"de stderr; le stderr affleurant ______________________________________"met stdout"; fin affleurante de fin $$fa1 de fin $$fa2 de fin $$fb1 de fin $$fb2 de fin $$fc1 de fin $$fc2 de fin $$fd1 de fin $$fd2 de stdout $$fx voyez également [ des setops ]. [ Exécution De Catégorie ]