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