File "save_dev_skill.il"
Full Path: /home/analogde/www/SKILL/save_dev_skill.il
File size: 6.74 KB
MIME-type: text/plain
Charset: utf-8
nombre_pins = 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(ponderation(caractere)
prog( ()
caractere = lowerCase(caractere)
case( caractere
("0"
valeur = 0
)
("1"
valeur = 1
)
("2"
valeur = 2
)
("3"
valeur = 3
)
("4"
valeur = 4
)
("5"
valeur = 5
)
("6"
valeur = 6
)
("7"
valeur = 7
)
("8"
valeur = 8
)
("9"
valeur = 9
)
("a"
valeur = 21
)
("b"
valeur = 22
)
("c"
valeur = 23
)
("d"
valeur = 24
)
("e"
valeur = 25
)
("f"
valeur = 26
)
("g"
valeur = 27
)
("h"
valeur = 28
)
("i"
valeur = 29
)
("j"
valeur = 30
)
("k"
valeur = 31
)
("l"
valeur = 32
)
("m"
valeur = 33
)
("n"
valeur = 34
)
("o"
valeur = 35
)
("p"
valeur = 36
)
("q"
valeur = 37
)
("r"
valeur = 38
)
("s"
valeur = 39
)
("t"
valeur = 40
)
("u"
valeur = 41
)
("v"
valeur = 42
)
("w"
valeur = 43
)
("x"
valeur = 44
)
("y"
valeur = 45
)
("z"
valeur = 46
)
("z"
valeur = 46
)
("-"
valeur = 50
)
("_"
valeur = 51
)
)
return(valeur)
);prog
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(ordonner(liste)
prog( ()
liste_classer = '()
for(j 0 length(liste)-1
if(j == 0 then
a = nth(j liste)
b = nth(j+1 liste)
val = min(a b)
)
if(j > 0 then
a = nth(j liste)
val = min(val a)
)
)
min = val
declare(tab[length(liste)])
for(i 0 length(liste)-1
tab[i] = nth(i liste)
)
for(j 0 length(liste)-1-1
for(i 0 length(liste)-1-1
a = tab[i]
b = tab[i+1]
if(b<a then
tab[i] = b
tab[i+1] = a
)
)
)
for(i 0 length(liste)-1
liste_classer = append1(liste_classer tab[i])
)
return(liste_classer)
);prog
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(classer()
;val = getchar("abcd" 3)
;getchar("abcd" 2)
;charToInt(val)
;charToInt('Before)
;lulu = parseString( "feed_int_pll<54>" "_<>")
;y = '(le chien du voisin)
;remdq('i y)
;remd( "x" y)
;remove( "x" '("a" "b" "x" "d" "f"))
;y = '(a b x d f x g)
;remdq('x y)
;reverse(tmp3)
;sort(pins)
;;;;
pins = list("trim_clk_scan<4>" "trim_clk_scan<2>" "trim_clk_scan<1>" "trim_clk_scan<3>"
"paulo" "bdsgingo" "reset" "trim_clk_scan<0>" "un_a_4_ab<8>"
"un_a_4_ab<2>" "un_a_4_ab<1>" "un_a_4_ab<5>")
;pins = list("un_a_4_ab<8>" "un_a_4_ab<2>" "un_a_4_ab<1>" "un_a_4_ab<5>")
;pins = list("unq" "aeqa" "mpqgf" "fghfhzq")
tmp1 ='()
tmp2 ='()
for(i 0 length(pins)-1
result = parseString( nth(i pins) "_<>")
ptr = 0
provi = ""
for(j 1 length(result)
if(j == 0 then
provi = strcat(nth(ptr result) nth(ptr+1 result) )
ptr = 2
else
provi = strcat(provi nth(ptr result) )
ptr = ptr +1
)
)
tmp1 = append1(tmp1 provi)
total = 0
val = ""
for(k 1 strlen(provi)
val = substring(nth(i tmp1) k 1)
total = total + ponderation(val)
;test = atoi(val)
;if(test == nil then
; ascii = charToInt('val)
; total = total + ascii
;else
; total = total + test
;)
)
printf(" Total : %d \n" total)
tmp2 = append1(tmp2 total)
)
classement_pins = '()
classement_pins = ordonner(tmp2)
tmp3 = '()
for(i 0 length(pins)-1
for(j 0 length(pins)-1
if( nth(i classement_pins) == nth(j tmp2) then
tmp3 = append1(tmp3 j)
j= 100
)
)
)
for(i 0 length(pins)-1
position = nth(i tmp3)
printf(" ** : %s \n" nth(position pins) )
)
stringList = list( "xyz" "abc" "ghi" )
sort( pins 'alphalessp )
cv=geGetWindowCellView()
terminal_list = sort(cv~>terminals~>name nil)
sort( terminal_list 'alphalessp )
;alphalessp
;alphalessp( "name" "name1" ) => t
;alphalessp( "third" "fourth" ) => nil
;alphalessp('a 'ab) => t
;keys=sort(myTable->? 'alphalessp)
;foreach(key keys
;printf("%s %s\n" key myTable[key])
;)
alphalessp( "formulaire" "fortune" )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(pins()
cpt_gauche=0
cpt_droite=0
cpt_haut=0
cpt_bas=0
espace=1
position= "left"
delta_x = 0.0
delta_y = 0.0
x1 = 0.0
y1 = 0.0
minX=0
minY=0
L = 0.4
H = 0.6
cv=geGetWindowCellView()
tmp1 = '()
terminal_list = sort(cv~>terminals~>name nil)
ordonner_terminal = sort( terminal_list 'alphalessp )
for(i 0 length(ordonner_terminal)-1
id = leSearchHierarchy(cv cv~>bBox 0 "pin" list(list("term name" "==" nth(i ordonner_terminal) )))
tmp1 = append1(tmp1 car(id))
)
for(i 0 length(ordonner_terminal)-1
printf(" ** : %s \n" nth(i tmp1)~>pin~>term~>name )
)
for(i 0 length(terminal_list)-1
case( position
("left"
if(cpt_gauche==0 then
x1=minX
y1=minY
cpt_gauche++
H_precedent=H
else
x1=x1
y1=y1+H_precedent+espace
cpt_gauche++
H_precedent=H
);if
)
("right"
if(cpt_droite==0 then
x1=maxX-L
y1=minY
cpt_droite++
H_precedent=H
else
x1=x1
y1=y1+H_precedent+espace
cpt_droite++
H_precedent=H
);if
)
("top"
if(cpt_haut==0 then
x1=minX
y1=maxY-H
cpt_haut++
L_precedent=L
else
x1=x1+L_precedent+espace
y1=maxY-H
cpt_haut++
L_precedent=L
);if
)
("bottom"
if(cpt_bas==0 then
x1=minX
y1=minY
L_precedent=L
cpt_bas++
else
x1=x1+L_precedent+espace
y1=y1
L_precedent=L
cpt_bas++
);if
)
); case
delta_x=x1+L ;x0
delta_y=y1+H ;y0
couple=list(x1:y1 delta_x:delta_y)
printf(" nouvelle taille %L \n" couple)
nth(i pins)~>bBox=couple
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;dbList = sort(dbList lambda((a b) alphalessp(a~>cellName b~>cellName)))
;
;dbList = sort(dbList 'mySort)
;procedure(mySort(a b)
; alphalessp(a~>cellName b~>cellName)
;)