tuple_lshtuple_lshTupleLshTupleLshtuple_lsh (Operator)
Name
tuple_lshtuple_lshTupleLshTupleLshtuple_lsh — Bitweises Verschieben eines Tupels nach links.
Signatur
Herror tuple_lsh(const Hlong T, const Hlong Shift, Hlong* Lsh)
Herror T_tuple_lsh(const Htuple T, const Htuple Shift, Htuple* Lsh)
def tuple_lsh(t: MaybeSequence[int], shift: MaybeSequence[int]) -> Sequence[int]
def tuple_lsh_s(t: MaybeSequence[int], shift: MaybeSequence[int]) -> int
Beschreibung
tuple_lshtuple_lshTupleLshTupleLshTupleLshtuple_lsh 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_lshTupleLshTupleLshTupleLshtuple_lsh,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
Lsh := lsh(T, Shift)
Ausführungsinformationen
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
TTTTtt (input_control) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Eingabetupel.
ShiftShiftShiftShiftshiftshift (input_control) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Anzahl Stellen, um die verschoben werden soll.
LshLshLshLshlshlsh (output_control) integer(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Verschobenes Eingabetupel.
Alternativen
tuple_multtuple_multTupleMultTupleMultTupleMulttuple_mult
Siehe auch
tuple_rshtuple_rshTupleRshTupleRshTupleRshtuple_rsh
Modul
Foundation