Lines Matching refs:ElemType

320   using ElemType = int;
321 static constexpr ElemType Ignore = ElemType(-1);
333 PermNetwork(ArrayRef<ElemType> Ord, unsigned Mult = 1) {
363 uint8_t ctl(ElemType Pos, unsigned Step) const {
375 std::vector<ElemType> Order;
381 ForwardDeltaNetwork(ArrayRef<ElemType> Ord) : PermNetwork(Ord) {}
391 bool route(ElemType *P, RowType *T, unsigned Size, unsigned Step);
395 ReverseDeltaNetwork(ArrayRef<ElemType> Ord) : PermNetwork(Ord) {}
405 bool route(ElemType *P, RowType *T, unsigned Size, unsigned Step);
409 BenesNetwork(ArrayRef<ElemType> Ord) : PermNetwork(Ord, 2) {}
421 bool route(ElemType *P, RowType *T, unsigned Size, unsigned Step);
425 bool ForwardDeltaNetwork::route(ElemType *P, RowType *T, unsigned Size,
428 ElemType Num = Size;
434 for (ElemType J = 0; J != Num; ++J) {
435 ElemType I = P[J];
447 ElemType U = (S == Pass) ? I : (I < Num/2 ? I+Num/2 : I-Num/2);
457 for (ElemType J = 0; J != Num; ++J)
470 bool ReverseDeltaNetwork::route(ElemType *P, RowType *T, unsigned Size,
474 ElemType Num = Size;
483 for (ElemType J = 0; J != Num; ++J) {
484 ElemType I = P[J];
516 for (ElemType J = 0, E = Size / 2; J != E; ++J) {
517 ElemType PJ = P[J]; // Current values of P[J]
518 ElemType PC = P[J+Size/2]; // and P[conj(J)]
519 ElemType QJ = PJ; // New values of P[J]
520 ElemType QC = PC; // and P[conj(J)]
529 for (ElemType J = 0; J != Num; ++J)
542 bool BenesNetwork::route(ElemType *P, RowType *T, unsigned Size,
548 ElemType Num = Size;
557 for (ElemType J = 0; J != Num; ++J) {
558 ElemType I = P[J];
587 for (ElemType J = 0; J != Num/2; ++J) {
588 ElemType PJ = P[J]; // Current values of P[J]
589 ElemType PC = P[J+Num/2]; // and P[conj(J)]
590 ElemType QJ = PJ; // New values of P[J]
591 ElemType QC = PC; // and P[conj(J)]
600 for (ElemType J = 0; J != Num; ++J)