Changeset 2717 in Sophya


Ignore:
Timestamp:
May 13, 2005, 11:50:41 AM (20 years ago)
Author:
ansari
Message:

MAJ du fichiers modifs.tex - Reza 13 Mai 2005

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Manual/modifs.tex

    r2716 r2717  
    226226- Ajout programme de test Tests/ppftswap.cc
    227227\item[\rond] Avril 2005 - Ajout de wrapper de lecture/ecriture PPF pour les vecteurs de
    228 la librairie standard (classe PPFWrapperSTLVector<T> ) fichier ppfwrapstlv.h
     228la librairie standard (classe PPFWrapperSTLVector$<$T$>$ ) fichier ppfwrapstlv.h
    229229\item[\rond] Ajout de la classes utilitaire PPF\_TPointer\_IO$<$T$>$
    230230(fichiers ppftpointer.h .cc)
     
    237237
    238238
    239 
    240 \subsection{Segmented Data Block}
     239\subsection{Nouvelles classes}
     240\begin{itemize}
     241\item[\rond] Ajout de la classe {\bf TimeStamp} pour la manipulation de date et heure -
     242calcul de duree. - Ajout du prog. test Tests/ttimestamp.cc (Mars 2003)
     243\item[\rond] { \bf Segmented Data Block :}  \\
    241244Mars-Avril 2005: Introduction des classes similaires aux NDataBlock, mais permettant
    242245de gerer des blocs de donnees segementes, pour tout type de donnees, de structures
    243 et de classes (template pour tout type <T>).
    244 Extrait du log CVS du 2005/04/07
    245 \begin{verbatim}
    246 1/ Ajout de la classe SegDataBlock<T> (et l'interface SegDBInterface<T>)
     246et de classes (template pour tout type T).
     247\begin{enumerate}
     248\item  Ajout de la classe {\tt SegDataBlock<T>} (et l'interface { \tt SegDBInterface<T>} )
    247249pour la gestion de blocs de donnees segmentes (segdatablock.h) et son
    248 gestionnaire PPF FIO_SegDataBlock<T> (fichier fiosegdb.h )
    249 2/ Ajout de la classe SwSegDataBlock<T> (Data bloc segmente avec gestion
    250 de swap) et la classe swapper PPF PPFDataSwapper<T> (fichiers
     250gestionnaire PPF {\tt FIO\_SegDataBlock<T>} (fichier fiosegdb.h )
     251\item Ajout de la classe {\tt SwSegDataBlock<T>} (Data bloc segmente avec gestion
     252de swap) et la classe swapper PPF {\tt PPFDataSwapper<T>} (fichiers
    251253ppfswapper.h et swsegdb.h)
    252 \end{verbatim}
     254\item Ajout programme de test Tests/tstsegdb.cc
     255\end{enumerate}
     256\end{itemize}
    253257
    254258
     
    379383              --------  SwPPFDataTable
    380384\end{verbatim}
    381 {\bf BaseDataTable} : Classe de base, avec qques methodes virtuelles
     385
     386\noindent {\bf BaseDataTable} : Classe de base, avec qques methodes virtuelles
    382387pures, implementent la presque totalite des fonctionalites, en particulier
    383388celles de l'interface NTupleInterface.
    384389
    385 {\bf DataTable} : Implementation concrete de BaseDataTable avec donnees en
    386 memoire (utilise SegDataBlock<T> pour stocker les colonnes)
    387 
    388 {\bf SwPPFDataTable} : Implementation concrete de BaseDataTable avec donnees
    389 en swap sur stream PPF (POutPersist)- Utilise  (SwSegDataBlock<T> avec
    390 un data-swapper PPF (classe PPFDataSwapper<T> )
     390\noindent {\bf DataTable} : Implementation concrete de BaseDataTable avec donnees en
     391memoire \\
     392(utilise SegDataBlock$<$T$>$ pour stocker les colonnes)
     393
     394\noindent {\bf SwPPFDataTable} : Implementation concrete de BaseDataTable avec donnees
     395en swap sur stream PPF (POutPersist)- \\
     396Utilise  (SwSegDataBlock$<$T$>$ avec
     397un data-swapper PPF (classe PPFDataSwapper$<$T$>$ )
    391398
    392399DataTable et SwPPFDataTable respecte +/- les conventions SOPHYA ,
     
    399406
    400407Classe de gestion de persistence commune : \\
    401 {\bf ObjFileIO<BaseDataTable> }
     408{\bf ObjFileIO$<$BaseDataTable$>$ }
    402409
    403410Lit et ecrit les DataTable et SwPPFDataTable
     
    406413ecrit comme DataTable - mais cette possibilite pourra
    407414peut-etre codee ulterieurement (d'ou l'interet en particulier
    408 d'un gestionnaire commun ObjFileIO<BaseDataTable>
     415d'un gestionnaire commun ObjFileIO$<$BaseDataTable$>$
    409416
    410417(les operateurs habituel $<<$ et $>>$ sur PIn/OutPersist sont definies)
    411418
    412 \begin{verbatim}
    413 Actuellement, les colonnes peuvent etre de type
    414 int_4  ,  int_8  ,  r_4  ,  r_8  ,  string
    415 On pourra ajouter apres  les types suivants :
    416 complex<r_4>  ,   complex<r_8>  , TimeStamp
     419Actuellement, les colonnes peuvent etre de type \\
     420{\tt int\_4  ,  int\_8  ,  r\_4  ,  r\_8  ,  string } \\
     421On pourra ajouter apres  les types suivants : \\
     422{\tt complex<r\_4>  ,   complex<r\_8>  , TimeStamp }
    417423 
    418424Dans BaseDataTable, il reste a remplir la methode
    419 BaseDataTable ::FillFromASCIIFile(string const& fn)
    420 BaseDataTable :: Print(int num, int nmax=1) const 
    421 (on peut utiliser LineToString(sa_size_t n) const
     425{\tt BaseDataTable ::FillFromASCIIFile(string const \& fn) } \\
     426{\tt BaseDataTable :: Print(int num, int nmax=1) const  }
     427(on peut utiliser { \tt LineToString(sa\_size\_t n) const }
    422428
    423429Par contre, les merges et copie sont prevues,
    424430on doit en principe pouvoir ecrire par exemple:
     431\begin{verbatim}
    425432SwPPFDataTable swdt;
    426433PInPersist pis("swdt.ppf");
     
    428435DataTable dt;
    429436dt = swdt;  // Pour tout charger en memoire
     437\end{verbatim}
    430438
    431439On peut aussi ajouter des methodes d'acces aux variables membres pour enrichier l'interface.
    432440
    433 PLUS IMPORTANT : il reste a ecrire la classe FITS_BaseDataTable ou FITS_DataTable
    434 pour I/O sur fichiers FITS - j'ai regarde FITS_XNTuple qu'on pourra simplifier enormement
     441{\bf PLUS IMPORTANT : } \\
     442Il reste a ecrire la classe FITS\_BaseDataTable ou FITS\_DataTable
     443pour I/O sur fichiers FITS - j'ai regarde {\tt FITS\_XNTuple} qu'on pourra simplifier enormement
    435444et que devrait etre assez rapide.
    436 Il faut aussi faire une classe SwFITSDataTable, en recopiant pas mal de chose ds la classe
    437 SwPPFDataTable - On pourrait peut-etre avoir une classe intermediaire qui regroupe
    438 tout ce qui est commun a SwFITSDataTable et SwPPFDataTable , mais a voir.
    439 L'element cle sera le codage de FITSDataSwapper<T> qui implemente
    440 les deux methodes de DataSwapperInterface<T> - le reste devrait etre du copier/coller
     445Il faut aussi faire une classe {\tt SwFITSDataTable}, en recopiant pas mal de chose ds la classe
     446{\tt SwPPFDataTable} - On pourrait peut-etre avoir une classe intermediaire qui regroupe
     447tout ce qui est commun a {\tt SwFITSDataTable et SwPPFDataTable} , mais a voir.
     448L'element cle sera le codage de {\tt FITSDataSwapper<T>} qui implemente
     449les deux methodes de {\tt DataSwapperInterface<T>} - le reste devrait etre du copier/coller
    441450essentiellement.
    442451
    443 PIAPP :
     452{\bf DataTable cote PIAPP :} \\
    444453Cote piapp, les DataTable et SwPPFDataTable  sont pris en charge par
    445 NOMAdapter_DataTable (qui prend en charge tous les 'BaseDataTable' )
    446 Il faudrait peut-etre rajouter deux commandes :
     454{\tt NOMAdapter\_DataTable} (qui prend en charge tous les 'BaseDataTable' )
     455Il faudrait peut-etre rajouter deux commandes : \\
    447456newdt ou newdatatable
    448 newdt ncol col1 [col2 .... ]
     457newdt ncol col1 [col2 .... ]  \\
    449458avec possibilite de specifier coli sous fome de X:colname ou X = D,F,S,I,L ...
    450459et puis dtfromascii  ...
    451460
    452461Voir Tests/tnt.cc pour exemple d'utilisation :
     462\begin{verbatim}
    453463DataTable dt(64);
    454464dt.AddIntegerColumn("line");
     
    465475 POutPersist po("dtable.ppf");
    466476 po << dt;
     477\end{verbatim}
    467478
    468479Pour SwPPFDataTable, il faut juste creer un stream PPF avant, qui doit rester
    469 ouvert tant que le SwPPFDataTable est actif
     480ouvert tant que le SwPPFDataTable est actif: \\
     481\begin{verbatim}
    470482 POutPersist po("swdtable.ppf");
    471483 SwPPFDataTable dt(po, 64);
    472 
    473 \end{verbatim}
     484\end{verbatim}
     485
    474486
    475487\section{SkyMap , Samba }
     
    521533\subsection{Classe SOPHYA::Commander (module SysTools) }
    522534
     535Mars-Avril 2004 :
    523536Classe d'interprŽteur de ligne de commande inspire de C-Shell,
    524537destine a etre incluee dans des applications C/C++. \\
    525 ( Programme test Test/tcmd.cc )
     538( Programme test Test/tcmd.cc )  \\
     539Avril 2005 : Introduction de la possibilite d'execution de commandes
     540en multithreads \\
     541Avril 2005 : Controle strict sur les noms de variables, limites
     542aux caracteres alphanumeriques + underscore - Adaptation
     543de l'algorithme de substitution en consequence.
    526544
    527545{\bf Mini guide de l'interpreteur - Message du 19 Mars 2004 }   \
     
    701719\item  Defintion et liste d'alias : {\bf alias aliasname 'string ' } et {\bf  listalias}
    702720\end{itemize}
     721
     722\item[\rond] {\bf Threads d'execution de commandes (Avril 2005)} \\
     723Possibilite de lancer des commandes (autre que les commandes
     724  de l'interpreteur lui-meme) en thread separe (il suffit de mettre un \&
     725  a la fin de la commande) \\
     726  Commandes des gestion des threads : \\
     727  {\bf thrlist  ;  cleanthrlist  ;  cancelthr ThId ;   waitthr  } \\
     728  Attention, la possibilite de lancer des commandes en threads separes ne fonctionne que
     729pour des commandes "thread-safe".
     730La plupart de nos commandes de piapp sont  \\
     731   - soit trop rapide,  \\
     732   - soit non "thread-safe"   \\
     733
     734  \item[\rond] controle d'execution : \\
     735Possibilite d'arreter l'execution de l'interpreteur (dans une boucle
     736   ou dans dans un fichier .pic ...
     737   Utiliser la commande {\bf stop} ou {\tt <Cntrl C>} dans PIConsole
     738
    703739\end{itemize}
    704740
     
    756792\end{itemize}
    757793
     794\section{LinAlg}
     795Extension des fonctionalitŽs de la classe {\tt LapackServer<T>} :
     796(Juillet 2004 / cmv , FŽvrier 2005 / Reza)
     797\begin{itemize}
     798\item[\rond] Introduction de l'interface Lapack d'inversion des matrices symetriques (21/7/2004)
     799\item[\rond]  Introduction de l'interface Lapack de recherche de valeurs et vecteurs propres
     800  (cas general, symetrique et hermitique) (21/7/2004)
     801\item[\rond] Introduction d'un fonction d'interface pour le calculateur de workspace
     802  (ilaenv\_) (21/7/2004)
     803\item[\rond] Ajout prog test Tests/tsttminv.cc + Commentaires sur les diverses methodes et sur les matrices FORTRAN (21/7/2004)
     804\item[\rond] Ajout SVD decomp by Divide and Conquer SVD\_DC (23/7/2004)
     805\item[\rond] Ajout  Least Square with SVD DC
     806\item[\rond] Ajout methode calcul de la matrice inverse par Lapack en utilisant la
     807resolution de systemes (07/02/2005)
     808\end{itemize}
     809
    758810\section{PI,PIext,piapp}
     811\subsection{PI: Classes modifiees - ameliorees}
     812\begin{itemize}
     813\item[\rond] {\bf  PIImageNavigator } \\
     814Ajout de la classe {\tt PIImageNavigator } permmettant de visualiser une image
     815avec ses propres widget zoom / global view et colormap. (Fevrier 2005) \\
     816Commande {\tt imagnav} ajoute ds piapp/baseexcute.cc . \\
     817\item[\rond] Avril 2005 - Amelioration de la classe {\bf PIConsole} \\
     8181/Envoi Message PIMSG\_Cancel lors de {\tt <Cntl C>} \\
     819 2/ Correction positionnement curseur lors de rappel de commande,
     820  Si possible en fin de commande - mais toujours avec le
     821  debut de commande visible.  \\
     8223/ Correction (probable) du petit bug sur les derniers caracteres lors de copier/coller
     823  ds PIConsole
     824\end{itemize}
     825%
     826%
    759827\subsection{ Codage texte des options graphiques (11 Mars 2004)}
    760828\begin{verbatim}
     
    899967\begin{itemize}
    900968\item Le multithreading a ŽtŽ mis en oeuvre dans piapp (janvier 2004).
    901 \item Il faut par contre ajouter des possibilitŽs de controle du thread
    902 d'execution des commandes.
     969\item PossibilitŽ d'execution de commandes en multithread (Avril 2005)
     970\item {\bf BUG } a corriger pour {\tt imagvav}:
     971La destruction de l'objet et/ou widget pascorrectement geres -
     972provoque des plantages lors de la sortie de l'application.
     973
    903974\item Extrait de {\tt cvs log pistdimgapp.cc } :
    904975\begin{verbatim}
     976revision 1.77
     977date: 2005/04/27 11:55:00;  author: ansari;  state: Exp;  lines: +26 -10
     9781/ Prise en charge de DataTable et SwPPFDataTable pour piapp (NObjMgrAdapter) :
     979nomhistadapter.cc et piiinit.cc
     9802/ Lecture de tous les objets ds un fichier PPF par NamedObjMgr::ReadAll() pour
     981fichier PPF sans nametag.
     9823/ Ajout bloc try/catch ds PIStdImgApp::Run() (boucle d'evenements)
     983                                           Reza , 27 Avril 2005
     984----------------------------
     985revision 1.76
     986date: 2005/04/19 09:13:49;  author: ansari;  state: Exp;  lines: +3 -1
     987Ajout de l option nodisp ds les affichages des NamedObjMgr, prise en compte de
     988<Cntrl C> (Msg_Cancel) pour arreter l'execution de l'interpreteur ds PIStdImgApp
     989et remplacement commande breakexe par stop ds PIACmd - Reza 19/4/2005
     990----------------------------
     991revision 1.75
     992date: 2005/04/19 06:56:52;  author: ansari;  state: Exp;  lines: +5 -4
     993Remis en marche la possibilite d'execution d'un .pic au lancement de piapp -
     994Reza 19/4/2005
     995----------------------------
     996revision 1.74
     997date: 2005/02/18 14:09:47;  author: ansari;  state: Exp;  lines: +62 -37
     998Modifications pour l'utilisation viewer PIImageNavigator (ajout commande imagnav
     999) - Reza 18 Fev 2005
     1000----------------------------
     1001revision 1.73
     1002date: 2004/11/19 17:41:07;  author: ansari;  state: Exp;  lines: +26 -0
     1003Ajout commandes addoval addfoval pour trace d'ellipse - Reza 19/11/2004
     1004----------------------------
    9051005revision 1.71
    9061006date: 2004/09/07 07:10:18;  author: ansari;  state: Exp;  lines: +35 -0
Note: See TracChangeset for help on using the changeset viewer.