XMLIOSERVER 0.4
Serveur d'Entrées/Sorties parallèles
Référence de la classe xmlioserver::CArrayUtil

Classe regroupant quelques méthodes pratiques pour travailler avec les tableaux multi-dimensionnels de la bibliothèque Boost (ie boost::multi_array). Plus de détails...

#include <array_util.hpp>

Liste de tous les membres

Fonctions membres publiques statiques

template<typename ODataType , typename IDataType , std::size_t Size>
static void Convert (const boost::multi_array< IDataType, Size > &_array_in, boost::multi_array< ODataType, Size > &_array_out)
 Convertit un tableau de données d'un certain type vers un autre.
template<typename DataType , std::size_t Size>
static void Apply1 (const boost::multi_array< DataType, Size > &_input_array1, const boost::multi_array< DataType, Size > &_input_array2, boost::multi_array< DataType, Size > &_output_array, DataType(*_function)(DataType, DataType))
 Applique une opération binaire à des tableaux (tableau et tableau).
template<typename DataType , typename ScalDataType , std::size_t Size>
static void Apply2 (const boost::multi_array< DataType, Size > &_input_array, boost::multi_array< DataType, Size > &_output_array, ScalDataType _scalar, DataType(*_function)(DataType, ScalDataType))
 Applique une opération binaire à un tableau (tableau et scalaire).
template<typename ODataType , typename IDataType , std::size_t Size>
static void SameShape (const boost::multi_array< IDataType, Size > &_array_in, boost::multi_array< ODataType, Size > &_array_out)
 Associe au tableau de sortie le même profil que le tableau d'entrée.

Description détaillée

Classe regroupant quelques méthodes pratiques pour travailler avec les tableaux multi-dimensionnels de la bibliothèque Boost (ie boost::multi_array).

Définition à la ligne 32 du fichier array_util.hpp.


Documentation des fonctions membres

template<typename DataType , std::size_t Size>
void xmlioserver::CArrayUtil::Apply1 ( const boost::multi_array< DataType, Size > &  _input_array1,
const boost::multi_array< DataType, Size > &  _input_array2,
boost::multi_array< DataType, Size > &  _output_array,
DataType(*)(DataType, DataType)  _function 
) [inline, static]

Applique une opération binaire à des tableaux (tableau et tableau).

Template Parameters:
DataType: type de données des tableaux.
Size: dimension des tableaux.
Paramètres:
_input_array1: premier tableau multidimensionnel d'entrée.
_input_array2: second tableau multidimensionnel d'entrée.
_output_array: tableau multidimensionnel de sortie.
_function: opération binaire à appliquer.

Exemple de somme des éléments de deux tableaux

 boost::multi_array<double, 2> 
       input1(boost::extents[10][12]),
       input2(boost::extents[10][12]),
       output(boost::extents[10][12]);
 xios::CArrayUtil::Apply1(input1, input2, output, &xios::AUSum);

Définition à la ligne 34 du fichier array_util_impl.hpp.

template<typename DataType , typename ScalDataType , std::size_t Size>
void xmlioserver::CArrayUtil::Apply2 ( const boost::multi_array< DataType, Size > &  _input_array,
boost::multi_array< DataType, Size > &  _output_array,
ScalDataType  _scalar,
DataType(*)(DataType, ScalDataType)  _function 
) [inline, static]

Applique une opération binaire à un tableau (tableau et scalaire).

Template Parameters:
DataType: type de données du tableau.
ScalDataType: type de données du scalaire.
Size: dimension des tableaux.
Paramètres:
_input_array: tableau multidimensionnel d'entrée.
_output_array: tableau multidimensionnel de sortie.
_scalar: scalaire de type ScalDataType
_function: opération binaire à appliquer.

Exemple de somme des éléments de tableaux avec les scalaire 3.

 boost::multi_array<double, 2> 
       input(boost::extents[10][12]),
       output(boost::extents[10][12]);
 xios::CArrayUtil::Apply2(input, output, 3., &xios::AUSum<double, double>);

Définition à la ligne 48 du fichier array_util_impl.hpp.

template<typename ODataType , typename IDataType , std::size_t Size>
void xmlioserver::CArrayUtil::Convert ( const boost::multi_array< IDataType, Size > &  _array_in,
boost::multi_array< ODataType, Size > &  _array_out 
) [inline, static]

Convertit un tableau de données d'un certain type vers un autre.

Template Parameters:
ODataType: type du tableau d'entrée.
IDataType: type du tableau de sortie.
Size: dimension des tableaux.
Paramètres:
_array_in: un tableau d'entrée de type ODataType.
_array_out: un tableau de sortie de type IDataType.
Remarques:
Les tableaux d'entrée et de sortie sont tous deux de dimension Size.

Exemple de conversion d'un tableau de rééls en double précision en tableau de rééls en simple précision:

 // Conversion de tableau
 const boost::multi_array<double, 3> input(boost::extents[10][12][3]);
 boost::multi_array<float, 3> output;
 xios::CArrayUtil::SameShape(input, output);
 xios::CArrayUtil::Convert(input, output);

Définition à la ligne 24 du fichier array_util_impl.hpp.

template<typename ODataType , typename IDataType , std::size_t Size>
void xmlioserver::CArrayUtil::SameShape ( const boost::multi_array< IDataType, Size > &  _array_in,
boost::multi_array< ODataType, Size > &  _array_out 
) [inline, static]

Associe au tableau de sortie le même profil que le tableau d'entrée.

Template Parameters:
ODataType: type du tableau d'entrée.
IDataType: type du tableau de sortie.
Size: dimension des tableaux.
Paramètres:
_array_in: un tableau d'entrée de type ODataType.
_array_out: un tableau de sortie de type IDataType.
Remarques:
Les tableaux d'entrée et de sortie sont tous deux de dimension Size.

Définition à la ligne 63 du fichier array_util_impl.hpp.


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Énumérations Valeurs énumérées Amis Macros