Compartir a través de


gslice::gslice

Una clase de utilidad a valarray que se utiliza para definir segmentos multidimensionales de un valarray.

gslice( );
gslice(
   size_t _StartIndex,
   const valarray<size_t>& _LenArray,
   const valarray<size_t>& _IncArray
);

Parámetros

  • _StartIndex
    El índice valarray del primer elemento del subconjunto.

  • _LenArray
    Una matriz que especifica el número de elementos de cada segmento.

  • _IncArray
    Una matriz que especifica el paso grande de cada segmento.

Valor devuelto

El constructor predeterminado almacena cero para el índice inicial, y los vectores de longitud cero para los vectores de longitud y de paso grande.El segundo constructor almacena _StartIndex para el índice inicial, _LenArray para la matriz de longitud, y _IncArray para la matriz de paso grande.

Comentarios

gslice define un subconjunto de un valarray que consta de varios segmentos del valarray que cada empieza en el mismo elemento especificado.La capacidad de utilizar matrices para definir varios segmentos es la única diferencia entre gslice y segmento:: segmento.El primer segmento tiene un primer elemento con un índice de _StartIndex, varios elementos especificados por el primer elemento de _LenArray, y un paso grande proporcionado por el primer elemento de _IncArray.Conjunto de segmentos ortogonales tiene primeros elementos especificados por el primer segmento.el segundo elemento de _LenArray especifica el número de elementos.El paso grande es especificado por el segundo elemento de _IncArray.Una tercera dimensión de segmentos pero los elementos de la matriz bidimensional como elementos que inician y los continuaría análogo

Ejemplo

// gslice_ctor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   valarray<int> va ( 20 ), vaResult;
   for ( i = 0 ; i < 20 ; i+=1 ) 
      va [ i ] =  i;

   cout << "The operand valarray va is:" << endl << "(";
   for ( i = 0 ; i < 20 ; i++ )
      cout << " " << va [ i ];
   cout << " )" << endl;

   valarray<size_t> Len ( 2 ), Stride ( 2 );
   Len [0] = 4;
   Len [1] = 4;
   Stride [0] = 7;
   Stride [1] = 4;

   gslice vaGSlice ( 0, Len, Stride );
   vaResult = va [ vaGSlice ];

   cout << "The valarray for vaGSlice is vaResult:" << endl
        << "va[vaGSlice] = (";
   
   for ( i = 0 ; i < 8 ; i++ )
      cout << " " << vaResult [ i ];
   cout << ")" << endl;
}
  

Requisitos

encabezado: <valarray>

espacio de nombres: std

Vea también

Referencia

gslice Class