Compartilhar via


gslice::gslice

Um utilitário de classe a valarray que é usado para definir frações várias dimensões um de valarray.

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

Parâmetros

  • _StartIndex
    Valarray o índice do primeiro elemento no subconjunto.

  • _LenArray
    Uma matriz que especifica o número de elementos em cada fatia.

  • _IncArray
    Uma matriz que especifica a passo sobre cada fatia.

Valor de retorno

O construtor padrão armazena zeros para o índice inicial, e vetores de comprimento zero para vetores de comprimento e de passo.O segundo construtor armazena _StartIndex para o índice inicial, _LenArray para a matriz de comprimento, e _IncArray para a matriz de passo.

Comentários

gslice define um subconjunto de um valarray que consiste em várias frações de valarray que cada início no mesmo elemento especificado.A capacidade de usar matrizes para definir múltiplas frações é a única diferença entre gslice e slice::slice.A primeira fatia tem um primeiro elemento com um índice de _StartIndex, um número de elementos especificados pelo primeiro elemento de _LenArray, e um passo determinado pelo primeiro elemento de _IncArray.Definido após de frações ortogonais tem os primeiros elementos dados pela primeira fatia.o segundo elemento de _LenArray especifica o número de elementos.O passo é determinado pelo segundo elemento de _IncArray.Uma terceira dimensão de frações iria os elementos da matriz bidimensional como elementos inicial e continuaria anàloga

Exemplo

// 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

Cabeçalho: <valarray>

namespace: STD

Consulte também

Referência

gslice Class