[2632] | 1 | \documentclass[twoside,11pt,A4]{article}
|
---|
[3229] | 2 | % \documentclass[twoside,11pt,A4]{report}
|
---|
[2632] | 3 | \usepackage[french]{babel}
|
---|
| 4 |
|
---|
| 5 | % \usepackage[T1]{fontenc}
|
---|
| 6 | \usepackage[applemac]{inputenc}
|
---|
| 7 | \usepackage{palatino}
|
---|
| 8 | % \usepackage{times}
|
---|
| 9 | % package pour ecrire DRAFT en fond de page
|
---|
[2716] | 10 | % \usepackage[light,all,draft]{draftcopy}
|
---|
[2632] | 11 |
|
---|
| 12 | % \usepackage{epsfig}
|
---|
| 13 | \usepackage{graphicx}
|
---|
| 14 | \usepackage{amsmath}
|
---|
| 15 | \usepackage{amssymb}
|
---|
| 16 |
|
---|
| 17 | \setlength{\textwidth}{16cm}
|
---|
[3735] | 18 | \setlength{\textheight}{22 cm}
|
---|
| 19 | \setlength{\topmargin}{-5mm}
|
---|
[2632] | 20 | \setlength{\oddsidemargin}{0.cm}
|
---|
| 21 | \setlength{\evensidemargin}{0.cm}
|
---|
| 22 | \setlength{\unitlength}{1mm}
|
---|
| 23 |
|
---|
[3536] | 24 | \newcommand{\tcls}[1] {#1$<$T$>$}
|
---|
| 25 | \newcommand{\tclsc}[2] {#1$<$#2$>$}
|
---|
| 26 |
|
---|
[2632] | 27 | \newcommand{\rond}{$\bullet \ $}
|
---|
| 28 | \newcommand{\etoile}{$\star \ $}
|
---|
| 29 | \newcommand{\cercle}{$\circ \ $}
|
---|
| 30 | \newcommand{\carre}{$\Box \ $}
|
---|
| 31 |
|
---|
[3229] | 32 | %%%% Pour le decoupage en sections
|
---|
| 33 | % \newcommand{\groupe}[1]{\chapter{#1}}
|
---|
| 34 | % \newcommand{\titre}[1]{\section{#1}}
|
---|
| 35 | % \newcommand{\soustitre}[1]{\subsection{#1}}
|
---|
| 36 | %%%
|
---|
| 37 | \newcommand{\groupe}[1]{\section{#1}}
|
---|
| 38 | \newcommand{\titre}[1]{\subsection{#1}}
|
---|
| 39 | \newcommand{\soustitre}[1]{\subsubsection{#1}}
|
---|
| 40 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 41 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
[2632] | 42 | \begin{document}
|
---|
| 43 | \begin{titlepage}
|
---|
| 44 | \begin{center}
|
---|
[3494] | 45 | {\Large \bf SOPHYA Change Log \\[1mm]
|
---|
| 46 | Liste des modifications de SOPHYA } \\[5mm]
|
---|
[4039] | 47 | {\large Septembre 2003 - Septembre 2011 } \\[25mm]
|
---|
[2632] | 48 | Liste des tags et dates : \\[5mm]
|
---|
| 49 | {\large
|
---|
| 50 | \begin{tabular}{lcl}
|
---|
| 51 | V = 0.727 & \hspace{10mm} & Octobre 1999 \\
|
---|
[3095] | 52 | V = 0.8 & \hspace{10mm} & F\'evrier 2000 \\
|
---|
| 53 | V = 1.1 & \hspace{10mm} & F\'evrier 2001 \\
|
---|
[2632] | 54 | V = 1.2 & \hspace{10mm} & Juillet 2001 \\
|
---|
| 55 | V = 1.3 & \hspace{10mm} & Novembre 2001 \\
|
---|
[3095] | 56 | V = 1.5 & \hspace{10mm} & D\'ecembre 2002 \\
|
---|
[2632] | 57 | V = 1.7 & \hspace{10mm} & Septembre 2003 \\
|
---|
[2829] | 58 | V = 1.9 & \hspace{10mm} & Juin 2005 - SANS tag CVS \\
|
---|
[3095] | 59 | V = 1.9xx & \hspace{10mm} & 09/2005 ... 09/2006 \\
|
---|
| 60 | V = 2.0 & \hspace{10mm} & Septembre 2006 - tag CVS \\
|
---|
[3301] | 61 | V = 2.046 & \hspace{10mm} & Ao\^{u}t 2007 - NO tag \\
|
---|
[3438] | 62 | V = 2.1 & \hspace{10mm} & Novembre 2007 - tag CVS \\
|
---|
[3459] | 63 | V = 2.1xx & \hspace{10mm} & 12/ 2007 - \ldots \\
|
---|
[3536] | 64 | V = 2.125 & \hspace{10mm} & Sept-Oct 2008 - NO tag \\
|
---|
[3735] | 65 | V = 2.140 & \hspace{10mm} & Sept-Oct 2009 - NO tag \\
|
---|
[3817] | 66 | V = 2.150 & \hspace{10mm} & Mars 2010 - NO tag \\
|
---|
[3856] | 67 | V = 2.2 & \hspace{10mm} & Septembre 2010 - tag CVS \\
|
---|
[4039] | 68 | V = 2.2xxx & \hspace{10mm} & Sep 2010 \ldots \\
|
---|
[4041] | 69 | V = 2.211 & \hspace{10mm} & Novembre 2011 - NO tag \\
|
---|
[2829] | 70 |
|
---|
[2632] | 71 | \end{tabular}
|
---|
[3229] | 72 | } \\[8mm]
|
---|
| 73 | %%%%%%
|
---|
| 74 | \begin{tabular}{ll}
|
---|
| 75 | R. Ansari & ansari@lal.in2p3.fr \\
|
---|
| 76 | C. Magneville & cmv@hep.saclay.cea.fr
|
---|
[3494] | 77 | \end{tabular}
|
---|
| 78 | \\[5mm]
|
---|
| 79 | \today
|
---|
[2632] | 80 | \end{center}
|
---|
| 81 | \end{titlepage}
|
---|
| 82 |
|
---|
| 83 | \newpage
|
---|
| 84 | \tableofcontents
|
---|
| 85 | \newpage
|
---|
| 86 |
|
---|
[3229] | 87 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 88 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
[4039] | 89 | \groupe{De V2.2 (Sep 2010) V2.3 \ldots }
|
---|
| 90 | \titre{BaseTools}
|
---|
| 91 | \begin{itemize}
|
---|
| 92 | \item[\rond] Novembre 2011: Numro de version 2.211 - Nov11
|
---|
[4041] | 93 | \item[\rond] Septembre 2011: Ajout de 2 g\'en\'erateurs al\'eatoires. \\
|
---|
| 94 | TinyMT[32/64]RandGen: utilisant le code Tiny Mersenne Twister (TinyMT)
|
---|
| 95 | http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html.
|
---|
[4042] | 96 | Ajout de la methode de tirage par Ziggurat pour la generation de v.a. gaussiennes.
|
---|
[4039] | 97 | \end{itemize}
|
---|
| 98 |
|
---|
| 99 | \titre{TArray}
|
---|
| 100 | \begin{itemize}
|
---|
| 101 | \item[\rond] Novembre 2011: Correction bug au niveau de la gestion mmoire pour les constrcuteur de
|
---|
| 102 | copie de TArray/TMatrix/TVector lorsqu'un argument de type BaseArray est pass. (bug identifi par JEC)
|
---|
| 103 | lors de l'utilisation de la commande {\tt vecplot} dans piapp. Ces constructeurs par copie ont maintenant
|
---|
| 104 | un argument optionnel permettant de construire des tableaux compacts en mmoire (packed).
|
---|
| 105 | \begin{verbatim}
|
---|
| 106 | TArray(const BaseArray& a, bool pack=true);
|
---|
| 107 | TMatrix(const BaseArray& a, bool pack=true);
|
---|
| 108 | TVector(const BaseArray& a, bool pack=true);
|
---|
| 109 | \end{verbatim}
|
---|
| 110 | Le code de TArray/TMatrix/TVector a t modifi aussi pour permettre la cration par le constructeur de
|
---|
| 111 | copie d'objets non allous, utile en particulier pour uiliser des objets comme
|
---|
| 112 | \begin{verbatim}
|
---|
| 113 | std::vector< TArray<int_4> >
|
---|
| 114 | std::map< std::string, TMatrix<r_4> >
|
---|
| 115 | \end{verbatim}
|
---|
| 116 | \item[\rond] Octobre 2011: Print ds {\tt TArray$<$T$>$::ReadASCII() } soumis au print level global de BaseArray
|
---|
| 117 | (demande JEC)
|
---|
| 118 | \end{itemize}
|
---|
| 119 |
|
---|
| 120 | \titre{FitsIOServer}
|
---|
| 121 | \begin{itemize}
|
---|
[4041] | 122 | \item[\rond] Octobre 2011: FitsABTColRd + FitsABTWriter:
|
---|
| 123 | Suppression du code de lecture bufferis\'ee (cfistio le fait aussi bien sans complication de code - test\'e!).
|
---|
| 124 | Ajout lecture/\'ecriture des bintables dont les \'el\'ements sont des vecteurs de nombres.
|
---|
| 125 | Ajout lecture/\'ecriture de bintable de complexes et de cha\^{i}nes de caract\`eres.
|
---|
[4039] | 126 | \end{itemize}
|
---|
| 127 |
|
---|
| 128 | \titre{SysTools}
|
---|
| 129 | \begin{itemize}
|
---|
| 130 | \item[\rond] Septembre 2011: Corrections dans commander.cc des bugs de {\bf forinfile} et dans la gestion des
|
---|
| 131 | boucles imbriques (bugs trouvs par JEC en Mai 2011). Diffrentiation instruction break et breakall, pour
|
---|
| 132 | sortir de la boucle courante ou de toutes les boucles. Reste modifier la gestion des instructions {\bf if}
|
---|
| 133 | pour des tests multiples avec et/ou.
|
---|
| 134 | \end{itemize}
|
---|
| 135 |
|
---|
| 136 |
|
---|
| 137 |
|
---|
| 138 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 139 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
[4040] | 140 | \groupe{De V2.1 (Dec2007) V2.2 (Sep2010) }
|
---|
[3580] | 141 | \titre{Global}
|
---|
| 142 | \begin{itemize}
|
---|
| 143 | \item[\rond] Fev 2009 : Changement de {\tt char *} en {\tt const char *} dans le code pour
|
---|
| 144 | viter les message {\it deprecated} du compilateur lors de l'utilisation de chane de caractre constante.
|
---|
| 145 | \end{itemize}
|
---|
| 146 |
|
---|
[3754] | 147 | \titre{BuildMgr}
|
---|
| 148 | \begin{itemize}
|
---|
[3856] | 149 | \item[\rond] Juillet/Aout 2010 : Ajout des options et arguments suivants au script configure
|
---|
| 150 | \begin{verbatim}
|
---|
| 151 | -arch32 de compilation en 32 bits pour linux
|
---|
| 152 | -followlink pour suivi des liens symboliques lors des recherches
|
---|
| 153 | de fichiers par find. Pas de suivi des liens par defaut
|
---|
| 154 | -epip pour chemin de librairies et include file PI (Motif ...)
|
---|
| 155 | -wgrdl activation compil et link piapp avec GNU-readline
|
---|
| 156 | \end{verbatim}
|
---|
| 157 | {\tt -arch32} de compilation en 32 bits pour linux
|
---|
[3754] | 158 | \item[\rond] Mars 2010 : Ajout de l'option {\tt -ldble128} dans le script configure pour la gestion conditionnelle
|
---|
| 159 | du flag compilation {\bf SO\_LDBLE128 } dans machdefs.h. Ce flag active la dclaration des nombres en
|
---|
| 160 | virgule flottant 128 bits ({\tt r\_16}).
|
---|
| 161 | \end{itemize}
|
---|
| 162 |
|
---|
[3536] | 163 | \titre{BaseTools}
|
---|
| 164 | \begin{itemize}
|
---|
[3754] | 165 | \item[\rond] Mars 2010 : Prise en charge de float 128 bits ({\tt r\_16}) et
|
---|
| 166 | {\tt complex$<$ r\_16 $>$} dans les NDataBlock et PPersist.
|
---|
| 167 | Compilation conditionnelle contrle par le flag {\bf SO\_LDBLE128 }
|
---|
[3614] | 168 | \item[\rond] Avril 2009 : Introduction de la classe RandomGeneratorInterface, DR48RandGen, ThSDR48RandGen
|
---|
| 169 | et FMTRandGen - La classe ThSDR48RandGen RandomGenerator
|
---|
[3723] | 170 | \item[\rond] Mars 2009 : Les exceptions sophya (PExceptions ...) hritent de de std::exception (methode what())
|
---|
[3536] | 171 | \item[\rond] Oct 2008 : Suppression des flags {\tt OS\_xxx (OS\_MACOSX OS\_LINUX OS\_AIX ...) }
|
---|
| 172 | de machdefs\_mkmf.h et ajout constructeur MuTyV(uint\_4, uint\_8)
|
---|
| 173 | \end{itemize}
|
---|
| 174 |
|
---|
[3494] | 175 | \titre{TArray}
|
---|
| 176 | \begin{itemize}
|
---|
[3817] | 177 | \item[\rond] Juillet 2010 : Introduction des classes de matrices carres spciales (SSQM : Special Square Matrix).
|
---|
| 178 | Suppression de la classe {\bf TriangularMatrix$<$T$>$} et du fichier {\tt triangmtx.h }.
|
---|
| 179 | Voir ci-dessous pour plus d'information.
|
---|
| 180 |
|
---|
[3754] | 181 | \item[\rond] Mars 2010 : Prise en charge de float 128 bits ({\tt r\_16}) et
|
---|
| 182 | {\tt complex$<$ r\_16 $>$} dans les TArray, TMatrix et TVector.
|
---|
| 183 | Compilation conditionnelle contrle par le flag {\bf SO\_LDBLE128 }
|
---|
| 184 |
|
---|
[3580] | 185 | \item[\rond] Fev 2009 : Correction du bug de SetTemp() intempestive provoquant sur-criture de
|
---|
| 186 | tableaux lors d'opration avec des SubArray.
|
---|
[3494] | 187 | \item[\rond] Jan 2008 : Correction bug de protection dans TArray::Resize() \\
|
---|
| 188 | (lors de resize avec ndim=BASEARRAY\_MAXNDIMS = 5)
|
---|
| 189 | \end{itemize}
|
---|
| 190 |
|
---|
[3817] | 191 | \soustitre{SSQM: Special Square Matrix}
|
---|
| 192 | Classes de matrices carrees speciales avec la hirarchie dcrite ci-dessous. Ces classes ont t dveloppes au
|
---|
| 193 | printemps 2009 et introduites dans SOPHYA l't 2010.
|
---|
| 194 | \begin{verbatim}
|
---|
| 195 | AnyDataObj -- SpecialSquareMatrix<T> -- DiagonalMatrix<T>
|
---|
| 196 | -- LowerTriangularMatrix<T>
|
---|
| 197 | -- SymmetricMatrix<T>
|
---|
| 198 | + classe gestionnaire PPF FIO_SpecialSquareMatrix<T>
|
---|
| 199 | \end{verbatim}
|
---|
| 200 |
|
---|
| 201 | Fichiers ajouts dans TArray/ : \\
|
---|
| 202 | {\tt spesqmtx.h spesqmtx\_tsnl.h diagmtx.h trngmtx.h symmtx.h fiospsqmtx.h} \\
|
---|
| 203 | {\tt spesqmtx.cc fiospsqmtx.cc } \\
|
---|
| 204 | Fichier {\tt triangmtx.h } a t supprim (classe {\bf TriangularMatrix$<$T$>$ }
|
---|
| 205 | remplace par {\bf LowerTriangularMatrix$<$T$>$} . \\
|
---|
| 206 | Programme test {\tt tssqmx.cc} ajout dans le module Tests/.
|
---|
| 207 | Pour vrifier le code, faire : \\
|
---|
| 208 | {\tt csh> tssqmx d ( tssqmx t , s ) } \\[1mm]
|
---|
| 209 | Pour ajouter d'autres classes de matrices carres:
|
---|
| 210 | \begin{enumerate}
|
---|
| 211 | \item Dclarer si besoin le type ds enum SpSqMtxType (fichier spesqmtx.h)
|
---|
| 212 | \item Recopier diagmtx.h en mtxnouvcarre.h (enfin, le nouveau nom de fichier/classe)
|
---|
| 213 | \item changer le nom de la classe ds mtxnouvcarre.h
|
---|
| 214 | \item Repasser travers les mthodes et constructeurs en particulier SetSize() et les
|
---|
| 215 | accs aux lments
|
---|
| 216 | \item Modifier ou simplement supprimer les mthodes (et oprateurs) de multiplication de matrices
|
---|
| 217 | \item Dans le fichier fiospsqmtx.cc, prvoir le dynamic\_cast / new $<$MatriceCarre$>$ dans :
|
---|
| 218 | \hspace{5mm} FIO\_SpecialSquareMatrix(const SpecialSquareMatrix$<$T$>$ \& obj) \\
|
---|
| 219 | \hspace{5mm} FIO\_SpecialSquareMatrix$<$T$>$::ReadSelf(PInPersist\& is)
|
---|
| 220 | \end{enumerate}
|
---|
| 221 |
|
---|
| 222 |
|
---|
[3513] | 223 | \titre{SkyMap/Samba}
|
---|
[3509] | 224 | \begin{itemize}
|
---|
[3817] | 225 | \item[\rond] Juillet 2010 : Adaptation la nouvelle classe {\bf LowerTriangularMatrix$<$T$>$}
|
---|
[3548] | 226 | \item[\rond] Sep 2008 : Nettoyage cosmetique ds lambdaBuilder.h .cc - {\bf A FAIRE :} rendre
|
---|
[3536] | 227 | LambdaLMBuilder thread-safe.
|
---|
[3513] | 228 | \item[\rond] Aout 2008 {\bf (Samba)}: Nettoyage cosmetique ds alm.h .cc, utilisation de la
|
---|
| 229 | classe RandomGenerator par la classe Alm$<$T$>$. Possibilite de specifier un objet
|
---|
| 230 | RandomGenerator au constructeur de la classe SphericalTransformServer. Adaptation
|
---|
| 231 | programme PrgMap/cl2map.cc.
|
---|
| 232 | \item[\rond] Aout 2008 {\bf (SkyMap)} : modifs/correction ds la classe SphereECP$<$T$>$.
|
---|
[3509] | 233 | Ajout m\'ethode \\
|
---|
| 234 | {\tt SphereECP<T>::ExtractPartial() } \hspace{5mm} et correction calcul phi ds \\
|
---|
| 235 | {\tt SphereECP<T>::PixThetaPhi() } et modif programme Tests/tsphereecp.cc
|
---|
| 236 | \end{itemize}
|
---|
| 237 |
|
---|
[3536] | 238 | \titre{NTools}
|
---|
| 239 | \begin{itemize}
|
---|
[3856] | 240 | \item[rond] Aout 2010 : Ajout de la classe d'interpolation lineaire {\bf SLinInterp1D} et programme
|
---|
| 241 | test Tests/tstinterp.cc
|
---|
[3536] | 242 | \item[\rond] Oct 2008 : Instanciation explicite des classes
|
---|
| 243 | \tcls{Image} et \tcls{ArrayFitter} pour T=uint\_4, uint\_8
|
---|
| 244 | \end{itemize}
|
---|
| 245 |
|
---|
[3580] | 246 | \titre{SysTools}
|
---|
| 247 | \begin{itemize}
|
---|
[3723] | 248 | \item[\rond] Dec 2009: Introduction des classes {\bf ParallelTaskInterface, ParallelTaskFunction}
|
---|
| 249 | et {\bf ParalExThread, ParallelExecutor} afin de faciliter l'criture de code avec excution de
|
---|
[3817] | 250 | fonctions en parallle dans des threads. \\
|
---|
| 251 | Voir les fichier {\tt SysTools/parlex.h .cc} et {\tt Tests/tparlex.cc}.
|
---|
[3580] | 252 | \item[\rond] Fev 2009 : Amlioration conversion double->string pour viter la perte de
|
---|
| 253 | prcision lors des valuations avec les variables de l'interprteur (commander.cc).
|
---|
| 254 | \item[\rond] Fev 2009 : Amlioration de la classe {\bf Timer}, prcision time-elapsed
|
---|
[3817] | 255 | par utilisation de \\
|
---|
| 256 | {\tt gettimeofday(...)} au lieu de {\tt time()}, \\
|
---|
[3580] | 257 | amlioration calcul temps cpu pour jobs tres long (lorsque TCPU dpasse le maximum $2^{32}$.
|
---|
| 258 | \end{itemize}
|
---|
| 259 |
|
---|
[3459] | 260 | \titre{FitsIOServer}
|
---|
| 261 | \begin{itemize}
|
---|
[3494] | 262 | \item[\rond] Avril 2008 : Ajout m\'ethodes de lecture/criture tableaux avec offset: \\
|
---|
| 263 | {\tt FitsArrayHandler::ReadAtOffset() , WriteAtOffset() } \\
|
---|
| 264 | $\longrightarrow$ Possibilit de lecture/criture de tableaux par morceaux
|
---|
| 265 | de HDU IMAGE
|
---|
[3459] | 266 | \item[\rond] Jan 2008 : Ajout {\tt FitsInOutFile::SetBScaleBZero(...)} et type LONGLONG
|
---|
| 267 | pour HDU\_Image. Enregistrement conditionnel handler TArray$<$int\_8$>$.
|
---|
| 268 | \end{itemize}
|
---|
| 269 |
|
---|
| 270 | \titre{PI/piapp}
|
---|
[3735] | 271 | {\bf IMPORTANT }\\
|
---|
| 272 | {\bf A1} Reste a faire : debug / prise en charge des images avec tables de couleurs de plus de
|
---|
| 273 | 256 entrees dans fichier postscript. \\
|
---|
| 274 | {\bf A2} Utiliser la classe PICMapDrawer dans le widget PICMapView et ajouter la possibilit d'afficher une table
|
---|
| 275 | de couleur dans PIScDrawWdg.
|
---|
[3459] | 276 | \begin{itemize}
|
---|
[3735] | 277 | \item[\rond] Introduction de la classe classe {\bf PICMapDrawer} et ajout de la possibilit d'afficher
|
---|
| 278 | la table de couleur dans la fentre principale PIImage. L'attribut graphique {\tt showcmap} contrle
|
---|
| 279 | l'affichage de la table. \\
|
---|
[3738] | 280 | {\tt showcmap , showcmap=no , showcmap=top , \\
|
---|
| 281 | showcmap=no/top/right/bottom/left/horiz/vert }
|
---|
[3723] | 282 | \item[\rond] Dec 2009: Ajout des options d'affichage : \\
|
---|
| 283 | {\tt cdreal cdimag cdphase cdmod (=defaut) cdmod2 } \\
|
---|
| 284 | pour les tableaux 2D en mode image ou surface. Fichiers modifis:
|
---|
| 285 | nomtarradapter.cc , nomtmatvecadapter.cc , pitvmaad.cc , pitvmaad.h.
|
---|
[3580] | 286 | \item[\rond] Ajout de gestionnaire d'venements VisibilityChange ds pixtbase.cc pour grer les
|
---|
| 287 | problmes de fentre PIBaseWdg non rafrachie - suppression de {\tt XFlush()/usleep() }mis
|
---|
| 288 | dans piwindowx.cc en Aout 2007
|
---|
[3564] | 289 | \item[\rond] Jan 2009 {\bf PI , PIext} Extension de la logique AutoFontSize (choix automatique de
|
---|
| 290 | la taille de fonte comme fraction de la taille du widget a tous les PIDrawer. Valeur globale par defaut
|
---|
| 291 | en variable et mthode statique de PIDrawer (=0.04). Changement possible par variable d'environnement
|
---|
| 292 | {\bf PIDEFAFSZFRAC} et la commande piapp {\bf setdefafsz }.
|
---|
[3548] | 293 | \item[\rond] Nov 2008 {\bf PIext} Ajout commande {\bf pirgbdisp} - Lecture et affichage d'image RGB
|
---|
| 294 | (objet PIPixRGBArray)
|
---|
| 295 | \item[\rond] Nov 2008 {\bf PI} Optimisation classe LUT, introduction typeExp
|
---|
[3536] | 296 | \item[\rond] Oct 2008 {\bf PIext} : Instanciation explicite et enregistrement des adaptateurs NObjMgrAdapter pour TArray, et TMatrix/TVector $<$T$>$ pour T=uint\_4, uint\_8
|
---|
[3548] | 297 | \item[\rond] Sep-Nov 2008 {\bf PI} : Modifs importantes pour permettre la visalisation des images
|
---|
[3536] | 298 | ou photos couleurs (RGB) ds piapp :
|
---|
| 299 | \begin{enumerate}
|
---|
| 300 | \item Introduction des classes auxiliaires PIPixColIdx , PIPixRGB , PIPixRGBArray
|
---|
[3548] | 301 | (nouveau fichier pipixutils.cc .h) pour support de tables de couleurs avec $>$ 256 couleurs.
|
---|
| 302 | \item Ajout de tables de couleurs RGB (RGB216CM , RGB512CM, RGB4096CM, RGB32768CM)
|
---|
[3536] | 303 | pour representation d'images/photos couleurs RGB
|
---|
| 304 | \item Extension et modification de la classe P2DArrayAdapter, introduction de la methode
|
---|
| 305 | P2DArrayAdapter::MeanVal()
|
---|
| 306 | \item Modif de la classe LUT pour introduction typeRGB et methode LUT::ApplyRGB()
|
---|
| 307 | \end{enumerate}
|
---|
[3481] | 308 | \item[\rond] Avril 2008 {\bf (PI)}: Ajout d\'ecodage options sens des axes X,Y PiScDrawWdg. \\
|
---|
| 309 | {\tt revax = axerl } (kAxeDirRtoL) \hspace{5mm} {\tt axelr} (kAxeDirLtoR) \\
|
---|
| 310 | {\tt revay = axeud} (kAxeDirUpDown) \hspace{5mm} {\tt axedu} ((kAxeDirDownUp)
|
---|
[3459] | 311 | \item[\rond] Fevrier 2008 {\bf (PI)}: Nouvelle m\'ethode de calcul de limite de LUT\\
|
---|
| 312 | On garde les $frackeep$ valeurs centrales des pixels, cad on vire les $(1-frackeep)/2$
|
---|
| 313 | valeurs les plus petites et les $(1-frackeep)/2$ valeurs les plus grandes.
|
---|
| 314 | \begin{verbatim}
|
---|
| 315 | autolut=hisrng,frackeep,min,max
|
---|
| 316 | \end{verbatim}
|
---|
[3481] | 317 | \item[\rond] Janvier 2008 {\bf (ProgPI)} Ajout de l'option {\tt -nobsz} la commande {\bf readfits}
|
---|
| 318 | et ajout de la commande de lecture array from fits : {\bf rdfitsarr}
|
---|
[3459] | 319 | \end{itemize}
|
---|
| 320 |
|
---|
[3402] | 321 | \groupe{De V2.0 (Sep2006) V2.1 (Nov2007) }
|
---|
[3229] | 322 | \titre{BuildMgr}
|
---|
[2905] | 323 | \begin{itemize}
|
---|
[3402] | 324 | \item[\rond] Nov 2007 : configure detecte Linux 64 bits {(\tt -> /usr/X11R6/lib64)}
|
---|
| 325 | et correction bug lors de l'execution de sed pour la creation de sophyamake.inc
|
---|
| 326 | {\tt AIX, -X 64 }.
|
---|
[3373] | 327 | \item[\rond] Oct 2007 : Ajout flag {\tt -alsofftwfloat} au script pour compilation/link
|
---|
| 328 | methodes float (r\_4) de FFTWServer.
|
---|
[3229] | 329 | \item[\rond] Avril 2007 : Amlioration du script configure, qui prend en charge
|
---|
| 330 | la gestion des diffrents flags de compilation (mis dans fichier machdefs.h gnr
|
---|
| 331 | ou dans sophyamake.inc (pour les flags du compilateur) - Nettoyage du fichier
|
---|
| 332 | BaseTools/machdefs\_mkmf.h et des fichiers osname\_compilo.inc
|
---|
| 333 | \begin{verbatim}
|
---|
| 334 | csh> cd BuildMgr/
|
---|
| 335 | csh> ./configure -h
|
---|
| 336 | configure [-sbase SOPHYABASE] [-scxx SOPHYACXX] [-incln]
|
---|
| 337 | [-minc mymake.inc] [-compopt 'cc/cxxOptions']
|
---|
| 338 | [-arch64] [-sasz64] [-nofpic] [-nothsafe] [-boundcheck] [-sodebug]
|
---|
| 339 | [-extp dir1 -extp dir2 ...] [-extip dir1 -extip dir2 ... ]
|
---|
| 340 | [-extlp dir1 -extlp dir2 ... ]
|
---|
| 341 | [-noextlib] [-noext fits] [-noext fftw]
|
---|
| 342 | [-noext lapack] [-noext astro]
|
---|
| 343 | [-noPI] [-slballinone]
|
---|
| 344 | [-usefftw2 -uselapack2]
|
---|
| 345 | (See SOPHYA manual/web pages for a detailed description
|
---|
| 346 | of configure options)
|
---|
| 347 | \end{verbatim}
|
---|
| 348 | \end{itemize}
|
---|
| 349 |
|
---|
| 350 | %%%%%%
|
---|
| 351 | \titre{BaseTools}
|
---|
| 352 | \begin{itemize}
|
---|
[3402] | 353 | \item[\rond] Novembre 2007 : Ajout de la classe de gnrateur alatoire
|
---|
| 354 | thread-safe {\bf RandomGenerator } - fichiers {\tt stsrand.h .cc} -
|
---|
| 355 | Ajout du programme {\tt Tests/tmtrnd,3.cc }.\\
|
---|
| 356 | Correction , protection I/O PPF pour NDataBlock de taille nulle.
|
---|
[3301] | 357 | \item[\rond] Aout 2007 : Passage numro de version SOPHYA V=2.135
|
---|
| 358 | V=2.046 - Les numros V=A.B sont dsormais rservs aux versions
|
---|
| 359 | avec un tag cvs.
|
---|
| 360 | \item[\rond] Avril 2007 : {\bf ThreadSafe } \hspace{5mm}
|
---|
[3229] | 361 | Les oprations de partage de rfrence rendues thread-safe pour les classes
|
---|
| 362 | {\bf NDataBlock$<$T$>$ , SegDataBlock$<$T$>$, SwSegDataBlock$<$T$>$}
|
---|
| 363 | \begin{itemize}
|
---|
| 364 | \item Ajout de la classe {\bf ThSafeOp} avec les mthodes {\tt lock() , unlock() } utilisant
|
---|
| 365 | un mutex.
|
---|
| 366 | \item Ces mthodes peuvent tre rendues transparentes (sans effet) en activant le flag \\
|
---|
| 367 | {\tt SO\_NOTHSAFE} (option -nothsafe de configure)
|
---|
| 368 | \item Cette protection / synchronisation semble tre efficace en ce qui concerne les
|
---|
| 369 | constructeurs de copie et l'extraction de sous-tableaux pour TArray, TMatrix,TVector.
|
---|
| 370 | (programme de vrification Tests/zthr.cc - option sync ).
|
---|
| 371 | \item En ce qui concerne les classes SegDataBlock , SwSegDataBlock, l'efficacit
|
---|
| 372 | de la protection n'a pas t teste. Les oprations d'criture sur les DataTable
|
---|
| 373 | devront aussi tre protges pour l'utilisation multi-thread.
|
---|
| 374 | \end{itemize}
|
---|
| 375 | \item[\rond] Avril 2007 : Nettoyage du fichier machdefs\_mkmf.h, suppression des flags
|
---|
| 376 | de compilation optionnelle MacOS 8.x 9.x / compilo CodeWarrior
|
---|
| 377 | \item[\rond] Fev 2007 : Ajout methode NDataBlock::RenewObjId() , et Dealloc() (alias de Delete())
|
---|
| 378 | et correction bug ds SwSegDataBlock::GetCstSegment()
|
---|
| 379 | \end{itemize}
|
---|
| 380 |
|
---|
| 381 | %%%%%%
|
---|
| 382 | \titre{TArray}
|
---|
| 383 | \begin{itemize}
|
---|
[3373] | 384 | \item[\rond] Oct 07 : Mthode TArray::SumX2() renomme en SumSq(), Norm2() appelle SumSq() sauf pour les tableaux complexes, o on calcule une norme relle positive (Sum[el x conj(el)).
|
---|
[3229] | 385 | \item[\rond] Avr 07 : Constructeur de copie et extraction de sous-tableaux rendus thread-safe
|
---|
| 386 | (voir ci-dessus)
|
---|
| 387 | \item[\rond] Jan 07 : Ajout classes/methodes de cast de contenu - sans conversion (fichier arrctcast.h)
|
---|
| 388 | \item[\rond] Fev 07 : Ajout methode TArray::RenewObjId() (reecriture PPF), et ZeroSize()
|
---|
| 389 | (deallocation tableau / le rendre vierge=sans taille)
|
---|
| 390 | \end{itemize}
|
---|
| 391 |
|
---|
| 392 | %%%%%%
|
---|
| 393 | \titre{HiStats}
|
---|
| 394 |
|
---|
| 395 | \begin{itemize}
|
---|
[3402] | 396 | \item[\rond] Novembre 2007 : Les methodes de remplissage de NTuple {\tt Fill() }
|
---|
| 397 | et de DataTable, SwPPFDataTable {\tt AddRow() }, ainsi que
|
---|
| 398 | {\tt BaseDataTable::GetRow() } rendues thread-safe. \\
|
---|
| 399 | Activation avec la methode {\tt SetThreadSafe(bool fg=true) }
|
---|
| 400 | pour chaque NTuple ou DataTable / SwPPFDataTable. Ajout du programme Tests/tmtdt.cc.
|
---|
[3286] | 401 | \item[\rond] Janvier 2007 : Remaniement de la classe HistoErr: elle n'h\'erite plus
|
---|
| 402 | de Histo et devient stand-alone avec des TVector comme support des donne\'ees. \\
|
---|
| 403 | Introduction de la classe Histo2DErr qui fait la meme chose que HistoErr
|
---|
| 404 | mais \`a $2$ dimensions. \\
|
---|
| 405 | Modifs des adaptateurs: NOMAdapter\_Histo ne contient plus HistoErr,
|
---|
| 406 | et NOMAdapter\_HistoErr, NOMAdapter\_Histo2DErr sont cr\'ees dans PIext.
|
---|
| 407 |
|
---|
[3229] | 408 | \end{itemize}
|
---|
| 409 |
|
---|
| 410 | %%%%%%
|
---|
| 411 | \titre{SkyMap}
|
---|
| 412 |
|
---|
| 413 | \begin{itemize}
|
---|
[3301] | 414 | \item[\rond] Aou 2007 : Correction de signe dans {\tt LocalMap::PixToSphereC()} suite message de
|
---|
| 415 | S. Plaszczynski du 12/07/07
|
---|
[3229] | 416 | \item[\rond] Fev 2007 : Ajout methode RenewObjId() (reecriture PPF) pour les cartes spheriques
|
---|
| 417 | et localmap
|
---|
| 418 | \end{itemize}
|
---|
| 419 |
|
---|
| 420 | %%%%%%
|
---|
[3280] | 421 | \titre{SysTools}
|
---|
| 422 |
|
---|
| 423 | \begin{itemize}
|
---|
| 424 | \item[\rond] Jul 2007 : Ajout d'acces au temps CPU et elapsed ds la classe Timer - et
|
---|
| 425 | ajout test specifique dans Tests/tcmd.cc {\tt (tcmd timer)}. \\
|
---|
| 426 | {\tt Timer::TotalElapsedTime() , PartialElapsedTime() , TotalCPUTime() , PartialCPUTime() }
|
---|
| 427 | \end{itemize}
|
---|
| 428 |
|
---|
| 429 | %%%%%%
|
---|
[3229] | 430 | \titre{FitsIOServer}
|
---|
| 431 |
|
---|
| 432 | \begin{itemize}
|
---|
[3402] | 433 | \item[\rond] Nov 2007 : propagation des modifs BaseDataTable-Thread-safe dans
|
---|
| 434 | SwFitsDataTable. Mais les SwFitsDataTable NE sont toujours pas thread-safe.
|
---|
[3229] | 435 | \item[\rond] Jan/Fev 2007 : Passage a la version LONGLONG ( fits\_xxxll ) permettant
|
---|
| 436 | la gestion de tailles $ > 2^{32} $
|
---|
| 437 | \end{itemize}
|
---|
| 438 |
|
---|
[3373] | 439 | \titre{IFFTW}
|
---|
| 440 |
|
---|
| 441 | \begin{itemize}
|
---|
[3402] | 442 | \item[\rond] Nov 2007 : Correction resize tableau de sortie {\tt FFT(complexe -> reel)} multi-dim.
|
---|
[3373] | 443 | \item[\rond] Oct 2007 : Ajout version float (r\_4) des methodes {\tt FFTForward} et {\tt FFTBackward}
|
---|
| 444 | a la classe FFTWServer. (compilation sous condition et flag -alsofftwfloat du script configure)
|
---|
| 445 | \end{itemize}
|
---|
| 446 |
|
---|
[3229] | 447 | %%%%%%
|
---|
| 448 | \titre{PI/piapp}
|
---|
| 449 | \begin{itemize}
|
---|
[3457] | 450 | %%%
|
---|
[3438] | 451 | \item[\rond] Novembre 2007 {\bf PIext/ProgPI}: \\
|
---|
| 452 | - Ajout commande de trace d'ellipse d'erreur {\tt errorellipse} \\
|
---|
| 453 | - Axes en degres (0..360, -90..90) pour la projection molleweide et adaptation de la commande {\tt mollgrid}. Suppression de mollgridsph. \\
|
---|
| 454 | - Ajout fonctions tetphi2mollX/Y() et longlat2mollX/Y() ds les fichiers d'expressi
|
---|
| 455 | on ntuple generes par piapp pour trace sur projection de type molleweide. \\
|
---|
| 456 | - Ajout flag [-s] a openppf . openfits/savefits comme alias de readfits/writefits.
|
---|
| 457 | - Verification arret thread Reveil avant destruction de l'objet.
|
---|
[3373] | 458 | \item[\rond] Octobre 2007 {\bf (PI/PIext)}: Ajout methodes de redirection stdout/stderr vers un objet PIConsole,
|
---|
| 459 | a travers un fichier disque (fichiers PI/piapplx.h .cc) avec possibilite de recopie sur stdout/stderr
|
---|
| 460 | original (terminal) - en plus d'affichage sur PIConsole. \\
|
---|
| 461 | + Adaptation au niveau de PIext/pistdimgapp.h .cc et ProgPI/piapp.cc \\
|
---|
| 462 | + la redirection passe par les fichiers PIATmp\_xxx/sout.log /serr.log \\
|
---|
| 463 | + le flag (s)piapp -doublered permet la redirection avec recopie sur terminal
|
---|
| 464 | %%%
|
---|
| 465 | \item[\rond] Octobre 2007 {\bf (PIext)}: Correction/protection au niveau de gestion des locks de mutex
|
---|
| 466 | (classes NamedObjMgr , PIStdImgApp) pour eviter les blocages de l'application sous certaines
|
---|
[3402] | 467 | conditions ( lors de l'affichage de la fenetre de gestion d'objets et lecture PPF). \\
|
---|
[3373] | 468 | Modification des classes NamedObjMgr . ObjMgrWind, la methode
|
---|
[3402] | 469 | { \tt UpdateObjMgrWindow() } de NamedObjMgr en particulier. \\
|
---|
| 470 | Ajout de la classe {\bf SOpExObj} (ds piacmd.h piacmd.cc) pour executer
|
---|
| 471 | - de maniere asynchrone -
|
---|
| 472 | les commandes display,print \ldots sur les objets, initiees au niveau
|
---|
| 473 | de la boucle d'evenements (fenetre ObjMgrWind).
|
---|
[3373] | 474 | \item[\rond] Octobre 2007 {\bf (PIext)}: Ajout attributs graphiques \\
|
---|
| 475 | {\tt samew=WdgName } specification de widget cible pour trace en superposition \\
|
---|
| 476 | {\tt wname=Nom } Pour specifier un nom de widget (= nom d'objet par defaut) \\
|
---|
| 477 | {\tt inset=fx1,fx2,fy1,fy2 } pour specifier la position du drawer en inset (medaillon)
|
---|
| 478 | \item[\rond] Octobre 2007 {\bf (PIGcont/PIext)}: Codage mthode PIContourDrawer::GetOptionsHelpInfo() pour le traceur de contour. \\
|
---|
| 479 | Ajout accs aux attributs {\tt min max minmax sumsq norm2 } aux niveau des adaptateurs
|
---|
| 480 | des objets de type TArray, TMatrix, TVector ({\tt \$\{arrName.sumsq\} \$\{arrName.min\} } \ldots).
|
---|
[3301] | 481 | \item[\rond] Aout 2007 {\bf (PI)}: Nouvelles mthodes de calcul de limite de LUT
|
---|
| 482 | dans PIImage (AutoLut) et ajout du dcodage de l'option {\tt autolut=alt[,ns[,minp,maxp]]}.
|
---|
| 483 | Si {\tt minp,maxp} spcifis, seuls les pixels entre {\tt minp <= pixval <= maxp}
|
---|
| 484 | sont utiliss pour le calcul des limites.
|
---|
| 485 | \begin{verbatim}
|
---|
| 486 | autolut=minmax,frac Fraction de la dynamique totale
|
---|
| 487 | autolut=meansig,ns min=mean-ns*sigma , max=mean+ns*sigma
|
---|
| 488 | autolut=histail,ns Queue de l'histo des pixels
|
---|
| 489 | autolut=hispeak,ns Pic de l'histo des pixels
|
---|
| 490 | \end{verbatim}
|
---|
| 491 | %
|
---|
| 492 | \item[\rond] Aout 2007 {\bf (PI)}: Contournement d'un problme d'venements X expose
|
---|
| 493 | perdu - apparu avec des versions rcentes du serveur XFree ou le serveur X sur Linux
|
---|
| 494 | ou une combinaison des deux. Rsultat, contenu non affich lors d'une cration de fentre
|
---|
| 495 | suivi d'un ajout de PIBaseWidget (sauf PIImage) et plantage lors du click dans la fentre.
|
---|
| 496 | Correction: Ajout de {\tt XFlush() + usleep(5000)} (5 $\mu$s).
|
---|
[3270] | 497 | \item[\rond] Juin 2007 {\bf (PI/PIext)}: Ajout des mthodes
|
---|
| 498 | {\tt PIGraphicAtt::ColNameToColor() , ColIndexToColor()} et possibilit d'utiliser le contenu
|
---|
| 499 | d'une colonne d'une table comme nom de couleur ou numro de couleur pour le trac
|
---|
| 500 | des markers par PINTuple {\tt PINTuple::SelectColorByName() , SelectColorByIndex()}.
|
---|
[3280] | 501 | Ajout des commandes {\bf nt2dcn} et {\bf nt2dci} et {\bf plot2dc} ds piapp.
|
---|
[3229] | 502 | \item[\rond] Avril 2007 {\bf (PI)}: La source des problmes sur MacOS/PowerPC (G4/G5)
|
---|
| 503 | et AIX (architecture Power) a finalement t identifi et corrig/
|
---|
| 504 | Parmi ces problmes: des pull-down menus mal placs (MenuBar), ou encore des
|
---|
| 505 | dysfonctionnement de boutons dans les fentres de dialogues. \\
|
---|
| 506 | Source et correction: \hspace{5mm} {\tt XtMoveWidget / XtResizeWidget} remplac par \\
|
---|
| 507 | \hspace*{10mm} {\tt XtMakeGeometryRequest}
|
---|
| 508 | \item[\rond] Avril 2007 {\bf (PIext/piapp)}:
|
---|
| 509 | \begin{itemize}
|
---|
| 510 | \item Ajout de la classe {\bf NOMAdapter\_DVList}
|
---|
| 511 | pour la prise en charge des objets DVList.
|
---|
| 512 | Accs aux variables par {\tt \$\{dvlName.varName\} }
|
---|
[3438] | 513 | \item Accs l'objet DVList attach aux TArray, TMatrix, DataTable et NTuple par \\
|
---|
[3229] | 514 | \hspace*{5mm} {\tt \$\{objName.info.varName\} }
|
---|
| 515 | \item L'adaptateur de DataTable permet aussi d'accder aux lignes de la table par \\
|
---|
| 516 | \hspace*{5mm} {\tt \$\{tableName.row.num\} }
|
---|
| 517 | \item Prise en charge de la classe {\tt Image<T>} par l'adaptateur des matrices
|
---|
| 518 | {\tt NOMAdapter\_TMatrix<T> } au lieu de l'adaptateur spcifique
|
---|
| 519 | {\tt NOMAdapter\_Image<T> }
|
---|
| 520 | \end{itemize}
|
---|
[3301] | 521 | \item[ \rond] Janvier 2007 {\bf (PIext)}: modification des trac\'es des histogrammes PIHisto.
|
---|
[3229] | 522 | La classe PIHisto prend en entr\'ee un wrapper P1DHistoWrapper.
|
---|
| 523 | Les wrappers HistoWrapper et HistoErrWrapper sont cr\'ees.
|
---|
| 524 | Ainsi les HistoErr peuvent \^etre dessin\'es sous forme d'histogrammes.
|
---|
| 525 | Mise en place des options graphiques permettant de dessiner les
|
---|
| 526 | valeurs (``val''), erreurs (``err'') et le nombre d'entr\'ees par bin (``nb'')
|
---|
| 527 | pour les HistoErr. Idem pour les versions $2$ dimensions.
|
---|
| 528 | \end{itemize}
|
---|
| 529 |
|
---|
| 530 | %%%%%%%%
|
---|
| 531 | \titre{Documentation (Manual/) }
|
---|
| 532 | \begin{itemize}
|
---|
| 533 | \item[\rond] Jan 2007 : Ajout fichier de mesure de performances comparees entre
|
---|
| 534 | differentes processeur / OS / compilateur {\tt perfmachine.txt }
|
---|
| 535 | \end{itemize}
|
---|
| 536 |
|
---|
| 537 |
|
---|
| 538 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 539 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
[3301] | 540 | \groupe{De V1.7 (Sep2003) V2.0 (Sep2006) }
|
---|
[3229] | 541 | \titre{BuildMgr}
|
---|
| 542 | \begin{itemize}
|
---|
[2971] | 543 | \item[\rond] Juin 2006 : Ajout targets cleanobj prgall tests prgutil
|
---|
| 544 | \item[\rond] Avril 2006 : suppression de libextsophya.so pour fabriquer libPI.so
|
---|
| 545 | (PIext rendu independant de FitsIOServer)
|
---|
| 546 | \item[\rond] Dec 2005/Jan 2006 : Portage sur AIX - xlC
|
---|
[2905] | 547 | \item[\rond] Dec 2005 : check Compil avec icc , compil avec gcc-4
|
---|
| 548 | \item[\rond] Avril-Mai 2005 : Introduction de la nouvelle version de
|
---|
[2829] | 549 | scripts de gestion du code - avec un script principal configure. \\
|
---|
| 550 | Variable d'environnement {\bf SOPHYABASE } - \\
|
---|
| 551 | Pour les makefiles, l'ensemble des dfinitions se trouve dans : \\
|
---|
| 552 | SOPHYABASE/include/sophyamake.ic \\
|
---|
[2905] | 553 | \end{itemize}
|
---|
[3176] | 554 |
|
---|
[3229] | 555 | %%%%%%
|
---|
| 556 | \titre{BaseTools}
|
---|
[3176] | 557 |
|
---|
[3229] | 558 | \soustitre{Modifs}
|
---|
[3176] | 559 |
|
---|
[2829] | 560 | \begin{itemize}
|
---|
[3050] | 561 | \item[\rond] Jun/Jul 2006 : Amelioration gestion initialiseur modules \\
|
---|
| 562 | - Ajout methodes statique {\tt RegisterModule(const char* name, double version)
|
---|
| 563 | ListModules(ostream\& os) } a la classe de base SophyaInitiator. \\
|
---|
| 564 | - Enregistrement des modules avec leur nom et un numero de version par module,
|
---|
| 565 | independante du numero de version SOPHYA \\
|
---|
| 566 | - le programme scanppf peut donner la liste des modules enregistrees et leur numero
|
---|
| 567 | de version.
|
---|
[2835] | 568 | \item[\rond] Octobre-Novembre 2005 : \\
|
---|
[2829] | 569 | 1/ Correction bug TimeStamp::ToDays() + petites amelioration \\
|
---|
| 570 | 2/ Prise en compte du type TimeStamp dans MuTyV (sous forme de double en interne) \\
|
---|
| 571 | 3/ Adaptation DVList a modifs MuTyV (typ TimeStamp) et R/W PPersist \\
|
---|
[2911] | 572 | 4/ Gestion format YYYY-MM-DDThh:mm:ss par TimeStamp \\
|
---|
[2835] | 573 | 5/ Gestionnaire PPersist pour TimeStamp
|
---|
[2829] | 574 | %
|
---|
| 575 | \item[\rond] Septembre 2004 - {\bf Namespace SOPHYA } \\
|
---|
[2632] | 576 | Suppression de {\tt using namespace SOPHYA ; } ds machdefs.h -
|
---|
| 577 | Ajout fichier {\tt \#include "sopnamsp.h"} dans les .cc de SOPHYA,
|
---|
| 578 | ainsi que lors de la gnration automatique du code (runxx, c++exec)
|
---|
[2829] | 579 | \end{itemize}
|
---|
[2632] | 580 |
|
---|
[3229] | 581 | \soustitre{PPF}
|
---|
[2632] | 582 | \begin{itemize}
|
---|
[3229] | 583 | \item[\rond] Avril 2005 - Ajout de wrapper de lecture/ecriture PPF pour les vecteurs de
|
---|
| 584 | la librairie standard (classe PPFWrapperSTLVector$<$T$>$ ) fichier ppfwrapstlv.h
|
---|
| 585 | \item[\rond] Ajout de la classes utilitaire PPF\_TPointer\_IO$<$T$>$
|
---|
| 586 | (fichiers ppftpointer.h .cc)
|
---|
| 587 | \item[\rond] Amelioration de l'impression ds AnalyseTags (ppfbinstream.cc)
|
---|
| 588 | \item[\rond] scanppf.cc revision 1.8 (2005/04/05)
|
---|
| 589 | modification programme scanppf: ajout option -lh -lho pour lister les classes PP
|
---|
| 590 | ersist handler
|
---|
[2716] | 591 | \item[\rond] Dcembre 2003 (9/12/2003) Fin de l'ensemble des modifs pour les
|
---|
[2632] | 592 | PPF V3 \\
|
---|
| 593 | - Ecriture nombre complexes r4, r8 avec tag spcifique. \\
|
---|
| 594 | Tag de positionnement sous forme de \\
|
---|
| 595 | \centerline{\tt <tag (1 byte)><FilePosition (8 byte, long int)> } \\
|
---|
| 596 | - Ecriture PosTagTable \\
|
---|
| 597 | - Ecriture Statistiques en fin de fichier \\
|
---|
| 598 | - Voir BaseTools/ppfbinstream.h: \\
|
---|
| 599 | \centerline{\tt GotoPositionTag(int\_8 pos) , }
|
---|
| 600 | \centerline{\tt GetPosTagTable(...) }
|
---|
| 601 | \centerline{\tt int\_8 WritePositionTag() PutPosTagTable(...) }
|
---|
| 602 | - Ajout programme de test Tests/ppftswap.cc
|
---|
[3229] | 603 | \item[\rond] Dcembre 2003 - Ajout ppfbinstream.h .cc \\
|
---|
| 604 | Classes PPFBinaryIOStream , PPFBinaryInputStream , PPFBinaryOutputStream
|
---|
| 605 | \item[\rond] Novembre 2003 (21/11/2003) - Ajout rawstream.h .cc \\
|
---|
| 606 | Classes RawInOutStream , RawInFileStream , RawOutFileStream
|
---|
[2716] | 607 |
|
---|
[2632] | 608 | \end{itemize}
|
---|
| 609 |
|
---|
[2716] | 610 |
|
---|
[3229] | 611 | \soustitre{Nouvelles classes}
|
---|
[2717] | 612 | \begin{itemize}
|
---|
| 613 | \item[\rond] Ajout de la classe {\bf TimeStamp} pour la manipulation de date et heure -
|
---|
[3301] | 614 | calcul de duree. - Ajout du prog. test Tests/ttimestamp.cc (Mars 2005)
|
---|
[2717] | 615 | \item[\rond] { \bf Segmented Data Block :} \\
|
---|
[2716] | 616 | Mars-Avril 2005: Introduction des classes similaires aux NDataBlock, mais permettant
|
---|
| 617 | de gerer des blocs de donnees segementes, pour tout type de donnees, de structures
|
---|
[2717] | 618 | et de classes (template pour tout type T).
|
---|
| 619 | \begin{enumerate}
|
---|
| 620 | \item Ajout de la classe {\tt SegDataBlock<T>} (et l'interface { \tt SegDBInterface<T>} )
|
---|
[2716] | 621 | pour la gestion de blocs de donnees segmentes (segdatablock.h) et son
|
---|
[2717] | 622 | gestionnaire PPF {\tt FIO\_SegDataBlock<T>} (fichier fiosegdb.h )
|
---|
| 623 | \item Ajout de la classe {\tt SwSegDataBlock<T>} (Data bloc segmente avec gestion
|
---|
| 624 | de swap) et la classe swapper PPF {\tt PPFDataSwapper<T>} (fichiers
|
---|
[2716] | 625 | ppfswapper.h et swsegdb.h)
|
---|
[2717] | 626 | \item Ajout programme de test Tests/tstsegdb.cc
|
---|
| 627 | \end{enumerate}
|
---|
| 628 | \end{itemize}
|
---|
[2716] | 629 |
|
---|
[3229] | 630 | %%%%%
|
---|
| 631 | \titre{TArray}
|
---|
| 632 | %%
|
---|
[2942] | 633 | Il s'agit essentiellement des ameliorations en terme de performances et
|
---|
| 634 | de correction d'erreur.
|
---|
| 635 |
|
---|
[2632] | 636 | \begin{itemize}
|
---|
[2942] | 637 | \item[\rond] Avril 2006 \\
|
---|
| 638 | - Instanciation explicite des tableaux , matrices et vecteurs en types \\
|
---|
| 639 | {\tt int\_2 uint\_2 uint\_4 uint\_8 } \\
|
---|
| 640 | - Optimisation du code (ds tarray.cc) des operations sur tableaux \\
|
---|
| 641 | {\tt (TArray::Add/Mul/Sub/DivCst TArray::Add/Mul/Sub/DivElt ) } \\
|
---|
| 642 | a travers le choix entre Share() ou Allocation si le tableau resultat est non alloue.
|
---|
| 643 | D'apres les tests de performances (TCPU), {\bf (tjet , spar)}, il ne semble pas y
|
---|
| 644 | avoir de cas de pertes, et on a en general des gains de l'ordre de 20\% dans la plupart
|
---|
| 645 | des cas de tests, et un ou deux cas avec des gains de 50-80\%. \\
|
---|
| 646 | - Declaration de l'operateur / entre tableaux (DivElt) et l'operateur \& \& pour la
|
---|
| 647 | multiplication element par element (MulElt)
|
---|
[2919] | 648 | \item[\rond] Janvier, Fvrier 2006 \\
|
---|
| 649 | - Amlioration des fonctionalits de la classe {\bf Range} et des mthodes d'extraction
|
---|
| 650 | de sous-tableaux (+ correction bugs et amlioration documentation) \\
|
---|
[2911] | 651 | - Ajout de la methode BaseArray::ValueAtPositionDB() pour corriger un gros bug au
|
---|
| 652 | niveau de la conversion de type (r\_4 r\_8 ...) des tableaux \\
|
---|
| 653 | - Compil avec g++ 4 : ajouts fichiers declarations privees tmatrix\_tsnl.h tvector\_tsnl.h
|
---|
| 654 |
|
---|
[2971] | 655 | \item[\rond] Juillet 2004 \\
|
---|
| 656 | - Optimisation de la multiplication matricielle (CMV) - Extrait du
|
---|
[2716] | 657 | message (from CMV) du 30 Juillet 2004: \\
|
---|
[2632] | 658 | \begin{verbatim}
|
---|
| 659 | - on definit un flag d'optimisation
|
---|
| 660 | Contrairement a ce qu'on avait dit, je n'ai pas ajoute
|
---|
| 661 | un argument a Multiply car on ne peut pas jouer
|
---|
| 662 | avec qiand on utilise l'operateur * surcharge.
|
---|
| 663 | Or au vu des performance il'ma parut interessant que l'utilisateur
|
---|
| 664 | meme lambda puisse choisir le niveau d'optimisation
|
---|
| 665 | --> donc j'ai ajoute une methode statis dans BaseArray::
|
---|
| 666 | void BaseArray::SetMatProdOpt(uint_2);
|
---|
| 667 | uint_2 BaseArray::GetMatProdOpt();
|
---|
| 668 |
|
---|
| 669 | - Je n'ai refait les test de rapidite que sur OSF:
|
---|
| 670 |
|
---|
| 671 | 1./ pour les matrices 1000x1000 (grosses)
|
---|
| 672 | on arrive effectivement au meme temps pour les 4 cas
|
---|
| 673 | si on copie dans le cas lent (FxC)
|
---|
| 674 | ---EndMultiply FxC CPUTime: Total= 93.1296 (Partial= 69.3806) Sec.
|
---|
| 675 | devient
|
---|
| 676 | ---EndMultiply FxC CPUTime: Total= 34.9653 (Partial= 11.1829) Sec.
|
---|
| 677 | exactement comme les copains:
|
---|
| 678 | La copie prend de la place mais ne prend absolument
|
---|
| 679 | pas de temps pour les grosses matrices
|
---|
| 680 |
|
---|
| 681 | 2./ pour les matrices 10x10 (1000000 multiplications par cas)
|
---|
| 682 | on a bien ce que l'on attend a savoir que
|
---|
| 683 | la copie faites 100000 fois finie par nous faire perdre du temps
|
---|
| 684 | ---EndMultiply FxC CPUTime: Total= 37.4152 (Partial= 12.4662) Sec.
|
---|
| 685 | devient
|
---|
| 686 | ---EndMultiply FxC CPUTime: Total= 53.9978 (Partial= 28.8322) Sec.
|
---|
| 687 | dans ce cas on perd un gros facteur 2 a cause de la copie
|
---|
| 688 | mais rien de surprenant la dedans.
|
---|
| 689 |
|
---|
| 690 | -----------------------------------------------------------------------
|
---|
| 691 | - ensuite j'ai implemente une prise de decision au niveau de
|
---|
| 692 | l'optimisation pour les petites matrices:
|
---|
| 693 | le test est simple mais me semble OK:
|
---|
| 694 | je calcule sza taille du NDataBlock de A
|
---|
| 695 | szb B
|
---|
| 696 | si ((sza+szb)*sizeof(T) < 100000 ) pas d'optimisation
|
---|
| 697 | IDEE: on pifometre que raisonnablement il y a 100 koctets
|
---|
| 698 | de disponible pour les matrices A et B dans le cache processeur
|
---|
| 699 | et que dans ce cas elles sont copiees toutes les 2 dans le cache
|
---|
| 700 | par l'optimiseur du compilo qui est tres malin et surtout qui
|
---|
| 701 | veux absolument nous faire plaisir......
|
---|
| 702 |
|
---|
| 703 | -----------------------------------------------------------------
|
---|
| 704 | ===> Les resultats sont dans le fichier toto.calc en attached
|
---|
| 705 | .. En tete tu as l'explication des flags d'optimisation
|
---|
| 706 | ...Avec les 2 sections:
|
---|
| 707 | GROSSE MATRICE
|
---|
| 708 | et
|
---|
| 709 | PETITE MATRICE
|
---|
| 710 | \end{verbatim}
|
---|
| 711 |
|
---|
[2971] | 712 | \item[\rond] Juillet 2004 : Optimisation operations diverses, en particulier \\
|
---|
[2632] | 713 | 1) Remplacement des methodes Add/Sub/Mul/DivElt(a) par
|
---|
| 714 | Add/Sub/Mul/DivElt(TArray a, TArray res) \\
|
---|
| 715 | 2) Operateurs += -= A+B A-B TArray et TMatrix/TVecteur modifies en consequence
|
---|
[2911] | 716 | \item[\rond] Extrait de {\tt cvs log tarray.cc }
|
---|
[2632] | 717 | {\small \begin{verbatim}
|
---|
| 718 | ----------------------------
|
---|
| 719 | revision 1.38
|
---|
| 720 | date: 2004/07/30 13:31:39; author: ansari; state: Exp; lines: +28 -24
|
---|
| 721 | Diverses petites optimisations ds les methodes operations/affectations de TArray - Reza 30 Juillet 2004
|
---|
| 722 | ----------------------------
|
---|
| 723 | ----------------------------
|
---|
| 724 | revision 1.36
|
---|
| 725 | date: 2004/07/27 11:44:23; author: ansari; state: Exp; lines: +4 -1
|
---|
| 726 | Corrections bug apres modifs methods Add/Sub/Mul/DivCst(x,res) - Reza 27 Juillet 2004
|
---|
| 727 | ----------------------------
|
---|
| 728 | revision 1.35
|
---|
| 729 | date: 2004/07/26 17:30:40; author: ansari; state: Exp; lines: +187 -108
|
---|
| 730 | Remplacement methodes Add/Mul/Sub/Div(T x) par AddCst/MulCst/SubCst/DivCst(T x, TArray<T> res) ds TArray - Reza 26 Juillet 2004
|
---|
| 731 | ----------------------------
|
---|
| 732 | \end{verbatim} }
|
---|
| 733 |
|
---|
[2911] | 734 | \item[\rond] Extrait de {\tt cvs log tarray.cc }
|
---|
[2632] | 735 | {\small \begin{verbatim}
|
---|
| 736 | ----------------------------
|
---|
| 737 | revision 1.27
|
---|
| 738 | date: 2004/07/30 10:24:12; author: cmv; state: Exp; lines: +97 -32
|
---|
| 739 | - Intro decision auto d'optimisation produit de matrices
|
---|
| 740 | - Possibilite a l'utilisateur pour choisir l'optimisation
|
---|
| 741 | - cas FxC optimise par copie
|
---|
| 742 | cmv 30/07/04
|
---|
| 743 | ----------------------------
|
---|
| 744 | revision 1.26
|
---|
| 745 | date: 2004/07/29 12:31:16; author: ansari; state: Exp; lines: +7 -5
|
---|
| 746 | 1/ Remplacement des methodes Add/Sub/Mul/DivElt(a) par
|
---|
| 747 | Add/Sub/Mul/DivElt(TArray a, TArray res)
|
---|
| 748 | 2/ Operateurs += -= A+B A-B TArray et TMatrix/TVecteur modifies en consequence
|
---|
| 749 | 3/ Ajout methode TArray::ScalarProduct()
|
---|
| 750 | 4/ Methode TArray::SetT renomme en SetCst() SetT garde en alias
|
---|
| 751 | 5/ Ajout parametre bool fzero (mise a zero) ajoute ds constructeur et
|
---|
| 752 | ReSize() de TMatrix et TVecteur.
|
---|
| 753 | Reza 29/07/2004
|
---|
| 754 | ----------------------------
|
---|
| 755 | revision 1.25
|
---|
| 756 | date: 2004/07/29 08:40:49; author: cmv; state: Exp; lines: +148 -1
|
---|
| 757 | Optimisation produit de matrice a la sauce cmv 29/07/04
|
---|
| 758 | ----------------------------
|
---|
| 759 | \end{verbatim} }
|
---|
| 760 |
|
---|
| 761 | \end{itemize}
|
---|
| 762 |
|
---|
[3176] | 763 |
|
---|
[3229] | 764 | %%%%%%%%
|
---|
| 765 | \titre{HiStats}
|
---|
| 766 | %%%%%
|
---|
| 767 | \soustitre{Classe Histo,HProf,HistoErr,Histo2D }
|
---|
[3061] | 768 | \noindent
|
---|
| 769 | - Aout 2006 : refonte profonde des allocations memoire et delete de
|
---|
| 770 | Histo,HProf,HistoErr,Histo2D pour faciliter la gestion des IO FITS. \\
|
---|
| 771 | - Sept 2004 : Ajout classe HistoErr.
|
---|
| 772 | C'est un Histo qui garde le nombre d'entr\'ees dans chaque bin) \\
|
---|
[3229] | 773 | \soustitre{NTuple}
|
---|
[2716] | 774 | la classe NTuple peut maintenant avoir des colonnes float ou double.
|
---|
| 775 | Il y a maintenant deux methodes Fill(r\_4 *) et Fill(r\_8 *)
|
---|
| 776 | Les noms ne sont plus limites a 8 caracteres.
|
---|
| 777 |
|
---|
| 778 |
|
---|
[3229] | 779 | \soustitre{ Les DataTable (SuperNTuple) }
|
---|
[2716] | 780 |
|
---|
[2835] | 781 | {\bf Octobre-Novembre 2005 } \\
|
---|
| 782 | \begin{itemize}
|
---|
[2854] | 783 | \item[\rond] Ajout classe {\bf DataTableRow} pour manipulation d'une ligne de la table.
|
---|
| 784 | Ajout/maj methode BaseDataTable::EmptyRow() AddRow() GetRow()
|
---|
[2835] | 785 | \item[\rond] Gestion des types {\tt complex<r\_4> , complex<r\_8> , TimeStamp } par
|
---|
| 786 | BaseDataTable, DataTable et SwPPFDataTable
|
---|
| 787 | \item[\rond] Codage methode Print() (Dump ascii) et NTFrAscii (decodage fichier
|
---|
| 788 | text) dans BaseDataTable.
|
---|
| 789 | \item[\rond] Codage mthode BaseDataTable::GetColumnD() pour recuperer
|
---|
| 790 | une colonne de la table en {\tt TVector<r\_8>} - NON TESTE
|
---|
| 791 | \end{itemize}
|
---|
| 792 |
|
---|
[2632] | 793 | \begin{verbatim}
|
---|
[2716] | 794 | BaseDataTable
|
---|
| 795 | -------- DataTable
|
---|
| 796 | -------- SwPPFDataTable
|
---|
| 797 | \end{verbatim}
|
---|
[2717] | 798 |
|
---|
| 799 | \noindent {\bf BaseDataTable} : Classe de base, avec qques methodes virtuelles
|
---|
[2716] | 800 | pures, implementent la presque totalite des fonctionalites, en particulier
|
---|
| 801 | celles de l'interface NTupleInterface.
|
---|
[2632] | 802 |
|
---|
[2717] | 803 | \noindent {\bf DataTable} : Implementation concrete de BaseDataTable avec donnees en
|
---|
| 804 | memoire \\
|
---|
| 805 | (utilise SegDataBlock$<$T$>$ pour stocker les colonnes)
|
---|
[2632] | 806 |
|
---|
[2717] | 807 | \noindent {\bf SwPPFDataTable} : Implementation concrete de BaseDataTable avec donnees
|
---|
| 808 | en swap sur stream PPF (POutPersist)- \\
|
---|
| 809 | Utilise (SwSegDataBlock$<$T$>$ avec
|
---|
| 810 | un data-swapper PPF (classe PPFDataSwapper$<$T$>$ )
|
---|
[2632] | 811 |
|
---|
[2716] | 812 | DataTable et SwPPFDataTable respecte +/- les conventions SOPHYA ,
|
---|
| 813 | constructeur de copie avec partage ou copie de donnees, operateur =
|
---|
| 814 | Datatable : partage et copie , = : fait une copie
|
---|
| 815 | SwPPFDataTable : C'est toujours partage (presque par definition)
|
---|
| 816 | Autre point, compte tenu de la structure des streams PPF ,
|
---|
| 817 | les SwPPFDataTable fonctionne en ecriture OU en lecture, mais
|
---|
| 818 | pas les deux a la fois.
|
---|
[2632] | 819 |
|
---|
[2716] | 820 | Classe de gestion de persistence commune : \\
|
---|
[2717] | 821 | {\bf ObjFileIO$<$BaseDataTable$>$ }
|
---|
[2632] | 822 |
|
---|
[2716] | 823 | Lit et ecrit les DataTable et SwPPFDataTable
|
---|
| 824 | Actuellement, on ne peut les relires que dans le meme type,
|
---|
| 825 | cad on ne peut relire avec un SwPPFDataTable un objet
|
---|
| 826 | ecrit comme DataTable - mais cette possibilite pourra
|
---|
| 827 | peut-etre codee ulterieurement (d'ou l'interet en particulier
|
---|
[2717] | 828 | d'un gestionnaire commun ObjFileIO$<$BaseDataTable$>$
|
---|
[2632] | 829 |
|
---|
[2716] | 830 | (les operateurs habituel $<<$ et $>>$ sur PIn/OutPersist sont definies)
|
---|
[2632] | 831 |
|
---|
[2716] | 832 |
|
---|
[2911] | 833 | Les merges et copie sont prevues,
|
---|
[2716] | 834 | on doit en principe pouvoir ecrire par exemple:
|
---|
[2717] | 835 | \begin{verbatim}
|
---|
[2716] | 836 | SwPPFDataTable swdt;
|
---|
| 837 | PInPersist pis("swdt.ppf");
|
---|
| 838 | pis >> swdt;
|
---|
| 839 | DataTable dt;
|
---|
| 840 | dt = swdt; // Pour tout charger en memoire
|
---|
[2717] | 841 | \end{verbatim}
|
---|
[2716] | 842 |
|
---|
[2911] | 843 | {\it On pourra aussi ajouter des methodes d'acces aux variables
|
---|
| 844 | membres pour enrichier l'interface. }
|
---|
[2716] | 845 |
|
---|
| 846 |
|
---|
[2717] | 847 | {\bf DataTable cote PIAPP :} \\
|
---|
[2716] | 848 | Cote piapp, les DataTable et SwPPFDataTable sont pris en charge par
|
---|
[2717] | 849 | {\tt NOMAdapter\_DataTable} (qui prend en charge tous les 'BaseDataTable' )
|
---|
| 850 | Il faudrait peut-etre rajouter deux commandes : \\
|
---|
[2716] | 851 | newdt ou newdatatable
|
---|
[2717] | 852 | newdt ncol col1 [col2 .... ] \\
|
---|
[2716] | 853 | avec possibilite de specifier coli sous fome de X:colname ou X = D,F,S,I,L ...
|
---|
| 854 | et puis dtfromascii ...
|
---|
| 855 |
|
---|
| 856 | Voir Tests/tnt.cc pour exemple d'utilisation :
|
---|
[2717] | 857 | \begin{verbatim}
|
---|
[2716] | 858 | DataTable dt(64);
|
---|
| 859 | dt.AddIntegerColumn("line");
|
---|
| 860 | dt.AddDoubleColumn("x");
|
---|
| 861 | dt.AddFloatColumn("f_sin");
|
---|
| 862 | MuTyV rec[10];
|
---|
| 863 | for(int k = 0; k<1000; k++) {
|
---|
| 864 | rec[0] = k;
|
---|
| 865 | double x = M_PI*k/100.;
|
---|
| 866 | double fx = sin(x)*cos(x);
|
---|
| 867 | rec[1] = x;
|
---|
| 868 | rec[2] = sin(x);
|
---|
| 869 | }
|
---|
| 870 | POutPersist po("dtable.ppf");
|
---|
| 871 | po << dt;
|
---|
[2717] | 872 | \end{verbatim}
|
---|
[2716] | 873 |
|
---|
| 874 | Pour SwPPFDataTable, il faut juste creer un stream PPF avant, qui doit rester
|
---|
[2717] | 875 | ouvert tant que le SwPPFDataTable est actif: \\
|
---|
| 876 | \begin{verbatim}
|
---|
[2716] | 877 | POutPersist po("swdtable.ppf");
|
---|
| 878 | SwPPFDataTable dt(po, 64);
|
---|
[2632] | 879 | \end{verbatim}
|
---|
| 880 |
|
---|
[2717] | 881 |
|
---|
[2971] | 882 |
|
---|
[3229] | 883 | \titre{SkyMap}
|
---|
| 884 | %%%
|
---|
[2993] | 885 | \begin{itemize}
|
---|
| 886 | \item[\rond] Juin 2006: Prise en charge du rangement mmoire {\bf NESTED} dans
|
---|
| 887 | les SphereHEALPix , + I/O PPF et FITS
|
---|
| 888 | \item[\rond] Juin 2006: Nettoyage et amliorations diverses dans les classes
|
---|
| 889 | Vector3d, UnitVector, LongLat \ldots et les cartes sphriques, en particulier :
|
---|
| 890 | \begin{enumerate}
|
---|
| 891 | \item Nettoyage/uniformation mthodes {\tt Print()} des cartes, et
|
---|
| 892 | ajout de la mthode {\tt Show()} dans PixelMap
|
---|
| 893 | \item Ajout mthodes {\tt HasSymThetaSlice() , GetSymThetaSliceIndex() }
|
---|
| 894 | dans les cartes sphriques (SphericalMap)
|
---|
| 895 | \item Ajout methode {\tt ResolToSizeIndex() SizeIndexToResol() }
|
---|
| 896 | ds SphereThetaPhi , SphereHEALPix et SphereECP
|
---|
| 897 | \item Petites optimisations dans {\tt GetThetaSlice()} + methode {\tt GetThetaSliceDataPtr() }
|
---|
| 898 | \end{enumerate}
|
---|
| 899 | \item[\rond] Juin 2006: Introduction de la classe {\bf Angle} - pour conversion d'angle.
|
---|
[2971] | 900 | \begin{verbatim}
|
---|
[2993] | 901 | // Example to convert 0.035 radians to arcsec
|
---|
| 902 | double vr = 0.035;
|
---|
| 903 | cout << "Angle rad= " << vr << " ->arcsec= " << Angle(vr).ToArcSec() << endl;
|
---|
| 904 | // Example to convert 2.3 arcmin to radian - we use the conversion operator
|
---|
| 905 | double vam = 2.3;
|
---|
| 906 | cout << "Angle arcmin= " << vam << " ->rad= "
|
---|
| 907 | << (double)Angle(vam, Angle::ArcMin) << endl;
|
---|
| 908 | \end{verbatim}
|
---|
| 909 | %
|
---|
[2971] | 910 |
|
---|
[2632] | 911 |
|
---|
[2993] | 912 | \item[\rond] {\bf SphereECP} - Septembre 2004 \\
|
---|
[2632] | 913 | Extrait du message du 7 Septembre 2004
|
---|
| 914 | \begin{verbatim}
|
---|
| 915 | J'ai mis dans la base (module SkyMap) le code de la classe
|
---|
| 916 | SphereECP<T> (pixelisation avec projection cylindrique) - carte partielle et complete,
|
---|
| 917 | + gestionnaire PPersist + modifs adaptateur NomSkyMapAdaptor (PIext/ spiapp)
|
---|
| 918 |
|
---|
| 919 | Programme test (avec appel a transforme en Alm) ds Test/tsphereecp.cc
|
---|
| 920 | Attention, mettre le parametere de pixelisation a -1 lors de l'appel a Generate pour eviter
|
---|
| 921 | le Resize de la sphereECP
|
---|
| 922 | ylmserver.GenerateFromCl(map, -1, clin, 0.);
|
---|
| 923 |
|
---|
| 924 | Dans piapp, c'est visualise par defaut en projection Molleweide
|
---|
| 925 | On peut ajouter dans les options d'affichage :
|
---|
| 926 | ecparray : affichage direct du tableau TArray des pixels (X:Phi, Y:Theta)
|
---|
| 927 | Si option ecparray, on peut preciser en plus
|
---|
| 928 | - ecpscaledeg: echelle des axes en degres au lieu de pixels
|
---|
| 929 | - ecpscalerad: echelle des axes en radians au lieu de pixels
|
---|
| 930 | Exemple:
|
---|
| 931 | Cmd> disp mapecp 'ecparray ecpscaledeg zoomx2 stdaxes'
|
---|
| 932 | \end{verbatim}
|
---|
| 933 |
|
---|
[2993] | 934 | \item[\rond] Bug non corrig ds classe Circle
|
---|
[2632] | 935 | \begin{verbatim}
|
---|
| 936 | From: Laurence Perotto <perotto@cdf.in2p3.fr>
|
---|
| 937 | Date: Mon Jan 5, 2004 4:59:12 PM Europe/Paris
|
---|
| 938 | To: Reza Ansari <ansari@lal.in2p3.fr>, Christophe Magneville <cmv@hep.saclay.cea.fr>
|
---|
| 939 | Subject: un bug dans sophya...
|
---|
| 940 |
|
---|
| 941 | Bonjour et bonne annee a tous les deux...
|
---|
| 942 |
|
---|
| 943 | Je viens de trouver un ptit bug dans la fonction TanOnCircle de la classe Circle: Il
|
---|
| 944 | s'agit d'un melange entre les coordonnees (beta, lambda) de Benoit et les (theta, phi)
|
---|
| 945 | utilises dans Sophya. Lors du passage de l'un a l'autre, une transfo sin->cos a ete
|
---|
| 946 | oubliee...
|
---|
| 947 | Voila...
|
---|
| 948 | Bonne journee.
|
---|
| 949 |
|
---|
| 950 | Laurence.
|
---|
| 951 | \end{verbatim}
|
---|
[2993] | 952 | \end{itemize}
|
---|
[2632] | 953 |
|
---|
[3229] | 954 | \titre{Samba }
|
---|
[2993] | 955 |
|
---|
| 956 | \begin{itemize}
|
---|
| 957 | \item[\rond] {\bf Juin 2006:} correction bug de calcul $a_{lm} \rightarrow$ SphereHEALPix
|
---|
| 958 | (zones polar cap): le problme venant du choix de taille lors du calcul de la transform
|
---|
| 959 | de Fourier complex $\rightarrow$ rel (n/2 - 1 ou n/2 -2) .
|
---|
| 960 | Correction dans {\tt RfourierSynthesisFromB } et utilisation de cette mthode
|
---|
| 961 | pour tout type de carte.
|
---|
| 962 | On gagne un peu encore en temps de calcul - sur asc (OSF1-cxx) , avec
|
---|
| 963 | SphereThetaPhi(m=400), $l_{max} = 511$ \\[2mm]
|
---|
| 964 | \begin{tabular}{|l|c|c|}
|
---|
| 965 | \hline
|
---|
| 966 | Opration & TCPU Avant & TCPU Aprs OPT \\
|
---|
| 967 | \hline
|
---|
| 968 | map $\rightarrow a_{lm}$ & 10 s & 3.6 s. \\
|
---|
| 969 | $a_{lm} \rightarrow$ map & 26 & 10.5 s. \\
|
---|
| 970 | \hline
|
---|
| 971 | \end{tabular} \\[1mm]
|
---|
| 972 | %
|
---|
| 973 | \item[\rond] {\bf Mai 2006:} Optimisation calcul transform en harmoniques sphriques
|
---|
| 974 | {\bf SphericalTransformServer}. \\
|
---|
| 975 | Au lieu de calculer un tableau de $\lambda_{lm}$ dans LambdaLMBuilder
|
---|
| 976 | et utiliser ensuite ce tableau, on calcule les sommes ncessaires au vol,
|
---|
| 977 | dans des mthodes spcifiques de la classe LambdaLMBuilder qui
|
---|
| 978 | sont utilises dans SphericalTransformServer (pour les transforms
|
---|
| 979 | scalaire/temprature) - PAS fait pour la polarisation pour le moment.
|
---|
| 980 | On peut encore gagner un facteur 2 en utilisant la symtrie
|
---|
| 981 | en $\theta <> \pi-\theta$. \\
|
---|
| 982 | Extrait de cvs log :
|
---|
| 983 | \begin{verbatim}
|
---|
| 984 | revision 1.8
|
---|
| 985 | date: 2006/06/01 11:34:50; author: ansari; state: Exp; lines: +147 -12
|
---|
| 986 | 1/ passage en sa_size_t (au lieu de int) dans Alm<T> et Bm<T>
|
---|
| 987 | 2/ Ajout des methodes optimisees (statiques) pour calcul transforme Ylm
|
---|
| 988 | ds LambdaLMBuilder et utilisation ds SphericalTransformServer
|
---|
| 989 | Reza , 1/06/2006
|
---|
| 990 | \end{verbatim}
|
---|
| 991 |
|
---|
[3061] | 992 | \item[\rond] {\bf Fin 2004} : Tests et vrifications des polynomes de Legendre.
|
---|
| 993 | La classe LambdaLMBuilder donne les bons r\'esultats mais calcule les Plm
|
---|
| 994 | pour tous les $l,m$.
|
---|
| 995 | Introduction d'une routine (C-like) ``HarmSph\_array\_teta'' qui calcule
|
---|
| 996 | les Plm pour $m$ fix\'e et $l\in [0,l_{max}]$ comme ce qui est fait
|
---|
| 997 | dans la GSL... (la routine GSL ne marche pas corectement).
|
---|
[2993] | 998 | \end{itemize}
|
---|
| 999 |
|
---|
| 1000 | %%%%%%%%%%%
|
---|
[3229] | 1001 | \titre{SysTools}
|
---|
[2971] | 1002 | {\bf Mai-Juin 2006 } classe ZThread - petites modifs/amliorations lies
|
---|
| 1003 | la gestion des signaux et mthodes kill
|
---|
| 1004 |
|
---|
[3229] | 1005 | \soustitre{Classe SOPHYA::Commander (module SysTools) }
|
---|
[2971] | 1006 | Mai-Juin 2006:
|
---|
| 1007 | Debug (?) de gestion/controle des threads dans la classe Commander -
|
---|
| 1008 | Extrait de cvs log :
|
---|
| 1009 | \begin{verbatim}
|
---|
| 1010 | date: 2006/05/29 17:27:35; author: ansari; state: Exp; lines: +62 -11
|
---|
| 1011 | Ajout gestionnaire signal ds ZThread et correction/adaptation gestion des thread
|
---|
| 1012 | s (killthr) dans Commander - Reza 29 mai 2006
|
---|
| 1013 | ----------------------------
|
---|
| 1014 | revision 1.7
|
---|
| 1015 | date: 2006/04/26 15:22:09; author: ansari; state: Exp; lines: +13 -0
|
---|
| 1016 | ajout methode ZThread::kill() pour envoi de signal a un thread + remplacement Ca
|
---|
| 1017 | ncelThread par StopThread (par kill/SIGUSR1) dans Commander (commander.cc) + ame
|
---|
| 1018 | ----------------------------
|
---|
| 1019 | revision 1.22
|
---|
| 1020 | date: 2006/05/31 12:30:13; author: ansari; state: Exp; lines: +20 -11
|
---|
| 1021 | correction gestion & pour ThrExec ds Commander - Reza 31/05/2006
|
---|
| 1022 | ----------------------------
|
---|
| 1023 | revision 1.21
|
---|
| 1024 | date: 2006/05/29 17:27:35; author: ansari; state: Exp; lines: +37 -16
|
---|
| 1025 | Ajout gestionnaire signal ds ZThread et correction/adaptation gestion des thread
|
---|
| 1026 | s (killthr) dans Commander - Reza 29 mai 2006
|
---|
| 1027 | ----------------------------
|
---|
| 1028 | revision 1.20
|
---|
| 1029 | date: 2006/04/26 15:22:08; author: ansari; state: Exp; lines: +55 -15
|
---|
| 1030 | ajout methode ZThread::kill() pour envoi de signal a un thread + remplacement Ca
|
---|
| 1031 | ncelThread par StopThread (par kill/SIGUSR1) dans Commander (commander.cc) + ame
|
---|
| 1032 | lioration documentation , Reza 26/4/2006
|
---|
[2632] | 1033 |
|
---|
[2971] | 1034 | \end{verbatim}
|
---|
| 1035 |
|
---|
[2717] | 1036 | Mars-Avril 2004 :
|
---|
[2632] | 1037 | Classe d'interprteur de ligne de commande inspire de C-Shell,
|
---|
| 1038 | destine a etre incluee dans des applications C/C++. \\
|
---|
[2717] | 1039 | ( Programme test Test/tcmd.cc ) \\
|
---|
| 1040 | Avril 2005 : Introduction de la possibilite d'execution de commandes
|
---|
| 1041 | en multithreads \\
|
---|
| 1042 | Avril 2005 : Controle strict sur les noms de variables, limites
|
---|
| 1043 | aux caracteres alphanumeriques + underscore - Adaptation
|
---|
| 1044 | de l'algorithme de substitution en consequence.
|
---|
[2632] | 1045 |
|
---|
| 1046 | {\bf Mini guide de l'interpreteur - Message du 19 Mars 2004 } \
|
---|
| 1047 |
|
---|
| 1048 | \begin{itemize}
|
---|
| 1049 |
|
---|
| 1050 | \item[\rond] {\bf Gestion des variables } \\
|
---|
| 1051 | - Les variables sont non typees toutes traitees comme des chaines
|
---|
| 1052 | de caracteres.
|
---|
| 1053 | - Acces aux variables d'environnement -
|
---|
| 1054 | - Un niveau variable d'environnement application est aussi prevu
|
---|
| 1055 | - Toutes les variables de l'interpreteur sont traitees comme des vecteurs.
|
---|
| 1056 | extensibles automatiquement (difference avec le C-Shell)
|
---|
| 1057 |
|
---|
| 1058 | \item[\rond] {\bf Creation / initialisation de variables } \\
|
---|
| 1059 | \begin{verbatim}
|
---|
| 1060 | Cmd> set sv StringValue
|
---|
| 1061 | # Suppression d'une variable : unset ou clearvar
|
---|
| 1062 | Cmd> unset sv
|
---|
| 1063 |
|
---|
| 1064 | # Initialisation de type vecteur - Espace avant/apres ')' et avant ')' obligatoire
|
---|
| 1065 | Cmd> set vecv ( mot1 mot2 mot3 mot4 mot5 )
|
---|
| 1066 | #Calcul numerique : expression de type C - Espace avant/apres '=' obligatoire
|
---|
| 1067 | Cmd> a = 2+3*sqrt(4)
|
---|
| 1068 | # Le signe egal peut etre utilise pour attribuer une chaine de caracteres
|
---|
| 1069 | Cmd> a = 'Bonjour Madame'
|
---|
| 1070 | # Un element de tableau peut etre specifie avant le signe egal
|
---|
| 1071 | Cmd> vecv[2] = 'coucou'
|
---|
| 1072 | # Ou bien
|
---|
| 1073 | Cmd> i = 3
|
---|
| 1074 | Cmd> vecv[i] = 'Ooohhh'
|
---|
| 1075 | \end{verbatim}
|
---|
| 1076 |
|
---|
| 1077 | A droite du signe egal (membre de droite), les variables doivent etre
|
---|
| 1078 | adressees a l'aide du signe \$.
|
---|
| 1079 |
|
---|
| 1080 | Une chaine peut etre cassee en mots a l'aide de la commande var2words
|
---|
| 1081 | \begin{verbatim}
|
---|
| 1082 | Cmd> var2words varname wordvarname [separateur]
|
---|
| 1083 | \end{verbatim}
|
---|
| 1084 |
|
---|
| 1085 | \item[\rond] {\bf Acces aux variables } \\
|
---|
| 1086 | L'acces aux variables s'effectue par le signe \$ {\tt \$varname} .
|
---|
| 1087 | Les {\tt \$xxx} sont remplaces par le contenu de la variable xxx.
|
---|
| 1088 | Cette substitution ne s'effectue pas entre simple quotes {\tt ' ... \$xxx '},
|
---|
| 1089 | mais se fait entre double quotes {\tt " ... \$xxx ... "} . Les formes
|
---|
| 1090 | {\tt \${vname} } ou {\tt \$(vname)} peuvent etre utilisees.
|
---|
| 1091 |
|
---|
| 1092 | \begin{verbatim}
|
---|
| 1093 | Cmd> x = 'Hello'
|
---|
| 1094 | Cmd> echo $x
|
---|
| 1095 | # Taille d'une variable de type vecteur $#vname
|
---|
| 1096 | Cmd> set vx ( 111 2222 3333 444444 )
|
---|
| 1097 | Cmd> echo $#vx
|
---|
| 1098 | # Acces aux elements de tableau
|
---|
| 1099 | Cmd> echo $vx[0] $vx[1]
|
---|
| 1100 | # ou bien indexe par une variable
|
---|
| 1101 | Cmd> i = 2
|
---|
| 1102 | Cmd> echo $vx[i]
|
---|
| 1103 | # Une syntaxe particuliere: $[vname] retourne le contenu de
|
---|
| 1104 | # la variable dont le nom est ds vname
|
---|
| 1105 | Cmd> zzz = 'Commander'
|
---|
| 1106 | Cmd> xxx = 'zzz'
|
---|
| 1107 | Cmd> echo '$[xxx]= ' $[xxx]
|
---|
| 1108 | $[xxx]= Commander
|
---|
| 1109 | \end{verbatim}
|
---|
| 1110 |
|
---|
| 1111 | Variables d'environnement: L'acces aux variables d'environnement
|
---|
| 1112 | se fait simplement par{\tt \$varenvname}. Attention, les variables locales
|
---|
| 1113 | de l'interpreteur sont prioritaires.
|
---|
| 1114 |
|
---|
| 1115 | \item[\rond] {\bf Variables particulieres: } \\
|
---|
| 1116 | {\tt \$retval} ou {\tt \$retstr} : chaine specifee sur la derniere commande return
|
---|
| 1117 | {\tt \$status} : code de retour de la derniere commande executee.
|
---|
| 1118 | (variable existe et est rempli - mais il faudra se donner une regle
|
---|
| 1119 | plus claire ...)
|
---|
| 1120 | Arguments des fichiers .pic appeles par la commande exec
|
---|
| 1121 | {\tt \$\# } : nombre d'arguments, a part \$0
|
---|
| 1122 | {\tt \$0} nom du fichier ou du script
|
---|
| 1123 | {\tt \$1 \$2 \$3} .... les arguments (pour les scripts et les .pic (exec))
|
---|
| 1124 |
|
---|
| 1125 |
|
---|
| 1126 | \item[\rond] {\bf Structures de controle } \\
|
---|
| 1127 | \begin{verbatim}
|
---|
| 1128 | foreach f ( w1 w2 w3 ... )
|
---|
| 1129 | ...
|
---|
| 1130 | echo $f
|
---|
| 1131 | end
|
---|
| 1132 | \end{verbatim}
|
---|
| 1133 |
|
---|
| 1134 | Espace avant/apres '(' et avant ')' obligatoire.
|
---|
| 1135 |
|
---|
| 1136 | \begin{verbatim}
|
---|
| 1137 | foreach v vecname
|
---|
| 1138 | ...
|
---|
| 1139 | echo $v
|
---|
| 1140 | end
|
---|
| 1141 | \end{verbatim}
|
---|
| 1142 |
|
---|
| 1143 | Boucle de type integer:
|
---|
| 1144 | \begin{verbatim}
|
---|
| 1145 | for i startInt:endInt[:stepInt]
|
---|
| 1146 | ....
|
---|
| 1147 | echo $i
|
---|
| 1148 | end
|
---|
| 1149 | \end{verbatim}
|
---|
| 1150 |
|
---|
| 1151 | Boucle de type float
|
---|
| 1152 | \begin{verbatim}
|
---|
| 1153 | for f startFloat:endFloat[:stepFloat]
|
---|
| 1154 | ....
|
---|
| 1155 | echo $f
|
---|
| 1156 | end
|
---|
| 1157 | \end{verbatim}
|
---|
| 1158 |
|
---|
| 1159 | Boucle sur les lignes d'un fichier:
|
---|
| 1160 | \begin{verbatim}
|
---|
| 1161 | forinfile line FileName
|
---|
| 1162 | ...
|
---|
| 1163 | echo $line
|
---|
| 1164 | end
|
---|
| 1165 | \end{verbatim}
|
---|
| 1166 |
|
---|
| 1167 | Instruction {\tt break} pour casser une boucle
|
---|
| 1168 |
|
---|
| 1169 | \item[\rond] {\bf Les tests }
|
---|
| 1170 | \begin{verbatim}
|
---|
| 1171 | if ( test ) then
|
---|
| 1172 | endif
|
---|
| 1173 |
|
---|
| 1174 | if ( test ) then
|
---|
| 1175 | ....
|
---|
| 1176 | else
|
---|
| 1177 | ....
|
---|
| 1178 | endif
|
---|
| 1179 | \end{verbatim}
|
---|
| 1180 |
|
---|
| 1181 | Espace avant/apres '(' et avant ')' obligatoire.
|
---|
| 1182 |
|
---|
| 1183 | test de type {\tt a == b} OU {\tt a != b} OU {\tt a < b} OU {\tt a > b}
|
---|
| 1184 | OU {\tt a <= b} OU {\tt a >= b}
|
---|
| 1185 | les espaces avant l'operateur de comparaison sont obligatoires.
|
---|
| 1186 | {\tt ==} et {\tt !=} effectue une comparaison de chaines de caracteres.
|
---|
| 1187 | {\tt < , > , <= , >=}une comparaison apres conversion en valeur flottante.
|
---|
| 1188 |
|
---|
| 1189 | \item[\rond] {\bf Definition de script } \\
|
---|
| 1190 | \begin{verbatim}
|
---|
| 1191 | defscript scriptname [description ]
|
---|
| 1192 | ....
|
---|
| 1193 | endscript
|
---|
| 1194 | \end{verbatim}
|
---|
| 1195 |
|
---|
| 1196 | L'appel a un script se fait simplement a l'aide
|
---|
| 1197 | du nom de script (contrairement aux fichiers
|
---|
| 1198 | de commande qui sont executes a l'aide de la
|
---|
| 1199 | commande {\tt exec} )
|
---|
| 1200 | \begin{verbatim}
|
---|
| 1201 | Cmd> scriptname arg1 arg2 arg3 ....
|
---|
| 1202 | \end{verbatim}
|
---|
| 1203 |
|
---|
| 1204 | L'instruction {\tt return} provoque l'arret (et le retour) d'execution d'un
|
---|
| 1205 | script ou d'un fichier de commandes.
|
---|
| 1206 | Commandes {\bf listscript }et {\bf clearscript scriptname}
|
---|
| 1207 | permettet d'avoir la liste des scripts
|
---|
| 1208 | definis / supprimer la definition d'un script
|
---|
| 1209 |
|
---|
| 1210 | \item[\rond] {\bf Autres commandes}
|
---|
| 1211 | \begin{itemize}
|
---|
| 1212 | \item Instruction {\bf echo } pour ecrire sur cout/stdout
|
---|
| 1213 | \item Instruction {\bf echo2file} pour ecrire a la fin d'un fichier
|
---|
| 1214 | \item Instruction {\bf sleep nsec} (attente de nsec seconds )
|
---|
| 1215 | \item Instructions {\bf timingon , timingoff , traceon , traceoff } \\
|
---|
| 1216 | %
|
---|
| 1217 | \item Commande {\bf exec commandfilename [arg1 arg2 ... ] }
|
---|
| 1218 | \item Commandes {\bf help et help keyword/commandname }
|
---|
| 1219 | \item Commandes {\bf listvars , listcommands }
|
---|
| 1220 | \item Defintion et liste d'alias : {\bf alias aliasname 'string ' } et {\bf listalias}
|
---|
| 1221 | \end{itemize}
|
---|
[2717] | 1222 |
|
---|
| 1223 | \item[\rond] {\bf Threads d'execution de commandes (Avril 2005)} \\
|
---|
| 1224 | Possibilite de lancer des commandes (autre que les commandes
|
---|
| 1225 | de l'interpreteur lui-meme) en thread separe (il suffit de mettre un \&
|
---|
| 1226 | a la fin de la commande) \\
|
---|
| 1227 | Commandes des gestion des threads : \\
|
---|
| 1228 | {\bf thrlist ; cleanthrlist ; cancelthr ThId ; waitthr } \\
|
---|
| 1229 | Attention, la possibilite de lancer des commandes en threads separes ne fonctionne que
|
---|
| 1230 | pour des commandes "thread-safe".
|
---|
| 1231 | La plupart de nos commandes de piapp sont \\
|
---|
| 1232 | - soit trop rapide, \\
|
---|
| 1233 | - soit non "thread-safe" \\
|
---|
| 1234 |
|
---|
| 1235 | \item[\rond] controle d'execution : \\
|
---|
| 1236 | Possibilite d'arreter l'execution de l'interpreteur (dans une boucle
|
---|
| 1237 | ou dans dans un fichier .pic ...
|
---|
| 1238 | Utiliser la commande {\bf stop} ou {\tt <Cntrl C>} dans PIConsole
|
---|
| 1239 |
|
---|
[2632] | 1240 | \end{itemize}
|
---|
| 1241 |
|
---|
[3229] | 1242 | \soustitre{Classes CExpressionEvaluator et RPNExpressionEvaluator }
|
---|
[2632] | 1243 | \begin{itemize}
|
---|
| 1244 | \item[\rond] Ajout des classes RPNExpressionEvaluator et CExpressionEvaluator
|
---|
| 1245 | d'valuation d'expressions numriques en notation polonaise inverse
|
---|
| 1246 | et avec la syntaxe C . Utilise dans la classe Commander.
|
---|
| 1247 | \item[\rond] Programme test Test/tcmd.cc
|
---|
| 1248 | \item[\rond] extrait de {\tt cvs log cexpre.cc }
|
---|
| 1249 | {\small \begin{verbatim}
|
---|
| 1250 | ----------------------------
|
---|
| 1251 | revision 1.3
|
---|
| 1252 | date: 2004/03/18 18:15:19; author: ansari; state: Exp; lines: +10 -6
|
---|
| 1253 | Suite (presque finie) des modifications de l'interpreteur - gestion des variables en particulier - Reste au moins un bug ds CExpressionEvaluator - Reza 18/03/2004
|
---|
| 1254 | ----------------------------
|
---|
| 1255 | revision 1.2
|
---|
| 1256 | date: 2004/03/16 08:47:48; author: ansari; state: Exp; lines: +5 -6
|
---|
| 1257 | suppression variables inutilisees ds cexpr.cc - Reza 16 Mars 2004
|
---|
| 1258 | ----------------------------
|
---|
| 1259 | revision 1.1
|
---|
| 1260 | date: 2004/03/15 22:19:43; author: ansari; state: Exp;
|
---|
| 1261 | Ajout fichiers des classes RPNExpressionEvaluator et CExpressionEvaluator (expression arithmetiques) et MAJ du fichier Makefile et objlist.list - Reza 15 Mars 2003
|
---|
| 1262 | \end{verbatim} }
|
---|
| 1263 |
|
---|
| 1264 | \item[\rond] Extrait du message du 3 Mars 2004
|
---|
| 1265 | \begin{verbatim}
|
---|
| 1266 | Le code est base sur une hierarchie de classe d'expression :
|
---|
| 1267 | Expr -------- NumberExp
|
---|
| 1268 | --------- BinExp ------ AddExp
|
---|
| 1269 | ------ MulExp
|
---|
| 1270 | ------ SubExp
|
---|
| 1271 | ------ DivExp
|
---|
| 1272 | --------- FuncExp
|
---|
| 1273 | --------- CExpressionEvaluator
|
---|
| 1274 |
|
---|
| 1275 | NumberExp : expression elementaire de nombre, sait actuellement traduire Pi et E
|
---|
| 1276 | tres facile d'ajouter d'autres constantes
|
---|
| 1277 | BinExp: Classe d'operations binaires (deux operandes) a+b a-b a*b a/b
|
---|
| 1278 | avec gestion de niveau de priorite des operateurs
|
---|
| 1279 | On peut facilement ajouter d'autres operateurs binaires (par exemple
|
---|
| 1280 | puissance ^ a^b ) - et les priorites relatives seront gerees en principe.
|
---|
| 1281 | FuncExp: classe d'expression fonctionnelle, avec n arguments f(x1,x2,...x3)
|
---|
| 1282 | actuellemenent, n=0 a n=3 arguments et quelques fonctions
|
---|
| 1283 | usuelles sont decodes ds cette classe (sin,cos,tan, asin, acos, atan, exp, log,
|
---|
| 1284 | atan2, pow ) - voir ds le code
|
---|
| 1285 |
|
---|
| 1286 | CExpressionEvaluator : C'est la classe de haut niveau a utiliser -
|
---|
| 1287 | la fonction de decodage de la chaine ASCII (qui utilise
|
---|
| 1288 | les fonctionalites des differentes classes est la dedans
|
---|
| 1289 | et ce n'est pas tres long.
|
---|
| 1290 | (+ une classe d'exception specifique).
|
---|
| 1291 | \end{verbatim}
|
---|
| 1292 |
|
---|
| 1293 | \end{itemize}
|
---|
| 1294 |
|
---|
[3176] | 1295 |
|
---|
[3229] | 1296 | %%%%%%%%
|
---|
| 1297 | \titre{FitsIOServer}
|
---|
| 1298 | %%%
|
---|
[3176] | 1299 | \begin{itemize}
|
---|
| 1300 | \item[\rond] Aout 2006 : Ecriture/Lecture des classes Histo,HProf,HistoErr,Histo2D dans fichier FITS.
|
---|
[3061] | 1301 | Les Histo2D et leurs projections 1D associ\'ees sont lus et \'ecrits
|
---|
[3176] | 1302 | sur plusieurs HDU cons\'ecutifs.
|
---|
| 1303 | \item[\rond] Juin 2006 : Ajout verification/correction noms de colonne lors de lecture FITS / DataTable,
|
---|
[2971] | 1304 | et remplacement throw par un warning lors de lecture fits-healpix avec $nbcols > 1$ \\[1mm]
|
---|
[3176] | 1305 | \item[\rond] { \large Sep 2005-Jan 2006 : Refondation totale du module }
|
---|
[2829] | 1306 | \begin{itemize}
|
---|
[2905] | 1307 | \item[\rond] Amelioration du programme PrgUtil/scanppf -
|
---|
| 1308 | (scanfits -V1 -lh -rd -header filename)
|
---|
| 1309 | \item[\rond] La classe FitsFile (et donc FitsInFile FitsOutFile) heritent de FitsInOutFile.
|
---|
| 1310 | (Jan 2006)
|
---|
| 1311 | \item[\rond] Fonctionalites classe {\bf FitsManager } etendues - en particulier ScanFile()
|
---|
| 1312 | \item[\rond] Les FitsIOHandler (ancien) heritent de FitsHandlerInterface -
|
---|
| 1313 | Tous les handlers sont pris en charge et enregistre par FitsManager (Jan 2006)
|
---|
| 1314 | \item[\rond] Ajout classe d'initialisation du module {\bf FitsIOServerInitiator },
|
---|
| 1315 | fichiers fiosinit.h .cc (Dec 2005)
|
---|
| 1316 | \item[\rond] Classe { \bf SwFitsDataTable } (DataTable avec swap sur FITS) ajoute
|
---|
| 1317 | + classe FitsHandler<BaseDataTable> modifie pour prise
|
---|
| 1318 | en charge de SwFitsDataTable (Dec 2005 - Jan 2006)
|
---|
| 1319 | \item[\rond] Classes {\bf FITSDataSwapper$<$T$>$} modifies (Dec 2005)
|
---|
[2854] | 1320 | \item[\rond] Prise en charge de types TSTRING et TCOMPLEX et TDBLCOMPLEX
|
---|
| 1321 | lors de lecture/ecriture de colonnes FITS.
|
---|
| 1322 | \item[\rond] Prise en charge de l'ensemble des types de colonnes pour le handler de Fits
|
---|
| 1323 | de DataTable
|
---|
[2829] | 1324 | \item[\rond] Classe {\bf FitsInOutFile } comme wrapper des fonctions de la librairie cfitsio +
|
---|
| 1325 | classe d'exception spcifique {\bf FitsIOException} , et la classe des types FITS {\bf FitsTypes}.
|
---|
| 1326 | \item[\rond] Classe template {\bf FitsBlockRW$<$T$>$} pour lecture/criture (tableaux de donnes)
|
---|
| 1327 | sur IMGHDU et Tables.
|
---|
| 1328 | \item[\rond] Classes gestionnaires I/O Fits pour les objets {\bf FitsHandler$<$T$>$} et {\bf FitsManager}
|
---|
| 1329 | \item[\rond] Classes gestionnaire pour les tableaux : {\bf FitsArrayHandler$<$T$>$}
|
---|
| 1330 | \item[\rond] Classes gestionnaire pour les DataTable {\bf FitsHandler$<$BaseDataTable$>$}
|
---|
| 1331 | \item[\rond] Mai 2005 : Classe {\bf FITSDataSwapper$<$T$>$} pour la gestion des
|
---|
| 1332 | SwSegDataBlock sur fichiers FITS
|
---|
| 1333 | \end{itemize}
|
---|
[3176] | 1334 | \end{itemize}
|
---|
[2829] | 1335 |
|
---|
[3229] | 1336 | \titre{LinAlg}
|
---|
[2717] | 1337 | Extension des fonctionalits de la classe {\tt LapackServer<T>} :
|
---|
| 1338 | (Juillet 2004 / cmv , Fvrier 2005 / Reza)
|
---|
| 1339 | \begin{itemize}
|
---|
[2911] | 1340 | \item[\rond] Ajout lancement d'exception sur renvoi de code d'erreur par lapack
|
---|
| 1341 | (desactivable par flag au niveau du constructeur de la classe serveur)
|
---|
[2717] | 1342 | \item[\rond] Introduction de l'interface Lapack d'inversion des matrices symetriques (21/7/2004)
|
---|
| 1343 | \item[\rond] Introduction de l'interface Lapack de recherche de valeurs et vecteurs propres
|
---|
| 1344 | (cas general, symetrique et hermitique) (21/7/2004)
|
---|
| 1345 | \item[\rond] Introduction d'un fonction d'interface pour le calculateur de workspace
|
---|
| 1346 | (ilaenv\_) (21/7/2004)
|
---|
| 1347 | \item[\rond] Ajout prog test Tests/tsttminv.cc + Commentaires sur les diverses methodes et sur les matrices FORTRAN (21/7/2004)
|
---|
| 1348 | \item[\rond] Ajout SVD decomp by Divide and Conquer SVD\_DC (23/7/2004)
|
---|
| 1349 | \item[\rond] Ajout Least Square with SVD DC
|
---|
| 1350 | \item[\rond] Ajout methode calcul de la matrice inverse par Lapack en utilisant la
|
---|
| 1351 | resolution de systemes (07/02/2005)
|
---|
| 1352 | \end{itemize}
|
---|
| 1353 |
|
---|
[3229] | 1354 | \titre{IFFTW}
|
---|
[3061] | 1355 | \noindent
|
---|
| 1356 | - Juillet 2007 : Passage a FFTW 3 \\
|
---|
| 1357 | - Nov 2005 : Correction du bug dans le cas de FFT-1D Backward(complex -> reel)
|
---|
[2854] | 1358 | in(1).imag() pouvait etre ecrase.
|
---|
| 1359 |
|
---|
[3229] | 1360 | \titre{PI,PIext,piapp}
|
---|
| 1361 | \soustitre{PI: Classes modifiees - ameliorees}
|
---|
[2717] | 1362 | \begin{itemize}
|
---|
| 1363 | \item[\rond] {\bf PIImageNavigator } \\
|
---|
[2911] | 1364 | Ajout de la classe {\tt PIImageNavigator } permettant de visualiser une image
|
---|
[2717] | 1365 | avec ses propres widget zoom / global view et colormap. (Fevrier 2005) \\
|
---|
| 1366 | Commande {\tt imagnav} ajoute ds piapp/baseexcute.cc . \\
|
---|
| 1367 | \item[\rond] Avril 2005 - Amelioration de la classe {\bf PIConsole} \\
|
---|
| 1368 | 1/Envoi Message PIMSG\_Cancel lors de {\tt <Cntl C>} \\
|
---|
| 1369 | 2/ Correction positionnement curseur lors de rappel de commande,
|
---|
| 1370 | Si possible en fin de commande - mais toujours avec le
|
---|
| 1371 | debut de commande visible. \\
|
---|
| 1372 | 3/ Correction (probable) du petit bug sur les derniers caracteres lors de copier/coller
|
---|
| 1373 | ds PIConsole
|
---|
[2905] | 1374 | \item[\rond] Codage Options graphiques en text (string) pour PIGraphicAtt (Nov-Dec 2005)
|
---|
| 1375 | \item[\rond] Corrections diverses trace d'axes etc ... (Dec 2005)
|
---|
[2971] | 1376 | \item[\rond] PIext rendu indpendant de FITS (Avril 2006) - commandes spcifiques dans
|
---|
| 1377 | ProgPI/fitsbtadapter.cc
|
---|
[3050] | 1378 | \item[\rond] BUG A corriger, DrawOpaqueString ds PIGraphPS (sortie postscript)
|
---|
[2717] | 1379 | \end{itemize}
|
---|
[3229] | 1380 | %%%%
|
---|
| 1381 | \soustitre{ Codage texte des options graphiques (11 Mars 2004)}
|
---|
[2632] | 1382 | \begin{verbatim}
|
---|
| 1383 | // Methode retournant un vecteur de string a partir des options
|
---|
| 1384 | virtual int PIDrawer::OptionToString(vector<string> & opt) const
|
---|
| 1385 | qui vient completer les deux methodes
|
---|
| 1386 | virtual int PIDrawer:: DecodeOptionString(vector<string> & opt, bool ...) et
|
---|
| 1387 | virtual void PIDrawer:: GetOptionsHelpInfo(string& info);
|
---|
| 1388 | Ces methodes s'occupent de decoder les options graphiques (et l'aide
|
---|
| 1389 | associe). La methode ajoutee permet de faire l'operation inverse, fabriquer
|
---|
| 1390 | une serie de chaine de caracteres a partir des options graphiques.
|
---|
| 1391 | Il y a aussi la methode
|
---|
| 1392 | virtual int PIWdgGen::OptionToString(vector<string> & opt) const
|
---|
| 1393 | que j'ai ajoute (rien a faire pour le moment) - ainsi que
|
---|
| 1394 | int PIGraphicAtt::AttToStrings(vector<string> & att) const.
|
---|
| 1395 |
|
---|
| 1396 | Peux-tu remplir la methode PIGraphicAtt::AttToStrings(vector<string> & att) const.
|
---|
| 1397 | L'implementation par defaut de PIDrawer::OptionToString(vector<string> & opt) const
|
---|
| 1398 | appelle PIGraphicAtt::AttToStrings() - a laisser donc tel quel.
|
---|
| 1399 |
|
---|
| 1400 | par contre, pour les autres drawer (PIYfXDrawer, PIFuncDrawer, PIElDrawer,
|
---|
| 1401 | PISurfaceDrawer, PIHisto, PIHisto2D, PINTuple ...) - lorsque
|
---|
| 1402 | DecodeOptionString(vector<string> & opt, bool ...) est modifie,
|
---|
| 1403 | rajouter la methode OptionToString(vector<string> & opt) et verifier le help.
|
---|
| 1404 | Attention, il ne faut pas mettre l'argument opt a zero, mais ajouter des chaines
|
---|
| 1405 | derriere (push_back()) afin de pouvoir cumuler les options de base + options
|
---|
| 1406 | specifiques.
|
---|
| 1407 |
|
---|
| 1408 | Comment tester ?
|
---|
| 1409 | Pour tester, tu peux utiliser la fenetre des options texte ou j'ai ajoute le bouton
|
---|
| 1410 | [GetOption] . Tu peux acceder a cette fenetre a partir de la fenetre des options
|
---|
| 1411 | graphiques <Alt>O , ou directement sur un objet de gestionnaire 2D - par
|
---|
| 1412 | <Alt>T - <Shift>Button-1 permet de selectionner le drawer actif
|
---|
| 1413 | \end{verbatim}
|
---|
| 1414 |
|
---|
[3229] | 1415 | \soustitre{ Trace des axes (11 Mars 2004)}
|
---|
[2632] | 1416 | Ajouter la possibilite de specifier l'origine (le point de croisement des axes)
|
---|
[2911] | 1417 | lorsque les axes ne sont pas de type 'box' - classes PIAxes et PIElDrawer. FAIT
|
---|
[2632] | 1418 |
|
---|
[3229] | 1419 | \soustitre{ Selection graphique (souris) du drawer actif (11 Mars 2004)}
|
---|
[2632] | 1420 | \begin{verbatim}
|
---|
| 1421 | J'ai ajoute la methode PIDrawer::GetDistanceToPoint(double x, double y)
|
---|
| 1422 | // Renvoie une distance au point x,y
|
---|
| 1423 | // 0: au(x) point(s) le(s) plus proche(s) ... 1 au bord xmin/xmax , ymin/ymax
|
---|
| 1424 | // La methode par defaut calcule la distance normalisee au point ((xmin+xmax)/2,
|
---|
| 1425 | (ymin+ymax)/2)
|
---|
| 1426 | virtual double PIDrawer::GetDistanceToPoint(double x, double y);
|
---|
| 1427 |
|
---|
| 1428 | ainsi que ce qu'il faut ds PIBaseWdgGen et ds PIDrawer pour exploiter cette
|
---|
| 1429 | methode + code permettant le test ds PIScDrawWdg.
|
---|
| 1430 | (virtual void PIDrawer::WdgCoord2DrwCoord(int x, int y, double& xu ...
|
---|
| 1431 | virtual int PIBaseWdgGen:;FindNearestDrawerId(int x, int y) ...)
|
---|
| 1432 | Tu as a t'aoccuper de la methode PIDrawer::GetDistanceToPoint(double x, double y)
|
---|
| 1433 | qui doit etre redefinie si possible pour chaque drawer, afin de fournir une
|
---|
| 1434 | distance raisonnable au point (x,y) en argument.
|
---|
| 1435 | J'ai juste mis une implementation par defaut (ds PIDrawer) et une implementation
|
---|
| 1436 | partielle pour PIElDrawer (qui trace les axes en particulier) - qu'il faut
|
---|
| 1437 | completer.
|
---|
| 1438 |
|
---|
| 1439 | Comment tester ?
|
---|
| 1440 | J'ai mis ce qu'il faut ds le gestionnaire 2D (PIScDrawWdg) -
|
---|
| 1441 | <Shift>Button-1 choisit le drawer le plus proche (base sur la
|
---|
| 1442 | valeur de retour de PIDrawer::GetDistanceToPoint(double x, double y)
|
---|
| 1443 | comme drawer actif. Ce drawer est passe en 'highlight' pendant que
|
---|
| 1444 | le bouton est appuye.
|
---|
| 1445 | \end{verbatim}
|
---|
| 1446 |
|
---|
[3229] | 1447 | \soustitre{ Manipulation interactive des drawers (3 Juin 2004) }
|
---|
[2632] | 1448 | La manipulation interactive des drawers ( l'aide d'un menu) a
|
---|
| 1449 | t finalise pour les PIImage PIScDrawWdg PI3DWdg .
|
---|
| 1450 |
|
---|
| 1451 | \begin{verbatim}
|
---|
| 1452 | o <Alt>D affiche le menu avec les differentes option
|
---|
| 1453 | o Move/Resize: Affichage du rectangle + rectangle milieu
|
---|
| 1454 | (deplacement) + coin bas-droite (deplacement) -
|
---|
| 1455 | clicker ailleurs pour finir
|
---|
| 1456 | o Mouse Select : Le mouse select des drawers est gere
|
---|
| 1457 | maintenant par un PIEventHandler (comme pour Move/ReSize)
|
---|
| 1458 | Drawer actif affiche par le rectangle muni d'un petit coin
|
---|
| 1459 | (petit carre + rond dedans, en bas a droite).
|
---|
| 1460 | Click souris change eventuellement le drawer actif.
|
---|
| 1461 | On termine en clickant ds le petit [carre+rond]
|
---|
| 1462 | \end{verbatim}
|
---|
| 1463 |
|
---|
[3229] | 1464 | \soustitre{ Traceur de bar-graph (classe PIBarGraph) (3 Juin 2004) }
|
---|
[2632] | 1465 | Ajout du traceur de bar-graph (classe {\bf PIBarGraph}) ds module PI/
|
---|
| 1466 | et commande {\tt bargraph} ds PIext/basexecut.cc .
|
---|
| 1467 | La commande bargraph ne gere pas encore toutes les possibilites
|
---|
| 1468 | de la classe PIBarGraph. \\
|
---|
| 1469 | Exemple d'utilisation:
|
---|
| 1470 | \begin{verbatim}
|
---|
| 1471 | Cmd> bargraph ' ' -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1472 | Cmd> bargraph 'blue ' -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1473 | Cmd> bargraph 'blue horizontalbars' -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1474 | Cmd> bargraph 'blue horizontalbars barvaluelabel ' -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1475 | Cmd> bargraph 'blue verticalbars nofill barvaluelabel ' -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1476 | Cmd> bargraph 'font=times,bold,16 blue verticalbars nofill barvaluelabel ' \
|
---|
| 1477 | -10. 15. 2 2. 8. 33. 7 -4.
|
---|
| 1478 | Cmd> bargraph 'font=times,bold,16 blue verticalbars fill barvaluelabel packfrac=0.8' \
|
---|
| 1479 | -10. 15. 22. 8. 33. 7 -4.
|
---|
| 1480 | \end{verbatim}
|
---|
| 1481 |
|
---|
[3229] | 1482 | \soustitre{ Traceur de lignes de texte (classe PITextDrawer) (3 Juin 2004) }
|
---|
[2632] | 1483 |
|
---|
| 1484 | Ajout d'une classe de traceur de lignes de texte (classe {\bf PITextDrawer}) et commande
|
---|
| 1485 | {\tt textdrawe}r ds PIext/basexecut.cc . Mais le traceur (et sa commande)
|
---|
| 1486 | doivent etre completes. \\
|
---|
| 1487 | Exemple d'utilisation:
|
---|
| 1488 | \begin{verbatim}
|
---|
| 1489 | # On affiche qque chose
|
---|
| 1490 | Cmd> openppf demo.ppf
|
---|
| 1491 | Cmd> disp h1d
|
---|
| 1492 | Cmd> textdrawer 'frame line=solid,2 font=times,bold,16 red inset' \
|
---|
| 1493 | ' Christophe ' ' Reza Ansari' ' SOPHYA '
|
---|
| 1494 | \end{verbatim}
|
---|
| 1495 |
|
---|
[3229] | 1496 | \soustitre{ Gestion de re-scale-ing des axes en 3D (3 Juin 2004) }
|
---|
[2632] | 1497 |
|
---|
| 1498 | Mise en place complete (?) de la gestion de re-scale-ing des axes en 3D
|
---|
| 1499 | avec gestion des options graphiques (texte) - Il est possible en particulier d'imposer
|
---|
| 1500 | les limites de la boites 3D.
|
---|
| 1501 | cela a ete une grosse prise de tete de tout un apres-midi.
|
---|
| 1502 | J'ai eu ensuite mal a la tete une partie de la soiree ! \\
|
---|
| 1503 | Exemple d'utilisation:
|
---|
| 1504 |
|
---|
| 1505 | \begin{verbatim}
|
---|
| 1506 |
|
---|
| 1507 | # On ouvre le fichier demo.ppf
|
---|
| 1508 | Cmd> openppf demo.ppf
|
---|
| 1509 | Cmd> surf mtx1 'colbr32'
|
---|
| 1510 | Cmd> surf mtx1 'colbr32 noautoscale'
|
---|
| 1511 | Cmd> surf mtx1 'colbr32 lim3dbox=-10,60,-10,60,-3,15 autoscale3dbox'
|
---|
| 1512 | # Affichage avec superposition
|
---|
| 1513 | Cmd> nt3d nt32 x y z - - - - - 'marker=circle,7 red'
|
---|
| 1514 | Cmd> nt3d nt32 x y z - - - - - 'same marker=cross,5 blue '
|
---|
| 1515 | # Ou bien :
|
---|
| 1516 | Cmd> nt3d nt32 x y z - - - - - 'marker=circle,7 red noautoscale'
|
---|
| 1517 | Cmd> nt3d nt32 x y z - - - - - 'same marker=cross,5 blue '
|
---|
| 1518 |
|
---|
| 1519 | \end{verbatim}
|
---|
[3229] | 1520 | \soustitre{piapp (PIext/ProgPI) }
|
---|
[2632] | 1521 | \begin{itemize}
|
---|
[3050] | 1522 | %%%%
|
---|
| 1523 | \item[\rond] Juillet 2006 : Ameliorations et ajouts divers : \\
|
---|
| 1524 | - Ajout commande {\bf plot3dw} ({\tt Services2NObjMgr::DisplayPoints3DW() }) \\
|
---|
| 1525 | - Ajout possibilite d'acces aux caracteristiques des objets par {\tt \$\{objname.att\} } \\
|
---|
| 1526 | {\tt (PIACmd::GetVarApp()) } et amelioration verification du nom des objets
|
---|
| 1527 | (methode {\tt NamedObjMgr::CheckName()}) \\
|
---|
| 1528 | - Operations sur objets: commande {\bf objaoper} ({\tt NObjMgrAdapter::PerformOperation()})
|
---|
| 1529 |
|
---|
| 1530 | \begin{verbatim}
|
---|
| 1531 | # Extracting row / column from matrix
|
---|
| 1532 | Cmd> objaoper matrixname row 23
|
---|
| 1533 | Cmd> objaoper matrixname col 148
|
---|
| 1534 | # Extracting plane from 3D array (slicexy slicexz sliceyz)
|
---|
| 1535 | Cmd> objaoper arr3dname slicexy 14
|
---|
| 1536 | \end{verbatim}
|
---|
| 1537 | %%%%
|
---|
[2971] | 1538 | \item[\rond] Avril 2006: Ajout possibilite de lecture des commandes sur le terminal (stdin)
|
---|
| 1539 | et flag en argument de commande {\tt -small} \\
|
---|
| 1540 | Extrait de cvs log :
|
---|
| 1541 | \begin{verbatim}
|
---|
| 1542 | revision 1.16
|
---|
| 1543 | date: 2006/04/26 15:53:18; author: ansari; state: Exp; lines: +20 -11
|
---|
| 1544 | 1/ Ajout classe de lecture sur stdin (terminal) avec thread separe pour
|
---|
| 1545 | piapp - incluant la possibilite d'utilisation de la librairie GNU readline
|
---|
| 1546 | (fichiers piacmdrdr.cc piacmdrdr.h + fichier makfile specifique makefile_wgrdl
|
---|
| 1547 | pour compil+link avec GNU readline)
|
---|
| 1548 | 2/ MAJ Makefile et modif programme principal piapp.cc avec flag -small
|
---|
| 1549 | et activation thread de lecture sur terminal
|
---|
| 1550 | Reza , 26/04/2006
|
---|
| 1551 |
|
---|
| 1552 | ----------------------------
|
---|
| 1553 | \end{verbatim}
|
---|
| 1554 |
|
---|
[2905] | 1555 | \item[\rond] Jan 2006 : commandes readfits writefits scanfits ont ete ajoutees
|
---|
| 1556 | dans ProgPI/fitsbtadapter.cc en utilisant le nouveau FITS -
|
---|
| 1557 | Le menu OpenFits de PIStdImgApp utilise desormais ces commandes
|
---|
[3301] | 1558 | \item {\bf BUG } a corriger pour {\tt imagvav}:
|
---|
| 1559 | La destruction de l'objet et/ou widget pascorrectement geres -
|
---|
| 1560 | provoque des plantages lors de la sortie de l'application.
|
---|
| 1561 | \end{itemize}
|
---|
| 1562 | \soustitre{piapp multi-thread }
|
---|
| 1563 | \begin{itemize}
|
---|
[3050] | 1564 | \item[\rond] Avril 2005: Possibilit d'execution de commandes en threads separes, en
|
---|
| 1565 | ajoutant {\bf \&} en fin de ligne de commande.
|
---|
| 1566 | \item[\rond] Janvier 2004: Le multithreading a t mis en oeuvre dans piapp .
|
---|
[2717] | 1567 |
|
---|
[2905] | 1568 | \item[\rond] Extrait de {\tt cvs log pistdimgapp.cc } :
|
---|
[2632] | 1569 | \begin{verbatim}
|
---|
[2717] | 1570 | revision 1.77
|
---|
| 1571 | date: 2005/04/27 11:55:00; author: ansari; state: Exp; lines: +26 -10
|
---|
| 1572 | 1/ Prise en charge de DataTable et SwPPFDataTable pour piapp (NObjMgrAdapter) :
|
---|
| 1573 | nomhistadapter.cc et piiinit.cc
|
---|
| 1574 | 2/ Lecture de tous les objets ds un fichier PPF par NamedObjMgr::ReadAll() pour
|
---|
| 1575 | fichier PPF sans nametag.
|
---|
| 1576 | 3/ Ajout bloc try/catch ds PIStdImgApp::Run() (boucle d'evenements)
|
---|
| 1577 | Reza , 27 Avril 2005
|
---|
| 1578 | ----------------------------
|
---|
| 1579 | revision 1.76
|
---|
| 1580 | date: 2005/04/19 09:13:49; author: ansari; state: Exp; lines: +3 -1
|
---|
| 1581 | Ajout de l option nodisp ds les affichages des NamedObjMgr, prise en compte de
|
---|
| 1582 | <Cntrl C> (Msg_Cancel) pour arreter l'execution de l'interpreteur ds PIStdImgApp
|
---|
| 1583 | et remplacement commande breakexe par stop ds PIACmd - Reza 19/4/2005
|
---|
| 1584 | ----------------------------
|
---|
| 1585 | revision 1.75
|
---|
| 1586 | date: 2005/04/19 06:56:52; author: ansari; state: Exp; lines: +5 -4
|
---|
| 1587 | Remis en marche la possibilite d'execution d'un .pic au lancement de piapp -
|
---|
| 1588 | Reza 19/4/2005
|
---|
| 1589 | ----------------------------
|
---|
| 1590 | revision 1.74
|
---|
| 1591 | date: 2005/02/18 14:09:47; author: ansari; state: Exp; lines: +62 -37
|
---|
| 1592 | Modifications pour l'utilisation viewer PIImageNavigator (ajout commande imagnav
|
---|
| 1593 | ) - Reza 18 Fev 2005
|
---|
| 1594 | ----------------------------
|
---|
| 1595 | revision 1.73
|
---|
| 1596 | date: 2004/11/19 17:41:07; author: ansari; state: Exp; lines: +26 -0
|
---|
| 1597 | Ajout commandes addoval addfoval pour trace d'ellipse - Reza 19/11/2004
|
---|
| 1598 | ----------------------------
|
---|
[2632] | 1599 | revision 1.71
|
---|
| 1600 | date: 2004/09/07 07:10:18; author: ansari; state: Exp; lines: +35 -0
|
---|
| 1601 | Ajout bloc try/catch ds piacmd.cc (thread execution commandes) et ds pistdimgapp.cc (
|
---|
| 1602 | methode process, thread boucle d'evts) - Reza 07/09/2004
|
---|
| 1603 | ----------------------------
|
---|
| 1604 | revision 1.70
|
---|
| 1605 | date: 2004/01/06 18:44:56; author: ansari; state: Exp; lines: +11 -1
|
---|
| 1606 | Suite debugging gestion lock entre threads ds piapp - A l'air de
|
---|
| 1607 | marcher sur OSF1 et Linux ... Reza 06/01/2004
|
---|
| 1608 | ----------------------------
|
---|
| 1609 | revision 1.69
|
---|
| 1610 | date: 2004/01/06 17:05:25; author: ansari; state: Exp; lines: +33 -7
|
---|
| 1611 | Suite debug piapp multithread : on ne peut pas utiliser ZSync() ds un if (destructeur
|
---|
| 1612 | appele de suite) - Reza 06/01/2004
|
---|
| 1613 | ----------------------------
|
---|
| 1614 | revision 1.68
|
---|
| 1615 | date: 2004/01/04 19:02:43; author: ansari; state: Exp; lines: +43 -13
|
---|
| 1616 | Suite des modifs pour piapp multi-threads
|
---|
| 1617 | 1) Ajout Mutex de synchronisation ds ls classe NamedObjMgr
|
---|
| 1618 | 2) Suite controle de gestion d'appel aux methodes de PIStdImgApp depuis
|
---|
| 1619 | la classe elle-meme, a travers le NamedObjMgr
|
---|
| 1620 | 3) Modification de la boucle d'evenements, avec un thread de reveil
|
---|
| 1621 | periodique
|
---|
| 1622 | Reza, 4 Janvier 2004
|
---|
| 1623 | \end{verbatim}
|
---|
[2905] | 1624 | \item[\rond] Extrait de {\tt cvs log pistdimgapp.cc } :
|
---|
[2632] | 1625 | \begin{verbatim}
|
---|
| 1626 | ----------------------------
|
---|
| 1627 | revision 1.62
|
---|
| 1628 | date: 2003/11/27 10:51:58; author: ansari; state: Exp; lines: +45 -20
|
---|
| 1629 | Suite modification/adaptations a la classe PIACmd qui herite maintenent de SOPHYA::Co
|
---|
| 1630 | mmander - Reza 27/11/2003
|
---|
| 1631 | ----------------------------
|
---|
| 1632 | revision 1.61
|
---|
| 1633 | date: 2003/11/26 23:01:55; author: ansari; state: Exp; lines: +20 -1755
|
---|
| 1634 | Modification du code de PIACmd : La classe PIACmd herite maintenant de la classe Comm
|
---|
| 1635 | ander (de SysTools) - Reza 26/11/2003
|
---|
| 1636 | ----------------------------
|
---|
| 1637 | revision 1.60
|
---|
| 1638 | date: 2003/07/21 21:13:10; author: cmv; state: Exp; lines: +3 -3
|
---|
| 1639 | - introduction notion de numero de ligne dans expression ntuple
|
---|
| 1640 | modif prototype PlotExprFunc NTLoopExprFunc (add _nl _nstart _nend)
|
---|
| 1641 | modif int_4 -> int_8_exprf (long long) pour _nl (DecodeLoopParameters,
|
---|
| 1642 | PrepareNTExpressionCFile, LinkExprFunc,...)
|
---|
| 1643 | - doc pour _nl _nstart _nend et arragement repartition RegisterHelp/RegisterCommand
|
---|
| 1644 | (rz + cmv 21/7/2003)
|
---|
| 1645 | ----------------------------
|
---|
| 1646 | \end{verbatim}
|
---|
| 1647 | \end{itemize}
|
---|
| 1648 |
|
---|
[3229] | 1649 | \titre{Documentation (Manual/) }
|
---|
| 1650 | %%%%
|
---|
[2632] | 1651 | Documentation des classes de SysTools. \\
|
---|
| 1652 | Extrait message du 12 Aout 2004 : \\
|
---|
| 1653 | \begin{verbatim}
|
---|
| 1654 | ---> Au sujet de la doc (Manual/)
|
---|
| 1655 | J'ai installe doxygen sur le Mac, version 1.3.8 -
|
---|
| 1656 | Il faut updater le fichier de config de depart (dox_sophya.conf)
|
---|
| 1657 | Pour ma part, j'ai du modifier mkmf (en version privee) -
|
---|
| 1658 | En effet, il n'y avait pas le program doxysearch - Je ne sais pas si c'est general
|
---|
| 1659 | ou specifique Mac.
|
---|
| 1660 |
|
---|
| 1661 | J'ai aussi modifie certaines options de doxygen (en version privee)
|
---|
| 1662 | EXTRACT_LOCAL_CLASSES --> NO (au lieu de YES)
|
---|
| 1663 | DETAILS_AT_TOP ---> YES (au lieu de No)
|
---|
| 1664 | SORT_MEMBER_DOCS ---> NO (au lieu de YES)
|
---|
| 1665 |
|
---|
[2829] | 1666 | Si on est d'accord, on peut modifier ces options ds le fichier dox_sophya.conf et
|
---|
[2632] | 1667 | utiliser la fonction update de doxygen (doxygen -u)
|
---|
| 1668 | \end{verbatim}
|
---|
| 1669 |
|
---|
[3229] | 1670 | \titre{Mgr}
|
---|
[3095] | 1671 | \begin{itemize}
|
---|
| 1672 | \item Avril-Mai 2005 : Basculement vers la nouvelle version de scripts
|
---|
[2911] | 1673 | de gestion du code (module {\bf BuildMgr/ } )
|
---|
| 1674 | On n'a plus a se preoccuper des indications de cette section
|
---|
[2829] | 1675 |
|
---|
[3095] | 1676 | \item
|
---|
[2829] | 1677 | Septembre 2003 (17/9/2003) : Changement DPCDEVREP, DPCBASEREP
|
---|
| 1678 | en SOPHYADEVREP , SOPHYABASEREP , EROSCXX en SOPHYACXX
|
---|
[3095] | 1679 | \end{itemize}
|
---|
[2829] | 1680 |
|
---|
| 1681 |
|
---|
| 1682 |
|
---|
[3229] | 1683 | \titre{Plan de modifs pour SOPHYA V 2.x PI/piapp V 4.x }
|
---|
[2829] | 1684 |
|
---|
[3095] | 1685 | {\bf Sep 2006} : La grande majorit\'e des modifs pr\'evues en 2003 ont \'et\'e
|
---|
| 1686 | effectu\'ees. Reste \`a faire , si besoin :
|
---|
| 1687 | \begin{itemize}
|
---|
| 1688 | \item SophyaLib::TArray/
|
---|
[2632] | 1689 | \begin{verbatim}
|
---|
| 1690 | - Ajouter une classe de base abstraite GenericMatrix<T>
|
---|
| 1691 | avec methode d'acces aux elements, nb de lignes, nb de colonnes,
|
---|
| 1692 | - Introduire les TinyMatrix (TinyMatrix<T, int L, int C>)
|
---|
| 1693 | avec passage de/vers TMatrix<T> (et TinyVector<T, int N>) ?
|
---|
| 1694 | - Introduire des matrices creuses simples SpareMatrix<T>
|
---|
| 1695 | - Introduire les DiagonalMatrix<T>
|
---|
[3095] | 1696 | Remarque: Les TMatrix TinyMatrix et SparseMatrix heritent de GenericMatrix
|
---|
[2632] | 1697 | \end{verbatim}
|
---|
| 1698 |
|
---|
[3095] | 1699 | \item PI/ piapp
|
---|
[2632] | 1700 | \begin{verbatim}
|
---|
[3095] | 1701 | o Ajouter un traceur de ApplePie (BarChart fait )
|
---|
[2632] | 1702 | o Ajouter un traceur de Lego-Plot
|
---|
| 1703 | o (?) Une fonction pour faire facilement une fenetre d'alerte ou d'info (?)
|
---|
| 1704 | o Voir comment on pourrait "joindre" deux objets ayant l'interface NTupleInterface
|
---|
| 1705 | pour pouvoir plotter des objets, l'un vs l'autre
|
---|
| 1706 | o (???) Introduire quelque chose du style
|
---|
| 1707 | AddDialogue("Cmd", "dialogue-description)
|
---|
| 1708 | qui pourrait fabriquer automatiquement une fenetre avec des champs a remplir
|
---|
| 1709 | pour les commandes usuelles (???)
|
---|
| 1710 | \end{verbatim}
|
---|
[3095] | 1711 | \end{itemize}
|
---|
[2632] | 1712 |
|
---|
| 1713 |
|
---|
| 1714 | \end{document}
|
---|