Changeset 3751 in Sophya


Ignore:
Timestamp:
Mar 3, 2010, 9:46:07 PM (16 years ago)
Author:
ansari
Message:

Prise en charge de float 128 bits (r_16, complex<r_16>) par TArray<T>,TMatrix<T>,TVector<T>. activation par le flag de compilation SO_LDBLE128

Location:
trunk/SophyaLib/TArray
Files:
5 edited

Legend:

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

    r3661 r3751  
    1414//   Les objets delegues pour la gestion de persistance
    1515// --------------------------------------------------------
     16namespace SOPHYA {
     17
    1618/*!
    17   \class SOPHYA::FIO_TArray
     19  \class FIO_TArray
    1820  \ingroup TArray
    1921  Class for persistent management of TArray
     
    225227#pragma define_template FIO_TArray<int_4>
    226228#pragma define_template FIO_TArray<int_8>
     229#pragma define_template FIO_TArray<r_4>
    227230#pragma define_template FIO_TArray<r_8>
    228 #pragma define_template FIO_TArray<r_4>
    229231#pragma define_template FIO_TArray< complex<r_4> >
    230232#pragma define_template FIO_TArray< complex<r_8> >
     233#ifdef SO_LDBLE128
     234#pragma define_template FIO_TArray<r_16>
     235#pragma define_template FIO_TArray< complex<r_16> >
     236#endif
    231237#endif
    232238
    233239#if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES)
    234 namespace SOPHYA {
    235240// Instances des delegues FileIO (PPersist)
    236241template class FIO_TArray<uint_1>;
     
    246251template class FIO_TArray< complex<r_4> >;
    247252template class FIO_TArray< complex<r_8> >;
    248 }
    249 #endif
     253#ifdef SO_LDBLE128
     254template class FIO_TArray<r_16>;
     255template class FIO_TArray< complex<r_16> >;
     256#endif
     257#endif
     258
     259} // FIN namespace SOPHYA
  • trunk/SophyaLib/TArray/tarray.cc

    r3661 r3751  
    15101510  throw MathExc("TArray< complex<r_4> >::MinMax(...) - No order in complex");
    15111511}
    1512 
     1512#ifdef SO_LDBLE128
     1513DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
     1514void TArray< complex<r_16> >::MinMax(complex<r_16>& min, complex<r_16>& max) const
     1515{
     1516  throw MathExc("TArray< complex<r_16> >::MinMax(...) - No order in complex");
     1517}
     1518#endif
    15131519
    15141520// ----------------------------------------------------
     
    16511657#pragma define_template TArray< complex<r_4> >
    16521658#pragma define_template TArray< complex<r_8> >
     1659#ifdef SO_LDBLE128
     1660#pragma define_template TArray<r_16>
     1661#pragma define_template TArray< complex<r_16> >
     1662#endif
    16531663#endif
    16541664
     
    16661676template class TArray< complex<r_4> >;
    16671677template class TArray< complex<r_8> >;
     1678#ifdef SO_LDBLE128
     1679template class TArray<r_16>;
     1680template class TArray< complex<r_16> >;
    16681681#endif
     1682#endif
    16691683
    16701684} // FIN namespace SOPHYA
  • trunk/SophyaLib/TArray/tarrinit.cc

    r3661 r3751  
    2222//   V= 2.04 , Jan/Fev 2007: Ajout TArray::ZeroSize() , RenewObjId() et methodes de cast (arrctcast.h)
    2323//   V= 2.1 , Avr/Jul 2007: Constr.copie/extrac sous-tableaux thread-safe
    24 #define MOD_VERS   2.1
     24//   V= 2.2 , Fev/Nars 2010: Tableaux en long double
     25#define MOD_VERS   2.2
    2526
    2627TArrayInitiator::TArrayInitiator()
     
    8384  DObjRegister(FIO_TArray<r_8>, TVector<r_8>);
    8485
     86#ifdef SO_LDBLE128
     87  PPRegister(FIO_TArray<r_16>);
     88  DObjRegister(FIO_TArray<r_16>, TArray<r_16>);
     89  DObjRegister(FIO_TArray<r_16>, TMatrix<r_16>);
     90  DObjRegister(FIO_TArray<r_16>, TVector<r_16>);
     91#endif
     92
    8593  PPRegister(FIO_TArray< complex<r_4> >);
    8694  DObjRegister(FIO_TArray< complex<r_4> >, TArray< complex<r_4> >);
     
    92100  DObjRegister(FIO_TArray< complex<r_8> >, TMatrix< complex<r_8> >);
    93101  DObjRegister(FIO_TArray< complex<r_8> >, TVector< complex<r_8> >);
     102
     103#ifdef SO_LDBLE128
     104  PPRegister(FIO_TArray< complex<r_16> >);
     105  DObjRegister(FIO_TArray< complex<r_16> >, TArray< complex<r_16> >);
     106  DObjRegister(FIO_TArray< complex<r_16> >, TMatrix< complex<r_16> >);
     107  DObjRegister(FIO_TArray< complex<r_16> >, TVector< complex<r_16> >);
     108#endif
    94109
    95110  SophyaInitiator::RegisterModule("TArray", MOD_VERS);  // Module name and version number registration
  • trunk/SophyaLib/TArray/tmatrix.cc

    r3661 r3751  
    1 // $Id: tmatrix.cc,v 1.38 2009-10-23 19:48:27 cmv Exp $
     1// $Id: tmatrix.cc,v 1.39 2010-03-03 20:46:07 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "sopnamsp.h"
     
    1010#include "tmatrix.h"
    1111
    12 /*!
    13   \class SOPHYA::TMatrix
     12namespace SOPHYA {
     13
     14/*!
     15  \class TMatrix
    1416  \ingroup TArray
    1517 
     
    684686#pragma define_template TMatrix< complex<r_4> >
    685687#pragma define_template TMatrix< complex<r_8> >
     688#ifdef SO_LDBLE128
     689#pragma define_template TMatrix<r_16>
     690#pragma define_template TMatrix< complex<r_16> >
    686691#endif
     692#endif
    687693
    688694#if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES)
    689 namespace SOPHYA {
    690695template class TMatrix<uint_1>;
    691696template class TMatrix<uint_2>;
     
    700705template class TMatrix< complex<r_4> >;
    701706template class TMatrix< complex<r_8> >;
    702 }
     707#ifdef SO_LDBLE128
     708template class TMatrix<r_16>;
     709template class TMatrix< complex<r_16> >;
    703710#endif
     711#endif
     712
     713} // FIN namespace SOPHYA
  • trunk/SophyaLib/TArray/tvector.cc

    r3661 r3751  
    1 // $Id: tvector.cc,v 1.23 2009-10-23 19:48:27 cmv Exp $
     1// $Id: tvector.cc,v 1.24 2010-03-03 20:46:07 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "sopnamsp.h"
     
    77#include "tvector.h"
    88
    9 /*!
    10   \class SOPHYA::TVector
     9namespace SOPHYA {
     10
     11/*!
     12  \class TVector
    1113  \ingroup TArray
    1214
     
    257259#pragma define_template TVector< complex<r_4> >
    258260#pragma define_template TVector< complex<r_8> >
     261#ifdef SO_LDBLE128
     262#pragma define_template TVector<r_16>
     263#pragma define_template TVector< complex<r_16> >
     264#endif
    259265#endif
    260266
    261267#if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES)
    262 namespace SOPHYA {
    263268template class TVector<uint_1>;
    264269template class TVector<uint_2>;
     
    273278template class TVector< complex<r_4> >;
    274279template class TVector< complex<r_8> >;
    275 }
    276 #endif
    277 
     280#ifdef SO_LDBLE128
     281template class TVector<r_16>;
     282template class TVector< complex<r_16> >;
     283#endif
     284#endif
     285
     286} // FIN namespace SOPHYA
     287
Note: See TracChangeset for help on using the changeset viewer.