Zip вместо ZipTuple
This commit is contained in:
parent
08c5c765b7
commit
d61d7fe017
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "9";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "3454";
|
||||
public const string Revision = "3456";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=0
|
||||
%REVISION%=3454
|
||||
%REVISION%=3456
|
||||
%MINOR%=9
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
<p>
|
||||
(операнды и результат представлены в двоичной форме).</p>
|
||||
<p>
|
||||
Операции not, and, or и xor предназначены для работы с беззнаковыми целыми.
|
||||
Знаковые целые трактуются как беззнаковые, с этой точки зрения применеие этих
|
||||
операций к знаковым целым лишено смысла.</p>
|
||||
<p>
|
||||
Операциии <strong><span class="auto-style1">shl</span></strong> и <strong>
|
||||
<span class="auto-style1">shr</span></strong> имеют вид:</p>
|
||||
<blockquote>
|
||||
|
|
@ -70,6 +74,8 @@ a <strong>shr</strong> n</code>
|
|||
поскольку 3=11<sub>2</sub>, после сдвига влево на 2 позиции 11<sub>2</sub> преобразуется в 1100<sub>2</sub>=12, а
|
||||
12=1100<sub>2</sub> после сдвига вправо на 2 позиции преобразуется в 11<sub>2</sub>=3.</p>
|
||||
<p>
|
||||
Для знаковых целых операции shl и shr сохраняют знак.</p>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.9.0.3454
|
||||
3.9.0.3456
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.9.0.3454'
|
||||
!define VERSION '3.9.0.3456'
|
||||
|
|
|
|||
|
|
@ -10866,7 +10866,37 @@ begin
|
|||
raise new System.ArgumentNullException('b');
|
||||
if c = nil then
|
||||
raise new System.ArgumentNullException('c');
|
||||
Result := Self.Zip(a, (x, y)-> (x, y)).Zip(b, (p, z)-> (p[0], p[1], z)).Zip(c, (p, z)-> (p[0], p[1], p[2], z));
|
||||
Result := Self.Zip(a, (x, y)-> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z)).Zip(c, (p, z) -> (p[0], p[1], p[2], z));
|
||||
end;
|
||||
|
||||
/// Объединяет две последовательности в последовательность двухэлементных кортежей
|
||||
function Zip<T, T1>(Self: sequence of T; a: sequence of T1): sequence of (T, T1); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y));
|
||||
end;
|
||||
|
||||
/// Объединяет три последовательности в последовательность трехэлементных кортежей
|
||||
function Zip<T, T1, T2>(Self: sequence of T; a: sequence of T1; b: sequence of T2): sequence of (T, T1, T2); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
if b = nil then
|
||||
raise new System.ArgumentNullException('b');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z));
|
||||
end;
|
||||
|
||||
/// Объединяет четыре последовательности в последовательность четырехэлементных кортежей
|
||||
function Zip<T, T1, T2, T3>(Self: sequence of T; a: sequence of T1; b: sequence of T2; c: sequence of T3): sequence of (T, T1, T2, T3); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
if b = nil then
|
||||
raise new System.ArgumentNullException('b');
|
||||
if c = nil then
|
||||
raise new System.ArgumentNullException('c');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z)).Zip(c, (p, z) -> (p[0], p[1], p[2], z));
|
||||
end;
|
||||
|
||||
/// Разъединяет последовательность двухэлементных кортежей на две последовательности. Реализуется двухпроходным алгоритмом
|
||||
|
|
|
|||
|
|
@ -10866,7 +10866,37 @@ begin
|
|||
raise new System.ArgumentNullException('b');
|
||||
if c = nil then
|
||||
raise new System.ArgumentNullException('c');
|
||||
Result := Self.Zip(a, (x, y)-> (x, y)).Zip(b, (p, z)-> (p[0], p[1], z)).Zip(c, (p, z)-> (p[0], p[1], p[2], z));
|
||||
Result := Self.Zip(a, (x, y)-> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z)).Zip(c, (p, z) -> (p[0], p[1], p[2], z));
|
||||
end;
|
||||
|
||||
/// Объединяет две последовательности в последовательность двухэлементных кортежей
|
||||
function Zip<T, T1>(Self: sequence of T; a: sequence of T1): sequence of (T, T1); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y));
|
||||
end;
|
||||
|
||||
/// Объединяет три последовательности в последовательность трехэлементных кортежей
|
||||
function Zip<T, T1, T2>(Self: sequence of T; a: sequence of T1; b: sequence of T2): sequence of (T, T1, T2); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
if b = nil then
|
||||
raise new System.ArgumentNullException('b');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z));
|
||||
end;
|
||||
|
||||
/// Объединяет четыре последовательности в последовательность четырехэлементных кортежей
|
||||
function Zip<T, T1, T2, T3>(Self: sequence of T; a: sequence of T1; b: sequence of T2; c: sequence of T3): sequence of (T, T1, T2, T3); extensionmethod;
|
||||
begin
|
||||
if a = nil then
|
||||
raise new System.ArgumentNullException('a');
|
||||
if b = nil then
|
||||
raise new System.ArgumentNullException('b');
|
||||
if c = nil then
|
||||
raise new System.ArgumentNullException('c');
|
||||
Result := Self.Zip(a, (x, y) -> (x, y)).Zip(b, (p, z) -> (p[0], p[1], z)).Zip(c, (p, z) -> (p[0], p[1], p[2], z));
|
||||
end;
|
||||
|
||||
/// Разъединяет последовательность двухэлементных кортежей на две последовательности. Реализуется двухпроходным алгоритмом
|
||||
|
|
|
|||
|
|
@ -3219,6 +3219,15 @@
|
|||
<member name="M:ZipTuple``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2},System.Collections.Generic.IEnumerable{``3})">
|
||||
<summary>Объединяет четыре последовательности в последовательность четырехэлементных кортежей</summary>
|
||||
</member>
|
||||
<member name="M:Zip``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1})">
|
||||
<summary>Объединяет две последовательности в последовательность двухэлементных кортежей</summary>
|
||||
</member>
|
||||
<member name="M:Zip``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2})">
|
||||
<summary>Объединяет три последовательности в последовательность трехэлементных кортежей</summary>
|
||||
</member>
|
||||
<member name="M:Zip``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2},System.Collections.Generic.IEnumerable{``3})">
|
||||
<summary>Объединяет четыре последовательности в последовательность четырехэлементных кортежей</summary>
|
||||
</member>
|
||||
<member name="M:UnZipTuple``2(System.Collections.Generic.IEnumerable{System.Tuple{``0,``1}})">
|
||||
<summary>Разъединяет последовательность двухэлементных кортежей на две последовательности. Реализуется двухпроходным алгоритмом</summary>
|
||||
</member>
|
||||
|
|
|
|||
Loading…
Reference in a new issue