
Screenshot del goku script
Il goku script è uno script per mIRC realizzato nell’anno 2001 e tutt’oggi è considerato uno degli script più completi in circolazione. Lo script è scaricabile a questo link.
Purtroppo nella sua distribuzione sono stati lasciati attivi i messaggi di spam (messaggi usati per pubblicizzare lo script stesso).
Di questi messaggi ne sono inviati due ogni volta che si entra o esce da un canale di chat… quindi se entriamo in un canale inviamo un messaggio di spam alla prossima persona che entra in uno dei canali in cui ci troviamo. Qui lo pseudo-codice:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
| on 1:JOIN:#:{
if ($nick == $me) {
...
}
else {
if (%joinkiff == on) { notice $nick $spam.line %script | set %joinkiff off }
}
:fine
}
on 1:PART:#:{
if (%partkiff == on) { notice $nick $spam.line %script | set %partkiff off }
}
} |
Per disattivarli possiamo intervenire in questo modo…
Continua a leggere “Eliminare lo spam dal goku script”
Lo “srotolamento” del ciclo consistente nel modificare il controllo del ciclo
e nel replicare opportunamente le istruzioni all’interno del ciclo viene
detto “tecnica di LOOP UNROLLING”.
VANTAGGI DEL LOOP UNROLLING
- Utilizzo ottimale dei processori con architettura pipelined
- Riduzione dell’overhead del ciclo di iterazione
- Riduzione del numero di trasferimenti fra i vari livelli memoria
- Aumento delle operazioni concorrenti
L’overhead del programma e il numero di trasferimenti di dati dai livelli
più bassi di memoria ai registri Si riducono di un fattore proporzionale alla
nuova lunghezza del ciclo (profondità dell’unrolling).
Continua a leggere “Tecnica del Loop-Unrolling”
Tags: loop

LAPACK (Linear Algebra PACKage) e’ una libreria scritta in FORTRAN 77 per
risolvere:
- sistemi lineari di equazioni
- problemi di minimi quadrati
- calcolo degli autovalori
- problemi ai valori singolari
- fattorizzazioni di matrici
- stima dell’indice di condizionamento
Continua a leggere “LAPACK e SparsKit”
Tags: lapack
LE LIBRERIE BLAS
Le routine di blas si contengono {BLAS 3} C {BLAS 2} C {BLAS 1}
BLAS 1: Operazioni vettore-vettore (SAXPY, SDOt, …)
BLAS 2: Operavioni matrice-vettore (SGEMV, …)
BLAS 3: Operazioni matrice-matrice (SGEMM, …)
Continua a leggere “Libreria BLAS”
Tags: blas
L’ heapsort è un algoritmo di ordinamento iterativo ed in-place proposto da Williams nel 1964, che si basa su strutture dati ausiliarie.
L’ heapsort per eseguire l’ordinamento, utilizza una struttura chiamata heap (mucchio); un heap è rappresentabile con un albero binario in cui tutti i nodi seguono una data proprietà, detta priorità. Esso è completo almeno fino al penultimo livello dell’albero e ad ogni nodo corrisponde uno ed un solo elemento.
In uno heap decrescente (utilizzato per ordinare ad esempio un array in senso crescente) ogni nodo padre contiene un valore maggiore o uguale a quello dei suoi due figli diretti, di conseguenza risulterà maggiore anche di tutti i nodi che si trovano nel sottoalbero di cui esso è la radice; questo non implica affatto che nodi a profondità maggiore contengano valori minori di quelli a profondità minore.
Quindi in ogni istante, in un heap decrescente, la radice contiene il valore maggiore.
Questa struttura è molto usata, in particolare, per l’ordinamento di array.
In questo caso si considera come radice l’elemento iniziale di indice 1; inoltre i figli di un nodo con indice j, avranno indice rispettivamente 2j, quello sinistro, 2j+1 quello destro.
Continua a leggere “Implementazione C di Heap Sort”
Tags: sort