From: Davide Z. <dav...@gm...> - 2009-07-10 11:23:04
|
Metto per punti così vai anche meglio a rispondere. 1- nelle strutture dati mi sono reso conto di essere poco coerente per il campo che contiene l'elemento infatti ho usato a volte info e a volte elem. Bene decidiamo una volta per tutte quale usare elem o info (o un altro?). Direi che questo vale anche per uString. 2- pensavo di rinominare uDList in uList visto che saranno implementate solo le liste doppiamente concatenate (uDList) e le liste doppiamente concatenate ordinate (uSList) 3- pensavo anche di implementare un iteratore, che potesse funzionare per le liste, alberi di ricerca e altro. 4- attualmente in math tool nel file function.c vengono implementatre le funzioni matematiche standard (sen, cos, somma, ecc.). Questo file andrà eliminato perchè tutte queste funzioni andranno implementate in apalib. Math tool infatti userà gli apaNum, e mentre apalib gestisce l'aritmetica e le funzioni di base, math tool farà cose più avanzate tipo risoluzione di equazioni, grafici, ecc. 5- per mantenere un pelo di ordine, quando ti arriva una mail dalla mailing list, usa il rispondi di gmail cambiando solo il destinatario, così mette un bellissimo Re: davanti all'oggetto. Che stress che sono, ma è dovuto a comunicazioni non ne posso più di fare es! |
From: Matteo S. <gna...@gm...> - 2009-07-10 14:10:49
|
1- direi decisamente elem o element... nn so dv hai trovato info XD 2- ok per me va bene =) 3- si benone... quello serve sempre... 4- ricorda che cè pure la chicca delle reti neurali, appena finiscono sti cazzo di esami torno a lavorarci =) 5- sisi infatti cercavo una soluzione a riguardo perkè ogni volta fare una nuova mail cominciava a stufarmi =) |
From: Davide Z. <dav...@gm...> - 2009-07-10 18:12:31
|
1- ok allora elem, info lo usavo alle superiori sulle list! 2-3-5 perfetto! 4- si mi ricordo della tua chicca, che va in math tool! Però più mi fai asp senza dire niente più io credo sia una roba sconvolgente! |
From: Davide Z. <dav...@gm...> - 2009-07-14 11:25:26
|
Altri problemini: 1- davanti alle funzioni della libreria apalib ci mettiamo solo "a" o "apa"? E i numeri come gli chiamiamo apaNum? o aNum? 2- puntatori a funzione. Al momento in giro ce ne sono di definiti di diversi tipi. Però il mio problema è un altro. Ha sempre senso che venga incluso nella struttura dati? Ad esempio nella lista c'è un campo fFree che tiene un puntatore alla funzione per deallocare il dato inserito nella lista. Però alla fine verrà usato quando si deciderà di deallocare tutta lista. Quindi una volta solo in tutta la vita della lista. A questo punto direi che al posto di portarsi sempre dietro nella struttura il puntatore, il puntatore viene richiesto dalla funzione che dealloca la lista. |
From: Davide Z. <dav...@gm...> - 2009-07-14 13:38:48
|
1- ok perfetto 2- Il problema è questo. Per esempio con le liste. Ci sono 2 funzioni per deallocare: uListFree che dealloca la lista ma lascia gli elementi e un'altra uListFreeAll che dealloca tutto. Ora come fa questa funzione a sapere come dellocare gli elementi? Potrebbero essere int, stringhe, liste, ecc. Com'è implementato adesso la funzione per deallocare gli elementi viene salvata in un campo della struttura della lista. Quello che dicevo di fare è rendere la funzione un parametro richiesto dalla uListFreeAll. |
From: Matteo S. <gna...@gm...> - 2009-07-15 16:32:51
|
mmhh... cs serve che una deallochi la struttura ma nn i suoi elementi? |
From: Davide Z. <dav...@gm...> - 2009-07-15 19:05:20
|
Metti caso che uno ha messo in un dizionario tutte le sue belle stringhe per accedervi velocemente. Poi effettua tutte le sue belle operazioni, non li serve più il dizionario ma le stringhe si... Cosa fa? |
From: Matteo S. <gna...@gm...> - 2009-07-16 10:30:13
|
usa una funzione che cancella la struttura ma non le stringhe XD secondo me si può fare una cs del tipo: nel file uList o quel che è includere delle funzioni che permettano di deallocare la struttura ma nn il campo che contiene i dati, e una che permette di deallocare tutto quanto, csì si eliminano i fastidiosi puntatori nella struct no? nn so se ho capito esattamente quello che intendi... se no illuminami ^^ |
From: Davide Z. <dav...@gm...> - 2009-07-16 14:07:54
|
Si ci son già 2 funzioni: - uListFree (uList *l) che dealloca solo la struttura - uListFreeAll (uList *l) che dealloca tutto Quello che volevo fare era far diventare uListFreeAll così uListFreeAll (uList *l, uFreeFunc f) cioè passare come secondo parametro la funzione da usare per deallocare la struttura. Questo perchè mi pareva poco utile tenere un campo nella lista per il puntatore alla uFreeFunc che tanto sarebbe solo usata una volta, alla fine, per deallocare il tutto. |
From: Matteo S. <gna...@gm...> - 2009-07-16 17:06:31
|
Il giorno 16 luglio 2009 19.03, Matteo Sumberaz<gna...@gm...> ha scritto: nn capisco cs serva a mettere il puntatore nella struct... nn basta mettere nella libreria le due funzioni e se uno gli servono le usa? |
From: Davide Z. <dav...@gm...> - 2009-07-16 19:09:26
|
ancora?? :) Come faccio a sapere a priori come deallocare l'elemento? > Il giorno 16 luglio 2009 19.06, Matteo Sumberaz<gna...@gm...> ha scritto: >> Il giorno 16 luglio 2009 19.03, Matteo Sumberaz<gna...@gm...> ha scritto: >> nn capisco cs serva a mettere il puntatore nella struct... nn basta >> mettere nella libreria le due funzioni e se uno gli servono le usa? >> >> ------------------------------------------------------------------------------ >> Enter the BlackBerry Developer Challenge >> This is your chance to win up to $100,000 in prizes! For a limited time, >> vendors submitting new applications to BlackBerry App World(TM) will have >> the opportunity to enter the BlackBerry Developer Challenge. See full prize >> details at: http://p.sf.net/sfu/Challenge >> _______________________________________________ >> Mathtool-develop mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/mathtool-develop >> > |
From: Matteo S. <gna...@gm...> - 2009-07-16 19:23:11
|
allora mi scuso per averti fatto perdere un pò la pazienza ma a volte scrivo mentre la gente mi parla e nn riesco a ragionare bene XD ora mi sono riletto il codice.. pensavo che la lista contenesse una specie di campo con tutti gli elementi anke se questo sinceramente nn ha molto senso =) mi sorge spontanea la domanda: tutti i nodi della lista hanno nel campo elemento lo stesso tipo? se nn fosse csì sarebbe un casino perkè ogni nodo dovrebbe avere un puntatore a funzione free apposta per il tipo che contiene... l'idea allora che mi viene e di fare una funzione unica che prenda oltere al puntatore di quello che deve eliminare anke il tip di dato contenuto nella lista in modo da poterlo de allocare, ma non credo che se il dato è una struttura si riesca in qualche modo a risalire alla morfologia della struttura o a trovare un modo unico per eliminarla qualunque essa sia... perciò se tutto ciò che ho detto è giusto, tocca mettere un puntatore da qualche parte.. e l'idea migliore anke per me è quella di fare una funzione che prenda un puntatore che contiene la funzione preposta per quel genere di deallocazione.... nn sn sicuro di essere riuscito a spiegarmi ma credo finalmente di aver capito cs volevi dirmi ^^ ( anke perkè ho attaccato il cervello per una volta e nessuno mi parlava mentre leggevo e cercavo di capire =) ) per gli impegni nn preoccuparti, da domani mi metto sotto bene e finiamo per fine agosto =) buona serata zan ^^ |
From: Davide Z. <dav...@gm...> - 2009-07-17 16:51:45
|
Se alla fine ci siamo capiti ogni struttura avrà 2 funzioni (es. con liste): uListFree (uList *l); uListFree (uList *l, uFreeFunc f); ok? Il giorno 16 luglio 2009 21.22, Matteo Sumberaz<gna...@gm...> ha scritto: > allora mi scuso per averti fatto perdere un pò la pazienza ma a volte > scrivo mentre la gente mi parla e nn riesco a ragionare bene XD ora mi > sono riletto il codice.. pensavo che la lista contenesse una specie di > campo con tutti gli elementi anke se questo sinceramente nn ha molto > senso =) mi sorge spontanea la domanda: tutti i nodi della lista hanno > nel campo elemento lo stesso tipo? se nn fosse csì sarebbe un casino > perkè ogni nodo dovrebbe avere un puntatore a funzione free apposta > per il tipo che contiene... l'idea allora che mi viene e di fare una > funzione unica che prenda oltere al puntatore di quello che deve > eliminare anke il tip di dato contenuto nella lista in modo da poterlo > de allocare, ma non credo che se il dato è una struttura si riesca in > qualche modo a risalire alla morfologia della struttura o a trovare un > modo unico per eliminarla qualunque essa sia... perciò se tutto ciò > che ho detto è giusto, tocca mettere un puntatore da qualche parte.. e > l'idea migliore anke per me è quella di fare una funzione che prenda > un puntatore che contiene la funzione preposta per quel genere di > deallocazione.... > > nn sn sicuro di essere riuscito a spiegarmi ma credo finalmente di > aver capito cs volevi dirmi ^^ ( anke perkè ho attaccato il cervello > per una volta e nessuno mi parlava mentre leggevo e cercavo di capire > =) ) > > per gli impegni nn preoccuparti, da domani mi metto sotto bene e > finiamo per fine agosto =) > > buona serata zan ^^ > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Mathtool-develop mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/mathtool-develop > |
From: Matteo S. <gna...@gm...> - 2009-07-17 18:31:37
|
si ok vada per le due funzioni ^^ |
From: Davide Z. <dav...@gm...> - 2009-07-21 09:55:12
|
Un'altra cosa che mi è venuta in mente. Penso sia ragionevole imporre che che NULL non può essere inserito in nessuna struttura. Nel senso che tipo nella lista non può esserci un nodo che ha NULL nel campo elem. In questo modo è facile far capire quando c'è stato un errore o sono finiti gli elementi perchè basta tornare NULL. In effetti nella lista uso il campo elem == NULL per indicare il nodo sentinella, e tutte le funzioni capiscono che è il nodo sentinella da questo fatto. Se si potesse inserire NULL sarebbe il casino perchè tutte le funzioni vedrebbero un casino di nodi sentinella! |
From: Matteo S. <gna...@gm...> - 2009-07-21 11:46:14
|
mi pare una cs più ragionevole =P chiedo scusa per la poca produttività degli ultimi giorni però sto finendo una pagina web per un cliente e la devo finire prima di andare al mare (parto dopodomani) senza contare che stando a casa di mi amorosa le cs si complicano parecchio... ah, a proposito se vuoi venire a trovarci siamo al camping europa =P da lunedì prossimo sarò al 100% tuned per completare il progetto =) |