Changeset 3809 in Sophya for trunk/SophyaLib/TArray/tarrinit.cc


Ignore:
Timestamp:
Jul 26, 2010, 4:06:56 PM (15 years ago)
Author:
ansari
Message:

1/ Ajout fichiers / classes de matrices carrees speciales (DiagonalMatrix<T>,

SymmetricMatrix<T> LowerTriangularMatrix<T>

2/ Suppression fichier triangmtx.h et la classe TriangularMatrix<T>
3/ adaptation array.h et enregistrement handlers PPF

Reza, 26/07/2010

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/TArray/tarrinit.cc

    r3751 r3809  
    55
    66#include "fioarr.h"
     7#include "fiospsqmtx.h"
    78
    89/*!
     
    2324//   V= 2.1 , Avr/Jul 2007: Constr.copie/extrac sous-tableaux thread-safe
    2425//   V= 2.2 , Fev/Nars 2010: Tableaux en long double
    25 #define MOD_VERS   2.2
     26//   V= 2.3 , Juillet 2010: Ajout des matrices carres Diagonal, Triangulaire, Symmetrique
     27#define MOD_VERS   2.3
     28
     29// Fonction d'enregistrement des handlers matrices carres speciales
     30static void RegisterSSQM_PPFHandlers();
    2631
    2732TArrayInitiator::TArrayInitiator()
     
    108113#endif
    109114
     115  RegisterSSQM_PPFHandlers();   // Enregistrement des gestionnaires PPF des matrices carrees speciales
     116
    110117  SophyaInitiator::RegisterModule("TArray", MOD_VERS);  // Module name and version number registration
    111118}
     
    116123}
    117124
     125// --- Fonction d'initialisation / enregistrement des handlers PPF pour matrices carres speciales
     126static void RegisterSSQM_PPFHandlers()
     127{
     128// Enregistrement des gestionnaires PPF
     129  PPRegister(FIO_SpecialSquareMatrix<uint_1>);
     130  DObjRegister(FIO_SpecialSquareMatrix<uint_1>, DiagonalMatrix<uint_1>);
     131  DObjRegister(FIO_SpecialSquareMatrix<uint_1>, LowerTriangularMatrix<uint_1>);
     132  DObjRegister(FIO_SpecialSquareMatrix<uint_1>, SymmetricMatrix<uint_1>);
     133
     134  PPRegister(FIO_SpecialSquareMatrix<uint_2>);
     135  DObjRegister(FIO_SpecialSquareMatrix<uint_2>, DiagonalMatrix<uint_2>);
     136  DObjRegister(FIO_SpecialSquareMatrix<uint_2>, LowerTriangularMatrix<uint_2>);
     137  DObjRegister(FIO_SpecialSquareMatrix<uint_2>, SymmetricMatrix<uint_2>);
     138
     139  PPRegister(FIO_SpecialSquareMatrix<uint_4>);
     140  DObjRegister(FIO_SpecialSquareMatrix<uint_4>, DiagonalMatrix<uint_4>);
     141  DObjRegister(FIO_SpecialSquareMatrix<uint_4>, LowerTriangularMatrix<uint_4>);
     142  DObjRegister(FIO_SpecialSquareMatrix<uint_4>, SymmetricMatrix<uint_4>);
     143
     144  PPRegister(FIO_SpecialSquareMatrix<uint_8>);
     145  DObjRegister(FIO_SpecialSquareMatrix<uint_8>, DiagonalMatrix<uint_8>);
     146  DObjRegister(FIO_SpecialSquareMatrix<uint_8>, LowerTriangularMatrix<uint_8>);
     147  DObjRegister(FIO_SpecialSquareMatrix<uint_8>, SymmetricMatrix<uint_8>);
     148
     149  PPRegister(FIO_SpecialSquareMatrix<int_1>);
     150  DObjRegister(FIO_SpecialSquareMatrix<int_1>, DiagonalMatrix<int_1>);
     151  DObjRegister(FIO_SpecialSquareMatrix<int_1>, LowerTriangularMatrix<int_1>);
     152  DObjRegister(FIO_SpecialSquareMatrix<int_1>, SymmetricMatrix<int_1>);
     153
     154  PPRegister(FIO_SpecialSquareMatrix<int_2>);
     155  DObjRegister(FIO_SpecialSquareMatrix<int_2>, DiagonalMatrix<int_2>);
     156  DObjRegister(FIO_SpecialSquareMatrix<int_2>, LowerTriangularMatrix<int_2>);
     157  DObjRegister(FIO_SpecialSquareMatrix<int_2>, SymmetricMatrix<int_2>);
     158
     159  PPRegister(FIO_SpecialSquareMatrix<int_4>);
     160  DObjRegister(FIO_SpecialSquareMatrix<int_4>, DiagonalMatrix<int_4>);
     161  DObjRegister(FIO_SpecialSquareMatrix<int_4>, LowerTriangularMatrix<int_4>);
     162  DObjRegister(FIO_SpecialSquareMatrix<int_4>, SymmetricMatrix<int_4>);
     163
     164  PPRegister(FIO_SpecialSquareMatrix<int_8>);
     165  DObjRegister(FIO_SpecialSquareMatrix<int_8>, DiagonalMatrix<int_8>);
     166  DObjRegister(FIO_SpecialSquareMatrix<int_8>, LowerTriangularMatrix<int_8>);
     167  DObjRegister(FIO_SpecialSquareMatrix<int_8>, SymmetricMatrix<int_8>);
     168
     169  PPRegister(FIO_SpecialSquareMatrix<r_4>);
     170  DObjRegister(FIO_SpecialSquareMatrix<r_4>, DiagonalMatrix<r_4>);
     171  DObjRegister(FIO_SpecialSquareMatrix<r_4>, LowerTriangularMatrix<r_4>);
     172  DObjRegister(FIO_SpecialSquareMatrix<r_4>, SymmetricMatrix<r_4>);
     173
     174  PPRegister(FIO_SpecialSquareMatrix<r_8>);
     175  DObjRegister(FIO_SpecialSquareMatrix<r_8>, DiagonalMatrix<r_8>);
     176  DObjRegister(FIO_SpecialSquareMatrix<r_8>, LowerTriangularMatrix<r_8>);
     177  DObjRegister(FIO_SpecialSquareMatrix<r_8>, SymmetricMatrix<r_8>);
     178
     179  PPRegister(FIO_SpecialSquareMatrix< complex<r_4> >);
     180  DObjRegister(FIO_SpecialSquareMatrix< complex<r_4> >, DiagonalMatrix< complex<r_4> >);
     181  DObjRegister(FIO_SpecialSquareMatrix< complex<r_4> >, LowerTriangularMatrix< complex<r_4> >);
     182  DObjRegister(FIO_SpecialSquareMatrix< complex<r_4> >, SymmetricMatrix< complex<r_4> >);
     183
     184  PPRegister(FIO_SpecialSquareMatrix< complex<r_8> >);
     185  DObjRegister(FIO_SpecialSquareMatrix< complex<r_8> >, DiagonalMatrix< complex<r_8> >);
     186  DObjRegister(FIO_SpecialSquareMatrix< complex<r_8> >, LowerTriangularMatrix< complex<r_8> >);
     187  DObjRegister(FIO_SpecialSquareMatrix< complex<r_4> >, SymmetricMatrix< complex<r_8> >);
     188
     189#ifdef SO_LDBLE128
     190  PPRegister(FIO_SpecialSquareMatrix<r_16>);
     191  DObjRegister(FIO_SpecialSquareMatrix<r_16>, DiagonalMatrix<r_16>);
     192  DObjRegister(FIO_SpecialSquareMatrix<r_16>, LowerTriangularMatrix<r_16>);
     193  DObjRegister(FIO_SpecialSquareMatrix<r_16>, SymmetricMatrix<r_16>);
     194
     195  PPRegister(FIO_SpecialSquareMatrix< complex<r_16> >);
     196  DObjRegister(FIO_SpecialSquareMatrix< complex<r_16> >, DiagonalMatrix< complex<r_16> >);
     197  DObjRegister(FIO_SpecialSquareMatrix< complex<r_16> >, LowerTriangularMatrix< complex<r_16> >);
     198  DObjRegister(FIO_SpecialSquareMatrix< complex<r_16> >, SymmetricMatrix< complex<r_16> >);
     199#endif
     200
     201  return;
     202}
     203
     204
     205
    118206
    119207// On met un objet initiator en statique, pour les loaders qui savent
Note: See TracChangeset for help on using the changeset viewer.