KlassenKlassenKlassenKlassen | | | | Operatoren

tuple_lshtuple_lshTupleLshtuple_lshTupleLshTupleLsh (Operator)

Name

tuple_lshtuple_lshTupleLshtuple_lshTupleLshTupleLsh — Bitweises Verschieben eines Tupels nach links.

Signatur

tuple_lsh( : : T, Shift : Lsh)

Herror tuple_lsh(const Hlong T, const Hlong Shift, Hlong* Lsh)

Herror T_tuple_lsh(const Htuple T, const Htuple Shift, Htuple* Lsh)

Herror tuple_lsh(const HTuple& T, const HTuple& Shift, Hlong* Lsh)

Herror tuple_lsh(const HTuple& T, const HTuple& Shift, HTuple* Lsh)

void TupleLsh(const HTuple& T, const HTuple& Shift, HTuple* Lsh)

HTuple HTuple::TupleLsh(const HTuple& Shift) const

void HOperatorSetX.TupleLsh(
[in] VARIANT T, [in] VARIANT Shift, [out] VARIANT* Lsh)

VARIANT HTupleX.TupleLsh(
[in] VARIANT T, [in] VARIANT Shift)

static void HOperatorSet.TupleLsh(HTuple t, HTuple shift, out HTuple lsh)

HTuple HTuple.TupleLsh(HTuple shift)

Beschreibung

tuple_lshtuple_lshTupleLshtuple_lshTupleLshTupleLsh verschiebt das Tupel TTTTTt bitweise um ShiftShiftShiftShiftShiftshift Stellen nach links. Falls kein Überlauf eintritt, ist diese Operation äquivalent zu einer Multiplikation mit 2^{ShiftShiftShiftShiftShiftshift}. Falls TTTTTt negativ ist, hängt das Ergebnis von der Rechnerarchitektur ab. Das Ergebnis ist undefiniert, falls ShiftShiftShiftShiftShiftshift negativ oder größer als 32 ist. Falls beide Tupel dieselbe Länge haben, werden die entsprechenden Elemente der beiden Tupel veknüpft. Ansonsten muss entweder TTTTTt oder ShiftShiftShiftShiftShiftshift die Länge 1 haben. In diesem Fall wird die Operation für jedes Element des längeren Tupels mit dem einzigen Element des anderen Tupels ausgeführt. Die Eingabezahlen müssen ganze Zahlen sein.

Sonderfall: Leere Eingabetupel

Falls eines oder beide der Eingabetupel leer sind, gibt der Operator ein leeres Tupel zurück.

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_lshtuple_lshTupleLshtuple_lshTupleLshTupleLsh, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Lsh := lsh(T, Shift)

Parallelisierung

Parameter

TTTTTt (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Eingabetupel.

ShiftShiftShiftShiftShiftshift (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Anzahl Stellen, um die verschoben werden soll.

LshLshLshLshLshlsh (output_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Verschobenes Eingabetupel.

Alternativen

tuple_multtuple_multTupleMulttuple_multTupleMultTupleMult

Siehe auch

tuple_rshtuple_rshTupleRshtuple_rshTupleRshTupleRsh

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren