From eb2230d65ad3f968052353c715af157794121dce Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 8 Sep 2023 20:36:06 +0300 Subject: [PATCH 01/44] Optimize PrimitiveColumnContainer.Clone method --- src/Microsoft.Data.Analysis/DataFrameBuffer.cs | 3 ++- .../PrimitiveColumnContainer.cs | 15 +++------------ test/Microsoft.Data.Analysis.Tests/BufferTests.cs | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index e4ee20f9b6..a22f94c56d 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -38,10 +38,11 @@ public Span RawSpan public DataFrameBuffer(int numberOfValues = 8) : base(numberOfValues) { } - internal DataFrameBuffer(ReadOnlyMemory buffer, int length) : base(buffer, length) + internal DataFrameBuffer(ReadOnlyMemory buffer, int length) { _memory = new byte[buffer.Length]; buffer.CopyTo(_memory); + Length = length; } public void Append(T value) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 1e37ac2206..aa713a66c5 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -9,6 +9,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; +using Microsoft.ML.Data; namespace Microsoft.Data.Analysis { @@ -436,13 +437,8 @@ private List> CloneNullBitMapBuffers() List> ret = new List>(); foreach (ReadOnlyDataFrameBuffer buffer in NullBitMapBuffers) { - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.ReadOnlyBuffer, buffer.Length); ret.Add(newBuffer); - ReadOnlySpan span = buffer.ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - newBuffer.Append(span[i]); - } } return ret; } @@ -518,14 +514,9 @@ public PrimitiveColumnContainer Clone() var ret = new PrimitiveColumnContainer(); foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.ReadOnlyBuffer, buffer.Length); ret.Buffers.Add(newBuffer); - ReadOnlySpan span = buffer.ReadOnlySpan; ret.Length += buffer.Length; - for (int i = 0; i < span.Length; i++) - { - newBuffer.Append(span[i]); - } } ret.NullBitMapBuffers = CloneNullBitMapBuffers(); ret.NullCount = NullCount; diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index bc8f66d822..3a88e2eddc 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -79,7 +79,6 @@ public void TestNullCounts() Assert.Equal(2, intColumn[3]); Assert.Null(intColumn[4]); Assert.Equal(3, intColumn[5]); - } [Fact] @@ -134,6 +133,20 @@ public void TestAppendMany() Assert.False(intColumn.IsValid(7)); } + [Fact] + public void TestClone() + { + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1", new int?[] { 1, 2, 3, 4, null }); + var copy = intColumn.Clone(); + + Assert.Equal(intColumn.Name, copy.Name); + Assert.Equal(intColumn.Length, copy.Length); + Assert.Equal(intColumn.DataType, copy.DataType); + + for (int i = 0; i < intColumn.Length; i++) + Assert.Equal(intColumn[i], copy[i]); + } + [Fact] public void TestBasicArrowStringColumn() { From 67af2766bdc0dd931d0ada2232cde6175d13e897 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 8 Sep 2023 21:22:35 +0300 Subject: [PATCH 02/44] Avoid unnecessary type conversion during binary operations --- ...BinaryOperationImplementations.Exploded.cs | 70 +++++++++---------- ...BinaryOperationImplementations.Exploded.tt | 2 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs index ac8035f0ba..6a54acb85e 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs @@ -19,7 +19,7 @@ internal DecimalDataFrameColumn AddImplementation(DecimalDataFrameColumn column, { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); + DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -32,7 +32,7 @@ internal DoubleDataFrameColumn AddImplementation(DoubleDataFrameColumn column, b { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); + DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -45,7 +45,7 @@ internal SingleDataFrameColumn AddImplementation(SingleDataFrameColumn column, b { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); + SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -58,7 +58,7 @@ internal Int32DataFrameColumn AddImplementation(Int32DataFrameColumn column, boo { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); + Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -71,7 +71,7 @@ internal Int64DataFrameColumn AddImplementation(Int64DataFrameColumn column, boo { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); + Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -84,7 +84,7 @@ internal UInt32DataFrameColumn AddImplementation(UInt32DataFrameColumn column, b { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); + UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -97,7 +97,7 @@ internal UInt64DataFrameColumn AddImplementation(UInt64DataFrameColumn column, b { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); + UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.Add(column.ColumnContainer); return newColumn; } @@ -250,7 +250,7 @@ internal DecimalDataFrameColumn SubtractImplementation(DecimalDataFrameColumn co { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); + DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -263,7 +263,7 @@ internal DoubleDataFrameColumn SubtractImplementation(DoubleDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); + DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -276,7 +276,7 @@ internal SingleDataFrameColumn SubtractImplementation(SingleDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); + SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -289,7 +289,7 @@ internal Int32DataFrameColumn SubtractImplementation(Int32DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); + Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -302,7 +302,7 @@ internal Int64DataFrameColumn SubtractImplementation(Int64DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); + Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -315,7 +315,7 @@ internal UInt32DataFrameColumn SubtractImplementation(UInt32DataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); + UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -328,7 +328,7 @@ internal UInt64DataFrameColumn SubtractImplementation(UInt64DataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); + UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.Subtract(column.ColumnContainer); return newColumn; } @@ -481,7 +481,7 @@ internal DecimalDataFrameColumn MultiplyImplementation(DecimalDataFrameColumn co { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); + DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -494,7 +494,7 @@ internal DoubleDataFrameColumn MultiplyImplementation(DoubleDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); + DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -507,7 +507,7 @@ internal SingleDataFrameColumn MultiplyImplementation(SingleDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); + SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -520,7 +520,7 @@ internal Int32DataFrameColumn MultiplyImplementation(Int32DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); + Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -533,7 +533,7 @@ internal Int64DataFrameColumn MultiplyImplementation(Int64DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); + Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -546,7 +546,7 @@ internal UInt32DataFrameColumn MultiplyImplementation(UInt32DataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); + UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -559,7 +559,7 @@ internal UInt64DataFrameColumn MultiplyImplementation(UInt64DataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); + UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.Multiply(column.ColumnContainer); return newColumn; } @@ -712,7 +712,7 @@ internal DecimalDataFrameColumn DivideImplementation(DecimalDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); + DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -725,7 +725,7 @@ internal DoubleDataFrameColumn DivideImplementation(DoubleDataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); + DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -738,7 +738,7 @@ internal SingleDataFrameColumn DivideImplementation(SingleDataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); + SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -751,7 +751,7 @@ internal Int32DataFrameColumn DivideImplementation(Int32DataFrameColumn column, { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); + Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -764,7 +764,7 @@ internal Int64DataFrameColumn DivideImplementation(Int64DataFrameColumn column, { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); + Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -777,7 +777,7 @@ internal UInt32DataFrameColumn DivideImplementation(UInt32DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); + UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -790,7 +790,7 @@ internal UInt64DataFrameColumn DivideImplementation(UInt64DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); + UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.Divide(column.ColumnContainer); return newColumn; } @@ -943,7 +943,7 @@ internal DecimalDataFrameColumn ModuloImplementation(DecimalDataFrameColumn colu { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); + DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -956,7 +956,7 @@ internal DoubleDataFrameColumn ModuloImplementation(DoubleDataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); + DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -969,7 +969,7 @@ internal SingleDataFrameColumn ModuloImplementation(SingleDataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); + SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -982,7 +982,7 @@ internal Int32DataFrameColumn ModuloImplementation(Int32DataFrameColumn column, { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); + Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -995,7 +995,7 @@ internal Int64DataFrameColumn ModuloImplementation(Int64DataFrameColumn column, { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); + Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -1008,7 +1008,7 @@ internal UInt32DataFrameColumn ModuloImplementation(UInt32DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); + UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } @@ -1021,7 +1021,7 @@ internal UInt64DataFrameColumn ModuloImplementation(UInt64DataFrameColumn column { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); + UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.Modulo(column.ColumnContainer); return newColumn; } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt index 001aab32b1..89eede1a0c 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt @@ -76,7 +76,7 @@ void GenerateAllBinaryCombinationsForMethod(string inputMethodName) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - <#=fullReturnType#> newColumn = inPlace ? this : CloneAs<#=capitalizedReturnType#>Column(); + <#=fullReturnType#> newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); newColumn.ColumnContainer.<#=inputMethodName#>(column.ColumnContainer); return newColumn; } From cbc7c4d512e960d30fead475b59798161691f749 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 8 Sep 2023 22:02:06 +0300 Subject: [PATCH 03/44] Remove using --- src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index aa713a66c5..627efdea26 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -using Microsoft.ML.Data; namespace Microsoft.Data.Analysis { From 63d983a1a26789136dfe660db95a561d85132609 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Sat, 9 Sep 2023 09:05:54 +0300 Subject: [PATCH 04/44] Fix DataFrameBuffer constructor --- .../DataFrameBuffer.cs | 11 +++++- .../PrimitiveColumnContainer.cs | 37 +++++++------------ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index a22f94c56d..c0f2af2f4c 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -5,6 +5,7 @@ using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using Microsoft.ML.Data; namespace Microsoft.Data.Analysis { @@ -36,7 +37,15 @@ public Span RawSpan get => MemoryMarshal.Cast(Buffer.Span); } - public DataFrameBuffer(int numberOfValues = 8) : base(numberOfValues) { } + public DataFrameBuffer(int numberOfValues = 8) + { + if ((long)numberOfValues * Size > MaxCapacity) + { + throw new ArgumentException($"{numberOfValues} exceeds buffer capacity", nameof(numberOfValues)); + } + + _memory = new byte[numberOfValues]; + } internal DataFrameBuffer(ReadOnlyMemory buffer, int length) { diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 627efdea26..78d58bbca5 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -527,9 +527,9 @@ internal PrimitiveColumnContainer CloneAsBoolContainer() var ret = new PrimitiveColumnContainer(); foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); + if (typeof(T) == typeof(bool)) { var localBuffer = buffer; @@ -554,9 +554,8 @@ internal PrimitiveColumnContainer CloneAsByteContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -574,9 +573,8 @@ internal PrimitiveColumnContainer CloneAsSByteContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -594,9 +592,8 @@ internal PrimitiveColumnContainer CloneAsDoubleContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -614,9 +611,8 @@ internal PrimitiveColumnContainer CloneAsDecimalContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -634,9 +630,8 @@ internal PrimitiveColumnContainer CloneAsShortContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -654,9 +649,8 @@ internal PrimitiveColumnContainer CloneAsUShortContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -674,9 +668,8 @@ internal PrimitiveColumnContainer CloneAsIntContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -694,9 +687,8 @@ internal PrimitiveColumnContainer CloneAsUIntContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -714,9 +706,8 @@ internal PrimitiveColumnContainer CloneAsLongContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -734,9 +725,8 @@ internal PrimitiveColumnContainer CloneAsULongContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { @@ -754,9 +744,8 @@ internal PrimitiveColumnContainer CloneAsFloatContainer() foreach (ReadOnlyDataFrameBuffer buffer in Buffers) { ret.Length += buffer.Length; - DataFrameBuffer newBuffer = new DataFrameBuffer(); + DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); - newBuffer.EnsureCapacity(buffer.Length); ReadOnlySpan span = buffer.ReadOnlySpan; for (int i = 0; i < span.Length; i++) { From 6abf02e2394b893230888ddd829e47407f56d218 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Sat, 9 Sep 2023 09:08:51 +0300 Subject: [PATCH 05/44] remove uncorrectly added using --- src/Microsoft.Data.Analysis/DataFrameBuffer.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index c0f2af2f4c..0f73eadf48 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -5,7 +5,6 @@ using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using Microsoft.ML.Data; namespace Microsoft.Data.Analysis { From 1a47ce44fd1a0504e82c18e4d51ab137e6ba6c68 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Sun, 10 Sep 2023 10:20:13 +0300 Subject: [PATCH 06/44] Make DataFrameBuffer Length field protected --- .../ArrowStringDataFrameColumn.cs | 6 +++--- src/Microsoft.Data.Analysis/DataFrameBuffer.cs | 16 ++++++++++++---- .../PrimitiveColumnContainer.cs | 14 +++++--------- .../ReadOnlyDataFrameBuffer.cs | 11 ++++++----- 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.Data.Analysis/ArrowStringDataFrameColumn.cs b/src/Microsoft.Data.Analysis/ArrowStringDataFrameColumn.cs index 56041711e3..d0b9479e17 100644 --- a/src/Microsoft.Data.Analysis/ArrowStringDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/ArrowStringDataFrameColumn.cs @@ -213,9 +213,9 @@ private void Append(ReadOnlySpan value) _offsetsBuffers.Add(mutableOffsetsBuffer); mutableOffsetsBuffer.Append(0); } - mutableDataBuffer.EnsureCapacity(value.Length); - value.CopyTo(mutableDataBuffer.RawSpan.Slice(mutableDataBuffer.Length)); - mutableDataBuffer.Length += value.Length; + var startIndex = mutableDataBuffer.Length; + mutableDataBuffer.IncreaseSize(value.Length); + value.CopyTo(mutableDataBuffer.RawSpan.Slice(startIndex)); mutableOffsetsBuffer.Append(mutableOffsetsBuffer[mutableOffsetsBuffer.Length - 1] + value.Length); } SetValidityBit(Length - 1, value != default); diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index 0f73eadf48..7aee0a552e 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -15,6 +15,8 @@ namespace Microsoft.Data.Analysis internal class DataFrameBuffer : ReadOnlyDataFrameBuffer where T : unmanaged { + private const int MinCapacity = 8; + private Memory _memory; public override ReadOnlyMemory ReadOnlyBuffer => _memory; @@ -36,14 +38,14 @@ public Span RawSpan get => MemoryMarshal.Cast(Buffer.Span); } - public DataFrameBuffer(int numberOfValues = 8) + public DataFrameBuffer(int capacity = 0) { - if ((long)numberOfValues * Size > MaxCapacity) + if ((long)capacity * Size > MaxCapacity) { - throw new ArgumentException($"{numberOfValues} exceeds buffer capacity", nameof(numberOfValues)); + throw new ArgumentException($"{capacity} exceeds buffer capacity", nameof(capacity)); } - _memory = new byte[numberOfValues]; + _memory = new byte[Math.Max(capacity, MinCapacity)]; } internal DataFrameBuffer(ReadOnlyMemory buffer, int length) @@ -65,6 +67,12 @@ public void Append(T value) Span[Length - 1] = value; } + public void IncreaseSize(int numberOfValues) + { + EnsureCapacity(numberOfValues); + Length += numberOfValues; + } + public void EnsureCapacity(int numberOfValues) { long newLength = Length + (long)numberOfValues; diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 78d58bbca5..8c9700fb0e 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -67,9 +67,8 @@ public PrimitiveColumnContainer(ReadOnlyMemory buffer, ReadOnlyMemory dataBuffer; if (buffer.IsEmpty) { - DataFrameBuffer mutableBuffer = new DataFrameBuffer(); - mutableBuffer.EnsureCapacity(length); - mutableBuffer.Length = length; + DataFrameBuffer mutableBuffer = new DataFrameBuffer(length); + mutableBuffer.IncreaseSize(length); mutableBuffer.RawSpan.Fill(default(T)); dataBuffer = mutableBuffer; } @@ -172,15 +171,12 @@ public void AppendMany(T? value, long count) //Calculate how many values we can additionaly allocate and not exceed the MaxCapacity int allocatable = (int)Math.Min(remaining, ReadOnlyDataFrameBuffer.MaxCapacity - mutableLastBuffer.Length); - mutableLastBuffer.EnsureCapacity(allocatable); + mutableLastBuffer.IncreaseSize(allocatable); DataFrameBuffer lastNullBitMapBuffer = NullBitMapBuffers.GetOrCreateMutable(NullBitMapBuffers.Count - 1); int nullBufferAllocatable = (allocatable + 7) / 8; - lastNullBitMapBuffer.EnsureCapacity(nullBufferAllocatable); + lastNullBitMapBuffer.IncreaseSize(nullBufferAllocatable); - - mutableLastBuffer.Length += allocatable; - lastNullBitMapBuffer.Length += nullBufferAllocatable; Length += allocatable; if (value.HasValue) @@ -529,6 +525,7 @@ internal PrimitiveColumnContainer CloneAsBoolContainer() { DataFrameBuffer newBuffer = new DataFrameBuffer(buffer.Length); ret.Buffers.Add(newBuffer); + newBuffer.IncreaseSize(buffer.Length); if (typeof(T) == typeof(bool)) { @@ -540,7 +537,6 @@ internal PrimitiveColumnContainer CloneAsBoolContainer() { newBuffer.Span.Fill(false); } - newBuffer.Length = buffer.Length; ret.Length += buffer.Length; } ret.NullBitMapBuffers = CloneNullBitMapBuffers(); diff --git a/src/Microsoft.Data.Analysis/ReadOnlyDataFrameBuffer.cs b/src/Microsoft.Data.Analysis/ReadOnlyDataFrameBuffer.cs index a6a41089e7..069aa3e94a 100644 --- a/src/Microsoft.Data.Analysis/ReadOnlyDataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/ReadOnlyDataFrameBuffer.cs @@ -48,15 +48,16 @@ public ReadOnlySpan ReadOnlySpan get => (MemoryMarshal.Cast(ReadOnlyBuffer.Span)).Slice(0, Length); } - public int Length { get; internal set; } + public int Length { get; protected set; } - public ReadOnlyDataFrameBuffer(int numberOfValues = 8) + public ReadOnlyDataFrameBuffer(int length = 0) { - if ((long)numberOfValues * Size > MaxCapacity) + if ((long)length * Size > MaxCapacity) { - throw new ArgumentException($"{numberOfValues} exceeds buffer capacity", nameof(numberOfValues)); + throw new ArgumentException($"{length} exceeds buffer capacity", nameof(length)); } - _readOnlyBuffer = new byte[numberOfValues * Size]; + _readOnlyBuffer = new byte[length * Size]; + Length = length; } public ReadOnlyDataFrameBuffer(ReadOnlyMemory buffer, int length) From a70f98675a61815c7aa18230b863ac640caadbb3 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 12 Sep 2023 12:41:27 +0300 Subject: [PATCH 07/44] Add performance tests --- Microsoft.ML.sln | 11 ++++++ ...soft.Data.Analysis.PerformanceTests.csproj | 18 ++++++++++ .../PerformanceTests.cs | 34 +++++++++++++++++++ .../Program.cs | 17 ++++++++++ 4 files changed, 80 insertions(+) create mode 100644 test/Microsoft.Data.Analysis.PerformanceTests/Microsoft.Data.Analysis.PerformanceTests.csproj create mode 100644 test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs create mode 100644 test/Microsoft.Data.Analysis.PerformanceTests/Program.cs diff --git a/Microsoft.ML.sln b/Microsoft.ML.sln index d22e7ee013..5e81a5f3b0 100644 --- a/Microsoft.ML.sln +++ b/Microsoft.ML.sln @@ -168,6 +168,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Tokenizers.Tes EndProject Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Microsoft.ML.FSharp.Tests", "test\Microsoft.ML.FSharp.Tests\Microsoft.ML.FSharp.Tests.fsproj", "{041CB5CD-5832-413E-A894-D9DBED210B16}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Analysis.PerformanceTests", "test\Microsoft.Data.Analysis.PerformanceTests\Microsoft.Data.Analysis.PerformanceTests.csproj", "{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -788,6 +790,14 @@ Global {041CB5CD-5832-413E-A894-D9DBED210B16}.Release|Any CPU.Build.0 = Release|Any CPU {041CB5CD-5832-413E-A894-D9DBED210B16}.Release|x64.ActiveCfg = Release|Any CPU {041CB5CD-5832-413E-A894-D9DBED210B16}.Release|x64.Build.0 = Release|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Debug|x64.ActiveCfg = Debug|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Debug|x64.Build.0 = Debug|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|Any CPU.Build.0 = Release|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|x64.ActiveCfg = Release|Any CPU + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -870,6 +880,7 @@ Global {BBC3A950-BD68-45AC-9DBD-A8F4D8847745} = {09EADF06-BE25-4228-AB53-95AE3E15B530} {C3D82402-F207-4F19-8C57-5AF0FBAF9682} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4} {041CB5CD-5832-413E-A894-D9DBED210B16} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4} + {FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {41165AF1-35BB-4832-A189-73060F82B01D} diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/Microsoft.Data.Analysis.PerformanceTests.csproj b/test/Microsoft.Data.Analysis.PerformanceTests/Microsoft.Data.Analysis.PerformanceTests.csproj new file mode 100644 index 0000000000..ccd9fdc164 --- /dev/null +++ b/test/Microsoft.Data.Analysis.PerformanceTests/Microsoft.Data.Analysis.PerformanceTests.csproj @@ -0,0 +1,18 @@ + + + + Exe + disable + net6.0 + false + + + + + + + + + + + diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs new file mode 100644 index 0000000000..5984244a3e --- /dev/null +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.Data.Analysis.PerformanceTests +{ + public class PerformanceTests + { + private const int ItemsCount = 1000000; + private Int32DataFrameColumn _column1; + private Int32DataFrameColumn _column2; + + [GlobalSetup] + public void SetUp() + { + var values = Enumerable.Range(0, ItemsCount); + _column1 = new Int32DataFrameColumn("Column1", values); + _column2 = new Int32DataFrameColumn("Column2", values); + } + + [Benchmark] + public void Sum() + { + var column = _column1 + _column2; + } + } +} diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/Program.cs b/test/Microsoft.Data.Analysis.PerformanceTests/Program.cs new file mode 100644 index 0000000000..3e418c02fe --- /dev/null +++ b/test/Microsoft.Data.Analysis.PerformanceTests/Program.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using BenchmarkDotNet.Running; + + +namespace Microsoft.Data.Analysis.PerformanceTests +{ + class Program + { + public static void Main(string[] args) + { + var summary = BenchmarkRunner.Run(); + } + } +} From 4e0cf308757a97f9dfd15ac20045119b625c1464 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 13 Sep 2023 13:45:43 +0300 Subject: [PATCH 08/44] Split Test for AppendMany into 4 different tests --- .../BufferTests.cs | 62 +++++++++++++++++-- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index bc8f66d822..8fb74f1099 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -106,9 +106,11 @@ public void TestValidity() } [Fact] - public void TestAppendMany() + public void TestAppendManyNullsToEmptyColumn() { PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1"); + + //Act intColumn.AppendMany(null, 5); Assert.Equal(5, intColumn.NullCount); Assert.Equal(5, intColumn.Length); @@ -116,20 +118,70 @@ public void TestAppendMany() { Assert.False(intColumn.IsValid(i)); } + } - intColumn.AppendMany(5, 5); - Assert.Equal(5, intColumn.NullCount); + [Fact] + public void TestAppendManyNullsToColumnWithValues() + { + //Arrange + var initialValues = new int?[] { 1, 2, null, 4, 5 }; + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1", initialValues); + + //Act + intColumn.AppendMany(null, 5); + + //Assert + Assert.Equal(6, intColumn.NullCount); Assert.Equal(10, intColumn.Length); - for (int i = 5; i < intColumn.Length; i++) + + for (int i = 0; i < 5; i++) + { + Assert.Equal(initialValues[i], intColumn[i]); + } + + for (int i = 5; i < 10; i++) { - Assert.True(intColumn.IsValid(i)); + Assert.False(intColumn.IsValid(i)); } + } + [Fact] + public void TestAppendManyNotNullsToEmptyColumn() + { + //Arrange + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1"); + + //Act + intColumn.AppendMany(5, 5); + + //Assert + Assert.Equal(0, intColumn.NullCount); + Assert.Equal(5, intColumn.Length); + + for (int i = 0; i < intColumn.Length; i++) + { + Assert.Equal(5, intColumn[i]); + } + } + + [Fact] + public void TestNullCountChange() + { + //Arrange + var initialValues = new int?[] { null, null, null, null, null, 5, 5, 5, 5, 5 }; + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1", initialValues); + + //Act intColumn[2] = 10; + + //Assert Assert.Equal(4, intColumn.NullCount); Assert.True(intColumn.IsValid(2)); + //Act intColumn[7] = null; + + //Assert Assert.Equal(5, intColumn.NullCount); Assert.False(intColumn.IsValid(7)); } From cb236bf1fa8bcf248f64710ca8be6e9fe4cee76b Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 13 Sep 2023 16:08:48 +0300 Subject: [PATCH 09/44] Block init of null validity buffer instead of setting individual bits --- .../PrimitiveColumnContainer.cs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 1e37ac2206..9676902c58 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -183,17 +183,8 @@ public void AppendMany(T? value, long count) lastNullBitMapBuffer.Length += nullBufferAllocatable; Length += allocatable; - if (value.HasValue) - { - mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value ?? default); - - _modifyNullCountWhileIndexing = false; - for (long i = Length - allocatable; i < Length; i++) - { - SetValidityBit(i, value.HasValue); - } - _modifyNullCountWhileIndexing = true; - } + mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value ?? default); + lastNullBitMapBuffer.RawSpan.Slice(lastNullBitMapBuffer.Length - nullBufferAllocatable, nullBufferAllocatable).Fill(value.HasValue ? (byte)0xFF : (byte)0x0); remaining -= allocatable; } From 095cb83ce219e1d8ddebe78177acb713fa5703bb Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 13 Sep 2023 17:00:59 +0300 Subject: [PATCH 10/44] Add unit tests for PrimitiveDataFrameColumn.Clone --- .../BufferTests.cs | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index 8fb74f1099..310f8cca94 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -186,6 +186,101 @@ public void TestNullCountChange() Assert.False(intColumn.IsValid(7)); } + [Fact] + public void TestNotNullableColumnClone() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new[] { -1, 2, 3, 2, 1, -2 }); + + //Act + var clonedColumn = column.Clone(); + + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(column.DataType, clonedColumn.DataType); + Assert.Equal(column.NullCount, clonedColumn.NullCount); + Assert.Equal(column.Length, clonedColumn.Length); + + for (long i = 0; i < column.Length; i++) + Assert.Equal(column[i], clonedColumn[i]); + } + + [Fact] + public void TestNullableColumnClone() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new int?[] { -1, null, 3, 2, 1, -2 }); + + //Act + var clonedColumn = column.Clone(); + + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(column.DataType, clonedColumn.DataType); + Assert.Equal(column.NullCount, clonedColumn.NullCount); + Assert.Equal(column.Length, clonedColumn.Length); + + for (long i = 0; i < column.Length; i++) + Assert.Equal(column[i], clonedColumn[i]); + + } + + [Fact] + public void TestNotNullableColumnCloneWithIndicesMap() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new[] { 0, 5, 2, 4, 1, 3 }); + var indicesMap = new Int32DataFrameColumn("Indices", new[] { 0, 1, 2, 5, 3, 4 }); + + //Act + var clonedColumn = column.Clone(indicesMap); + + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(column.DataType, clonedColumn.DataType); + Assert.Equal(column.NullCount, clonedColumn.NullCount); + Assert.Equal(indicesMap.Length, clonedColumn.Length); + + for (int i = 0; i < indicesMap.Length; i++) + Assert.Equal(column[indicesMap[i].Value], clonedColumn[i]); + + } + + [Fact] + public void TestNullableColumnCloneWithIndicesMapAndSmallerSize() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new int?[] { null, 5, 2, 4, 1, 3 }); + var indicesMap = new Int32DataFrameColumn("Indices", new[] { 0, 4, 2, 5, 3 }); + + //Act + var clonedColumn = column.Clone(indicesMap); + + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(indicesMap.Length, clonedColumn.Length); + Assert.Equal(column.DataType, clonedColumn.DataType); + + for (int i = 0; i < indicesMap.Length; i++) + Assert.Equal(indicesMap.IsValid(i) ? column[indicesMap[i].Value] : null, clonedColumn[i]); + } + + [Fact] + public void TestNullableColumnCloneWithIndicesMap_OutOfRange() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new int?[] { null, 1, 1 }); + var indicesMap = new Int32DataFrameColumn("Indices", new[] { 0, 1, 4 }); + + //Act and assert + Assert.Throws(() => column.Clone(indicesMap)); + } + + [Fact] public void TestBasicArrowStringColumn() { From 0f78092b83eb845fc0430a44d36d426944243b63 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 13 Sep 2023 19:59:23 +0300 Subject: [PATCH 11/44] Fixes #6821 --- .../PrimitiveColumnContainer.cs | 9 +++----- .../PrimitiveDataFrameColumn.cs | 18 +++++++++------- .../BufferTests.cs | 21 +++++++++++++++++++ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 9676902c58..cb906b8bb4 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -41,9 +41,6 @@ internal partial class PrimitiveColumnContainer : IEnumerable // A set bit implies a valid value. An unset bit => null value public IList> NullBitMapBuffers = new List>(); - // Need a way to differentiate between columns initialized with default values and those with null values in SetValidityBit - internal bool _modifyNullCountWhileIndexing = true; - public PrimitiveColumnContainer(IEnumerable values) { values = values ?? throw new ArgumentNullException(nameof(values)); @@ -242,7 +239,7 @@ private byte SetBit(byte curBitMap, int index, bool value) if (value) { newBitMap = (byte)(curBitMap | (byte)(1 << (index & 7))); //bit hack for index % 8 - if (_modifyNullCountWhileIndexing && ((curBitMap >> (index & 7)) & 1) == 0 && index < Length && NullCount > 0) + if (((curBitMap >> (index & 7)) & 1) == 0 && index < Length && NullCount > 0) { // Old value was null. NullCount--; @@ -250,12 +247,12 @@ private byte SetBit(byte curBitMap, int index, bool value) } else { - if (_modifyNullCountWhileIndexing && ((curBitMap >> (index & 7)) & 1) == 1 && index < Length) + if (((curBitMap >> (index & 7)) & 1) == 1 && index < Length) { // old value was NOT null and new value is null NullCount++; } - else if (_modifyNullCountWhileIndexing && index == Length) + else if (index == Length) { // New entry from an append NullCount++; diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index 69eeb2d18b..375f064bbb 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -6,6 +6,7 @@ using System.Collections; using System.Collections.Generic; using System.Diagnostics; +using System.Linq; using System.Runtime.InteropServices; using Apache.Arrow; using Apache.Arrow.Types; @@ -473,22 +474,23 @@ public PrimitiveDataFrameColumn Clone(PrimitiveDataFrameColumn mapIndice public PrimitiveDataFrameColumn Clone(IEnumerable mapIndices) { IEnumerator rows = mapIndices.GetEnumerator(); - PrimitiveDataFrameColumn ret = new PrimitiveDataFrameColumn(Name); - ret._columnContainer._modifyNullCountWhileIndexing = false; + PrimitiveDataFrameColumn ret = CreateNewColumn(Name); long numberOfRows = 0; while (rows.MoveNext() && numberOfRows < Length) { numberOfRows++; - long curRow = rows.Current; - T? value = _columnContainer[curRow]; - ret[curRow] = value; - if (!value.HasValue) - ret._columnContainer.NullCount++; + var curRow = rows.Current; + var value = _columnContainer[curRow]; + ret.Append(value); } - ret._columnContainer._modifyNullCountWhileIndexing = true; return ret; } + public PrimitiveDataFrameColumn Clone(IEnumerable mapIndices) + { + return Clone(mapIndices.Select(x => (long)x)); + } + internal BooleanDataFrameColumn CloneAsBooleanColumn() { PrimitiveColumnContainer newColumnContainer = _columnContainer.CloneAsBoolContainer(); diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index 310f8cca94..d382537347 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -246,9 +246,30 @@ public void TestNotNullableColumnCloneWithIndicesMap() for (int i = 0; i < indicesMap.Length; i++) Assert.Equal(column[indicesMap[i].Value], clonedColumn[i]); + } + + [Fact] + public void TestNotNullableColumnCloneWithIndicesMapAsEnumerable() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new[] { 0, 5, 2, 4, 1, 3 }); + var indicesMap = new long[] { 0, 1, 2, 5, 3, 4 }; + + //Act + var clonedColumn = column.Clone(indicesMap); + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(column.DataType, clonedColumn.DataType); + Assert.Equal(column.NullCount, clonedColumn.NullCount); + Assert.Equal(indicesMap.Length, clonedColumn.Length); + + for (int i = 0; i < indicesMap.Length; i++) + Assert.Equal(column[indicesMap[i]], clonedColumn[i]); } + [Fact] public void TestNullableColumnCloneWithIndicesMapAndSmallerSize() { From f5e9aaa9ce2bf7dc717f9065a2afda9d47f917f4 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 13 Sep 2023 23:30:49 +0300 Subject: [PATCH 12/44] Fix --- .../PrimitiveColumnContainer.cs | 7 ++++-- .../BufferTests.cs | 23 ++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index cb906b8bb4..e8ed7e85ef 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -180,8 +180,11 @@ public void AppendMany(T? value, long count) lastNullBitMapBuffer.Length += nullBufferAllocatable; Length += allocatable; - mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value ?? default); - lastNullBitMapBuffer.RawSpan.Slice(lastNullBitMapBuffer.Length - nullBufferAllocatable, nullBufferAllocatable).Fill(value.HasValue ? (byte)0xFF : (byte)0x0); + if (value.HasValue) + { + mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value.Value); + lastNullBitMapBuffer.RawSpan.Slice(lastNullBitMapBuffer.Length - nullBufferAllocatable, nullBufferAllocatable).Fill(0xFF); + } remaining -= allocatable; } diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index d382537347..69c4af0d41 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -249,7 +249,7 @@ public void TestNotNullableColumnCloneWithIndicesMap() } [Fact] - public void TestNotNullableColumnCloneWithIndicesMapAsEnumerable() + public void TestNotNullableColumnCloneWithIndicesMapAsEnumerableLong() { //Arrange var column = new Int32DataFrameColumn("Int column", values: new[] { 0, 5, 2, 4, 1, 3 }); @@ -269,6 +269,27 @@ public void TestNotNullableColumnCloneWithIndicesMapAsEnumerable() Assert.Equal(column[indicesMap[i]], clonedColumn[i]); } + [Fact] + public void TestNotNullableColumnCloneWithIndicesMapAsEnumerableInt() + { + //Arrange + var column = new Int32DataFrameColumn("Int column", values: new[] { 0, 5, 2, 4, 1, 3 }); + var indicesMap = new int[] { 0, 1, 2, 5, 3, 4 }; + + //Act + var clonedColumn = column.Clone(indicesMap); + + //Assert + Assert.NotSame(column, clonedColumn); + Assert.Equal(column.Name, clonedColumn.Name); + Assert.Equal(column.DataType, clonedColumn.DataType); + Assert.Equal(column.NullCount, clonedColumn.NullCount); + Assert.Equal(indicesMap.Length, clonedColumn.Length); + + for (int i = 0; i < indicesMap.Length; i++) + Assert.Equal(column[indicesMap[i]], clonedColumn[i]); + } + [Fact] public void TestNullableColumnCloneWithIndicesMapAndSmallerSize() From 69fc3d7aad13c7f2c4af952f6e177858ccb71eb1 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 14 Sep 2023 15:31:55 +0300 Subject: [PATCH 13/44] Add extra tests --- .../PerformanceTests.cs | 179 +++++++++++++++++- 1 file changed, 172 insertions(+), 7 deletions(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index 5984244a3e..f2d9c90c4a 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -14,21 +14,186 @@ namespace Microsoft.Data.Analysis.PerformanceTests public class PerformanceTests { private const int ItemsCount = 1000000; - private Int32DataFrameColumn _column1; - private Int32DataFrameColumn _column2; + + private Int32DataFrameColumn _int32Column1; + private Int32DataFrameColumn _int32Column2; + + private Int16DataFrameColumn _int16Column1; + private Int16DataFrameColumn _int16Column2; + + private DoubleDataFrameColumn _doubleColumn1; + private DoubleDataFrameColumn _doubleColumn2; + + private SingleDataFrameColumn _floatColumn1; + private SingleDataFrameColumn _floatColumn2; [GlobalSetup] public void SetUp() { - var values = Enumerable.Range(0, ItemsCount); - _column1 = new Int32DataFrameColumn("Column1", values); - _column2 = new Int32DataFrameColumn("Column2", values); + _int32Column1 = new Int32DataFrameColumn("Column1", ItemsCount); + _int32Column2 = new Int32DataFrameColumn("Column2", ItemsCount); + + _int16Column1 = new Int16DataFrameColumn("Column1", ItemsCount); + _int16Column2 = new Int16DataFrameColumn("Column2", ItemsCount); + + _doubleColumn1 = new DoubleDataFrameColumn("Column1", ItemsCount); + _doubleColumn2 = new DoubleDataFrameColumn("Column2", ItemsCount); + + _floatColumn1 = new SingleDataFrameColumn("Column1", ItemsCount); + _floatColumn2 = new SingleDataFrameColumn("Column2", ItemsCount); + } + + #region Addition + + [Benchmark] + public void Add_Int32() + { + var column = _int32Column1 + _int32Column2; + } + + [Benchmark] + public void Add_Int16() + { + var column = _int16Column1 + _int16Column2; + } + + [Benchmark] + public void Add_Double() + { + var column = _doubleColumn1 + _doubleColumn2; + } + + [Benchmark] + public void Add_Float() + { + var column = _floatColumn1 + _floatColumn2; + } + + [Benchmark] + public void Add_Int32_Int16() + { + var column = _int32Column1 + _int16Column2; + } + + [Benchmark] + public void Add_Double_Float() + { + var column = _doubleColumn1 + _floatColumn2; + } + #endregion + + #region Substract + [Benchmark] + public void Substract_Int32() + { + var column = _int32Column1 - _int32Column2; + } + + [Benchmark] + public void Substract_Int16() + { + var column = _int16Column1 - _int16Column2; + } + + [Benchmark] + public void Substract_Double() + { + var column = _doubleColumn1 - _doubleColumn2; + } + + [Benchmark] + public void Substract_Float() + { + var column = _floatColumn1 - _floatColumn2; + } + + [Benchmark] + public void Substract_Int32_Int16() + { + var column = _int32Column1 - _int16Column2; + } + + [Benchmark] + public void Substract_Double_Float() + { + var column = _doubleColumn1 - _floatColumn2; + } + #endregion + + #region Multiply + [Benchmark] + public void Multiply_Int32() + { + var column = _int32Column1 * _int32Column2; + } + + [Benchmark] + public void Multiply_Int16() + { + var column = _int16Column1 * _int16Column2; + } + + [Benchmark] + public void Multiply_Double() + { + var column = _doubleColumn1 * _doubleColumn2; + } + + [Benchmark] + public void Multiply_Float() + { + var column = _floatColumn1 * _floatColumn2; + } + + [Benchmark] + public void Multiply_Int32_Int16() + { + var column = _int32Column1 * _int16Column2; + } + + [Benchmark] + public void Multiply_Double_Float() + { + var column = _doubleColumn1 * _floatColumn2; + } + #endregion + + #region Divide + [Benchmark] + public void Divide_Int32() + { + var column = _int32Column1 / _int32Column2; + } + + [Benchmark] + public void Divide_Int16() + { + var column = _int16Column1 / _int16Column2; + } + + [Benchmark] + public void Divide_Double() + { + var column = _doubleColumn1 / _doubleColumn2; + } + + [Benchmark] + public void Divide_Float() + { + var column = _floatColumn1 / _floatColumn2; + } + + [Benchmark] + public void Divide_Int32_Int16() + { + var column = _int32Column1 / _int16Column2; } [Benchmark] - public void Sum() + public void Divide_Double_Float() { - var column = _column1 + _column2; + var column = _doubleColumn1 / _floatColumn2; } + #endregion } } From 2789c7b807721be43ee294a29d2e55d01ce9a149 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 14 Sep 2023 16:33:24 +0300 Subject: [PATCH 14/44] Fix --- .../PerformanceTests.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index f2d9c90c4a..6d782dd067 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -30,17 +30,19 @@ public class PerformanceTests [GlobalSetup] public void SetUp() { - _int32Column1 = new Int32DataFrameColumn("Column1", ItemsCount); - _int32Column2 = new Int32DataFrameColumn("Column2", ItemsCount); + var values = Enumerable.Range(1, ItemsCount).ToArray(); - _int16Column1 = new Int16DataFrameColumn("Column1", ItemsCount); - _int16Column2 = new Int16DataFrameColumn("Column2", ItemsCount); + _int32Column1 = new Int32DataFrameColumn("Column1", values); + _int32Column2 = new Int32DataFrameColumn("Column2", values); - _doubleColumn1 = new DoubleDataFrameColumn("Column1", ItemsCount); - _doubleColumn2 = new DoubleDataFrameColumn("Column2", ItemsCount); + _int16Column1 = new Int16DataFrameColumn("Column1", values.Select(v => (short)v)); + _int16Column2 = new Int16DataFrameColumn("Column2", values.Select(v => (short)v)); - _floatColumn1 = new SingleDataFrameColumn("Column1", ItemsCount); - _floatColumn2 = new SingleDataFrameColumn("Column2", ItemsCount); + _doubleColumn1 = new DoubleDataFrameColumn("Column1", values.Select(v => (double)v)); + _doubleColumn2 = new DoubleDataFrameColumn("Column2", values.Select(v => (double)v)); + + _floatColumn1 = new SingleDataFrameColumn("Column1", values.Select(v => (float)v)); + _floatColumn2 = new SingleDataFrameColumn("Column2", values.Select(v => (float)v)); } #region Addition From d3944d7169226d9855dae428286848205a95cb2d Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 14 Sep 2023 18:00:51 +0300 Subject: [PATCH 15/44] Fix typo --- .../PerformanceTests.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index 6d782dd067..1210522851 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -84,39 +84,39 @@ public void Add_Double_Float() } #endregion - #region Substract + #region Subtract [Benchmark] - public void Substract_Int32() + public void Subtract_Int32() { var column = _int32Column1 - _int32Column2; } [Benchmark] - public void Substract_Int16() + public void Subtract_Int16() { var column = _int16Column1 - _int16Column2; } [Benchmark] - public void Substract_Double() + public void Subtract_Double() { var column = _doubleColumn1 - _doubleColumn2; } [Benchmark] - public void Substract_Float() + public void Subtract_Float() { var column = _floatColumn1 - _floatColumn2; } [Benchmark] - public void Substract_Int32_Int16() + public void Subtract_Int32_Int16() { var column = _int32Column1 - _int16Column2; } [Benchmark] - public void Substract_Double_Float() + public void Subtract_Double_Float() { var column = _doubleColumn1 - _floatColumn2; } From 8edbae46b065f7491e39db728d3f4bb53f075a3d Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 15 Sep 2023 10:50:29 +0300 Subject: [PATCH 16/44] Fix Divide_Int16 and Divide_Int32_Int16 benchmarks --- .../PerformanceTests.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index 1210522851..ac40bcdfe6 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -35,8 +35,9 @@ public void SetUp() _int32Column1 = new Int32DataFrameColumn("Column1", values); _int32Column2 = new Int32DataFrameColumn("Column2", values); - _int16Column1 = new Int16DataFrameColumn("Column1", values.Select(v => (short)v)); - _int16Column2 = new Int16DataFrameColumn("Column2", values.Select(v => (short)v)); + var shortValues = values.Select(v => (short)(v / short.MaxValue + 1)).ToArray(); + _int16Column1 = new Int16DataFrameColumn("Column1", shortValues); + _int16Column2 = new Int16DataFrameColumn("Column2", shortValues); _doubleColumn1 = new DoubleDataFrameColumn("Column1", values.Select(v => (double)v)); _doubleColumn2 = new DoubleDataFrameColumn("Column2", values.Select(v => (double)v)); From ec06bd8f09cdf2c91de92e43e8aeeb764fef629e Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 15 Sep 2023 11:20:23 +0300 Subject: [PATCH 17/44] Fix --- .../PerformanceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index ac40bcdfe6..7343200603 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -35,7 +35,7 @@ public void SetUp() _int32Column1 = new Int32DataFrameColumn("Column1", values); _int32Column2 = new Int32DataFrameColumn("Column2", values); - var shortValues = values.Select(v => (short)(v / short.MaxValue + 1)).ToArray(); + var shortValues = values.Select(v => (short)(v % short.MaxValue + 1)).ToArray(); _int16Column1 = new Int16DataFrameColumn("Column1", shortValues); _int16Column2 = new Int16DataFrameColumn("Column2", shortValues); From b351cf14e880c227562638c3d4de21260214baf8 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 15 Sep 2023 21:16:48 +0300 Subject: [PATCH 18/44] Avoid using constructor, that copies memory --- src/Microsoft.Data.Analysis/DataFrameBuffer.cs | 1 - .../PrimitiveColumnContainer.cs | 12 ++++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index 7aee0a552e..ae6f2a0bee 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -110,7 +110,6 @@ internal static DataFrameBuffer GetMutableBuffer(ReadOnlyDataFrameBuffer b if (mutableBuffer == null) { mutableBuffer = new DataFrameBuffer(buffer.ReadOnlyBuffer, buffer.Length); - mutableBuffer.Length = buffer.Length; } return mutableBuffer; } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 3dc7ef3c85..2e531ea316 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -86,11 +86,15 @@ public PrimitiveColumnContainer(ReadOnlyMemory buffer, ReadOnlyMemory(bitMapBufferLength); + bitMap.IncreaseSize(bitMapBufferLength); + + var span = bitMap.Span; + span.Fill(255); int lastByte = 1 << (length - (bitMapBufferLength - 1) * 8); - bitMap[bitMapBufferLength - 1] = (byte)(lastByte - 1); - nullDataFrameBuffer = new DataFrameBuffer(bitMap, bitMapBufferLength); + span[bitMapBufferLength - 1] = (byte)(lastByte - 1); + + nullDataFrameBuffer = bitMap; } else { From 94bca4e8a9f8f0f726fceaebee0879f01328f1e7 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 15 Sep 2023 21:54:43 +0300 Subject: [PATCH 19/44] First step of tt refactoring --- .../PrimitiveDataFrameColumnArithmetic.tt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 57942b6a6c..3138bfd1f6 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -23,11 +23,16 @@ namespace Microsoft.Data.Analysis <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison || method.MethodType == MethodType.ComparisonScalar) { #> PrimitiveColumnContainer <#=method.MethodName#>(<#=method.GetMethodArguments("PrimitiveColumnContainer", "T")#>); -<#} else {#> - void <#=method.MethodName#>(<#=method.GetMethodArguments("PrimitiveColumnContainer", "T")#>); <# } #> -<# if (method.MethodType == MethodType.BinaryScalar) { #> - <#= method.GetInvertedMethodSignatureForBinaryScalarsOps("PrimitiveColumnContainer", "T")#>; +<# else if (method.MethodType == MethodType.Binary) { #> + void <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); +<# } #> +<# else if (method.MethodType == MethodType.BinaryScalar) { #> + void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); + void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column); +<# } #> +<# else if (method.MethodType == MethodType.BinaryInt) { #> + void <#=method.MethodName#>(PrimitiveColumnContainer column, int value); <# } #> <# } #> } From 2366da2ab0ab4688d890ca0ec875e90e17c78ee6 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 15 Sep 2023 22:10:26 +0300 Subject: [PATCH 20/44] Step 2 --- .../PrimitiveDataFrameColumnArithmetic.tt | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 3138bfd1f6..ed2843696d 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -21,8 +21,11 @@ namespace Microsoft.Data.Analysis where T : unmanaged { <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.Comparison || method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveColumnContainer <#=method.MethodName#>(<#=method.GetMethodArguments("PrimitiveColumnContainer", "T")#>); +<# if (method.MethodType == MethodType.Comparison) { #> + PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); +<# } #> +<# else if (method.MethodType == MethodType.ComparisonScalar) { #> + PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> void <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); @@ -61,15 +64,27 @@ namespace Microsoft.Data.Analysis internal class <#=type.ClassPrefix#>Arithmetic : IPrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> { <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.Comparison || method.MethodType == MethodType.ComparisonScalar) { #> +<# if (method.MethodType == MethodType.Comparison) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(<#=method.GetMethodArguments("PrimitiveColumnContainer", type.TypeName)#>) - { -<#} else {#> + public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) +<# } #> +<# else if (method.MethodType == MethodType.ComparisonScalar) { #> - public void <#=method.MethodName#>(<#=method.GetMethodArguments("PrimitiveColumnContainer", type.TypeName)#>) - { + public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) +<# } #> +<# else if (method.MethodType == MethodType.Binary) { #> + + public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) +<# } #> +<# else if (method.MethodType == MethodType.BinaryScalar) { #> + + public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) <# } #> +<# else if (method.MethodType == MethodType.BinaryInt) { #> + + public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) +<# } #> + { <# if ((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) { #> throw new NotSupportedException(); <# } else if (method.Operator != null) { #> From 2a9146e4439460f217b83dac59f4fad4c0061057 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 18 Sep 2023 14:48:24 +0300 Subject: [PATCH 21/44] Step 3 --- .../PrimitiveDataFrameColumnArithmetic.cs | 1410 ++++++----------- .../PrimitiveDataFrameColumnArithmetic.tt | 46 +- 2 files changed, 525 insertions(+), 931 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 13903a2a90..d315e34163 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -53,10 +53,50 @@ internal interface IPrimitiveDataFrameColumnArithmetic PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, T scalar); } - internal static class PrimitiveDataFrameColumnArithmetic + internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumnArithmetic where T : unmanaged { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); + + public virtual void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Add(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Add(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Subtract(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Subtract(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Multiply(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Multiply(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Divide(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Divide(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Modulo(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Modulo(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void And(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void And(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Or(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Or(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Xor(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void Xor(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void LeftShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); + public virtual void RightShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + } internal static class PrimitiveDataFrameColumnArithmetic @@ -123,85 +163,10 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() throw new NotSupportedException(); } } - internal class BoolArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Add(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public void Add(bool scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Subtract(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public void Subtract(bool scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Multiply(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public void Multiply(bool scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Divide(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public void Divide(bool scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Modulo(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public void Modulo(bool scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -225,7 +190,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, bool scalar) + public override void And(PrimitiveColumnContainer column, bool scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -238,7 +203,7 @@ public void And(PrimitiveColumnContainer column, bool scalar) } } - public void And(bool scalar, PrimitiveColumnContainer column) + public override void And(bool scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -251,7 +216,7 @@ public void And(bool scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -275,7 +240,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, bool scalar) + public override void Or(PrimitiveColumnContainer column, bool scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -288,7 +253,7 @@ public void Or(PrimitiveColumnContainer column, bool scalar) } } - public void Or(bool scalar, PrimitiveColumnContainer column) + public override void Or(bool scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -301,7 +266,7 @@ public void Or(bool scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -325,7 +290,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, bool scalar) + public override void Xor(PrimitiveColumnContainer column, bool scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -338,7 +303,7 @@ public void Xor(PrimitiveColumnContainer column, bool scalar) } } - public void Xor(bool scalar, PrimitiveColumnContainer column) + public override void Xor(bool scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -351,17 +316,7 @@ public void Xor(bool scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public void RightShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -377,7 +332,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, bool scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, bool scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -392,7 +347,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -408,7 +363,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, bool scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, bool scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -422,51 +377,11 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai } return ret; } - - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, bool scalar) - { - throw new NotSupportedException(); - } } - internal class ByteArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -490,7 +405,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, byte scalar) + public override void Add(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -503,7 +418,7 @@ public void Add(PrimitiveColumnContainer column, byte scalar) } } - public void Add(byte scalar, PrimitiveColumnContainer column) + public override void Add(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -516,7 +431,7 @@ public void Add(byte scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -540,7 +455,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Subtract(PrimitiveColumnContainer column, byte scalar) + public override void Subtract(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -553,7 +468,7 @@ public void Subtract(PrimitiveColumnContainer column, byte scalar) } } - public void Subtract(byte scalar, PrimitiveColumnContainer column) + public override void Subtract(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -566,7 +481,7 @@ public void Subtract(byte scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -590,7 +505,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Multiply(PrimitiveColumnContainer column, byte scalar) + public override void Multiply(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -603,7 +518,7 @@ public void Multiply(PrimitiveColumnContainer column, byte scalar) } } - public void Multiply(byte scalar, PrimitiveColumnContainer column) + public override void Multiply(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -616,7 +531,7 @@ public void Multiply(byte scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -640,7 +555,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Divide(PrimitiveColumnContainer column, byte scalar) + public override void Divide(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -653,7 +568,7 @@ public void Divide(PrimitiveColumnContainer column, byte scalar) } } - public void Divide(byte scalar, PrimitiveColumnContainer column) + public override void Divide(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -666,7 +581,7 @@ public void Divide(byte scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -690,7 +605,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Modulo(PrimitiveColumnContainer column, byte scalar) + public override void Modulo(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -703,7 +618,7 @@ public void Modulo(PrimitiveColumnContainer column, byte scalar) } } - public void Modulo(byte scalar, PrimitiveColumnContainer column) + public override void Modulo(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -716,7 +631,7 @@ public void Modulo(byte scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -740,7 +655,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, byte scalar) + public override void And(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -753,7 +668,7 @@ public void And(PrimitiveColumnContainer column, byte scalar) } } - public void And(byte scalar, PrimitiveColumnContainer column) + public override void And(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -766,7 +681,7 @@ public void And(byte scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -790,7 +705,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, byte scalar) + public override void Or(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -803,7 +718,7 @@ public void Or(PrimitiveColumnContainer column, byte scalar) } } - public void Or(byte scalar, PrimitiveColumnContainer column) + public override void Or(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -816,7 +731,7 @@ public void Or(byte scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -840,7 +755,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, byte scalar) + public override void Xor(PrimitiveColumnContainer column, byte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -853,7 +768,7 @@ public void Xor(PrimitiveColumnContainer column, byte scalar) } } - public void Xor(byte scalar, PrimitiveColumnContainer column) + public override void Xor(byte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -866,7 +781,7 @@ public void Xor(byte scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -879,7 +794,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -892,7 +807,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -908,7 +823,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -923,7 +838,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -939,7 +854,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -954,7 +869,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -970,7 +885,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -985,7 +900,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1001,7 +916,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1016,7 +931,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1032,7 +947,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1047,7 +962,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1063,7 +978,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, byte scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, byte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1078,10 +993,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class CharArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1105,7 +1020,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, char scalar) + public override void Add(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1118,7 +1033,7 @@ public void Add(PrimitiveColumnContainer column, char scalar) } } - public void Add(char scalar, PrimitiveColumnContainer column) + public override void Add(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1131,7 +1046,7 @@ public void Add(char scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1155,7 +1070,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Subtract(PrimitiveColumnContainer column, char scalar) + public override void Subtract(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1168,7 +1083,7 @@ public void Subtract(PrimitiveColumnContainer column, char scalar) } } - public void Subtract(char scalar, PrimitiveColumnContainer column) + public override void Subtract(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1181,7 +1096,7 @@ public void Subtract(char scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1205,7 +1120,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Multiply(PrimitiveColumnContainer column, char scalar) + public override void Multiply(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1218,7 +1133,7 @@ public void Multiply(PrimitiveColumnContainer column, char scalar) } } - public void Multiply(char scalar, PrimitiveColumnContainer column) + public override void Multiply(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1231,7 +1146,7 @@ public void Multiply(char scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1255,7 +1170,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Divide(PrimitiveColumnContainer column, char scalar) + public override void Divide(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1268,7 +1183,7 @@ public void Divide(PrimitiveColumnContainer column, char scalar) } } - public void Divide(char scalar, PrimitiveColumnContainer column) + public override void Divide(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1281,7 +1196,7 @@ public void Divide(char scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1305,7 +1220,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Modulo(PrimitiveColumnContainer column, char scalar) + public override void Modulo(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1318,7 +1233,7 @@ public void Modulo(PrimitiveColumnContainer column, char scalar) } } - public void Modulo(char scalar, PrimitiveColumnContainer column) + public override void Modulo(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1331,7 +1246,7 @@ public void Modulo(char scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1355,7 +1270,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, char scalar) + public override void And(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1368,7 +1283,7 @@ public void And(PrimitiveColumnContainer column, char scalar) } } - public void And(char scalar, PrimitiveColumnContainer column) + public override void And(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1381,7 +1296,7 @@ public void And(char scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1405,7 +1320,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, char scalar) + public override void Or(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1418,7 +1333,7 @@ public void Or(PrimitiveColumnContainer column, char scalar) } } - public void Or(char scalar, PrimitiveColumnContainer column) + public override void Or(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1431,7 +1346,7 @@ public void Or(char scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1455,7 +1370,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, char scalar) + public override void Xor(PrimitiveColumnContainer column, char scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1468,7 +1383,7 @@ public void Xor(PrimitiveColumnContainer column, char scalar) } } - public void Xor(char scalar, PrimitiveColumnContainer column) + public override void Xor(char scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1481,7 +1396,7 @@ public void Xor(char scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1494,7 +1409,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1507,7 +1422,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1523,7 +1438,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1538,7 +1453,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1554,7 +1469,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1569,7 +1484,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1585,7 +1500,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1600,7 +1515,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1616,7 +1531,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1631,7 +1546,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1647,7 +1562,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1662,7 +1577,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -1678,7 +1593,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, char scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, char scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -1693,10 +1608,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class DecimalArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1720,7 +1635,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Add(PrimitiveColumnContainer column, decimal scalar) + public override void Add(PrimitiveColumnContainer column, decimal scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1733,7 +1648,7 @@ public void Add(PrimitiveColumnContainer column, decimal scalar) } } - public void Add(decimal scalar, PrimitiveColumnContainer column) + public override void Add(decimal scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1746,7 +1661,7 @@ public void Add(decimal scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1770,7 +1685,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnCont } } - public void Subtract(PrimitiveColumnContainer column, decimal scalar) + public override void Subtract(PrimitiveColumnContainer column, decimal scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1783,7 +1698,7 @@ public void Subtract(PrimitiveColumnContainer column, decimal scalar) } } - public void Subtract(decimal scalar, PrimitiveColumnContainer column) + public override void Subtract(decimal scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1796,7 +1711,7 @@ public void Subtract(decimal scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1820,7 +1735,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnCont } } - public void Multiply(PrimitiveColumnContainer column, decimal scalar) + public override void Multiply(PrimitiveColumnContainer column, decimal scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1833,7 +1748,7 @@ public void Multiply(PrimitiveColumnContainer column, decimal scalar) } } - public void Multiply(decimal scalar, PrimitiveColumnContainer column) + public override void Multiply(decimal scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1846,7 +1761,7 @@ public void Multiply(decimal scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1870,7 +1785,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Divide(PrimitiveColumnContainer column, decimal scalar) + public override void Divide(PrimitiveColumnContainer column, decimal scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1883,7 +1798,7 @@ public void Divide(PrimitiveColumnContainer column, decimal scalar) } } - public void Divide(decimal scalar, PrimitiveColumnContainer column) + public override void Divide(decimal scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1896,7 +1811,7 @@ public void Divide(decimal scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -1920,7 +1835,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Modulo(PrimitiveColumnContainer column, decimal scalar) + public override void Modulo(PrimitiveColumnContainer column, decimal scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1933,7 +1848,7 @@ public void Modulo(PrimitiveColumnContainer column, decimal scalar) } } - public void Modulo(decimal scalar, PrimitiveColumnContainer column) + public override void Modulo(decimal scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -1946,62 +1861,7 @@ public void Modulo(decimal scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer column, decimal scalar) - { - throw new NotSupportedException(); - } - - public void And(decimal scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer column, decimal scalar) - { - throw new NotSupportedException(); - } - - public void Or(decimal scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer column, decimal scalar) - { - throw new NotSupportedException(); - } - - public void Xor(decimal scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void LeftShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public void RightShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2017,7 +1877,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2032,7 +1892,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2048,7 +1908,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2063,7 +1923,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2079,7 +1939,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2094,7 +1954,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2110,7 +1970,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2125,7 +1985,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2141,7 +2001,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2156,7 +2016,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2172,7 +2032,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, decimal scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, decimal scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2187,10 +2047,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class DoubleArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2214,7 +2074,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void Add(PrimitiveColumnContainer column, double scalar) + public override void Add(PrimitiveColumnContainer column, double scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2227,7 +2087,7 @@ public void Add(PrimitiveColumnContainer column, double scalar) } } - public void Add(double scalar, PrimitiveColumnContainer column) + public override void Add(double scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2240,7 +2100,7 @@ public void Add(double scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2264,7 +2124,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnConta } } - public void Subtract(PrimitiveColumnContainer column, double scalar) + public override void Subtract(PrimitiveColumnContainer column, double scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2277,7 +2137,7 @@ public void Subtract(PrimitiveColumnContainer column, double scalar) } } - public void Subtract(double scalar, PrimitiveColumnContainer column) + public override void Subtract(double scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2290,7 +2150,7 @@ public void Subtract(double scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2314,7 +2174,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnConta } } - public void Multiply(PrimitiveColumnContainer column, double scalar) + public override void Multiply(PrimitiveColumnContainer column, double scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2327,7 +2187,7 @@ public void Multiply(PrimitiveColumnContainer column, double scalar) } } - public void Multiply(double scalar, PrimitiveColumnContainer column) + public override void Multiply(double scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2340,7 +2200,7 @@ public void Multiply(double scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2364,7 +2224,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Divide(PrimitiveColumnContainer column, double scalar) + public override void Divide(PrimitiveColumnContainer column, double scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2377,7 +2237,7 @@ public void Divide(PrimitiveColumnContainer column, double scalar) } } - public void Divide(double scalar, PrimitiveColumnContainer column) + public override void Divide(double scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2390,7 +2250,7 @@ public void Divide(double scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2414,7 +2274,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Modulo(PrimitiveColumnContainer column, double scalar) + public override void Modulo(PrimitiveColumnContainer column, double scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2427,7 +2287,7 @@ public void Modulo(PrimitiveColumnContainer column, double scalar) } } - public void Modulo(double scalar, PrimitiveColumnContainer column) + public override void Modulo(double scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2440,62 +2300,7 @@ public void Modulo(double scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer column, double scalar) - { - throw new NotSupportedException(); - } - - public void And(double scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer column, double scalar) - { - throw new NotSupportedException(); - } - - public void Or(double scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer column, double scalar) - { - throw new NotSupportedException(); - } - - public void Xor(double scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void LeftShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public void RightShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2511,7 +2316,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2526,7 +2331,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2542,7 +2347,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2557,7 +2362,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2573,7 +2378,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2588,7 +2393,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2604,7 +2409,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2619,7 +2424,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2635,7 +2440,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2650,7 +2455,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -2666,7 +2471,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, double scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, double scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -2681,10 +2486,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class FloatArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2708,7 +2513,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, float scalar) + public override void Add(PrimitiveColumnContainer column, float scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2721,7 +2526,7 @@ public void Add(PrimitiveColumnContainer column, float scalar) } } - public void Add(float scalar, PrimitiveColumnContainer column) + public override void Add(float scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2734,7 +2539,7 @@ public void Add(float scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2758,7 +2563,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Subtract(PrimitiveColumnContainer column, float scalar) + public override void Subtract(PrimitiveColumnContainer column, float scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2771,7 +2576,7 @@ public void Subtract(PrimitiveColumnContainer column, float scalar) } } - public void Subtract(float scalar, PrimitiveColumnContainer column) + public override void Subtract(float scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2784,7 +2589,7 @@ public void Subtract(float scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2808,7 +2613,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Multiply(PrimitiveColumnContainer column, float scalar) + public override void Multiply(PrimitiveColumnContainer column, float scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2821,7 +2626,7 @@ public void Multiply(PrimitiveColumnContainer column, float scalar) } } - public void Multiply(float scalar, PrimitiveColumnContainer column) + public override void Multiply(float scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2834,7 +2639,7 @@ public void Multiply(float scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2858,7 +2663,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Divide(PrimitiveColumnContainer column, float scalar) + public override void Divide(PrimitiveColumnContainer column, float scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2871,7 +2676,7 @@ public void Divide(PrimitiveColumnContainer column, float scalar) } } - public void Divide(float scalar, PrimitiveColumnContainer column) + public override void Divide(float scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2884,7 +2689,7 @@ public void Divide(float scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -2908,7 +2713,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Modulo(PrimitiveColumnContainer column, float scalar) + public override void Modulo(PrimitiveColumnContainer column, float scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2921,7 +2726,7 @@ public void Modulo(PrimitiveColumnContainer column, float scalar) } } - public void Modulo(float scalar, PrimitiveColumnContainer column) + public override void Modulo(float scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -2934,62 +2739,7 @@ public void Modulo(float scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer column, float scalar) - { - throw new NotSupportedException(); - } - - public void And(float scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer column, float scalar) - { - throw new NotSupportedException(); - } - - public void Or(float scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer column, float scalar) - { - throw new NotSupportedException(); - } - - public void Xor(float scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void LeftShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public void RightShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3005,7 +2755,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3020,7 +2770,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3036,7 +2786,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3051,7 +2801,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3067,7 +2817,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3082,7 +2832,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3098,7 +2848,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3113,7 +2863,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3129,7 +2879,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3144,7 +2894,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3160,7 +2910,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, float scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, float scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3175,10 +2925,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class IntArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3202,7 +2952,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, int scalar) + public override void Add(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3215,7 +2965,7 @@ public void Add(PrimitiveColumnContainer column, int scalar) } } - public void Add(int scalar, PrimitiveColumnContainer column) + public override void Add(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3228,7 +2978,7 @@ public void Add(int scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3252,7 +3002,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Subtract(PrimitiveColumnContainer column, int scalar) + public override void Subtract(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3265,7 +3015,7 @@ public void Subtract(PrimitiveColumnContainer column, int scalar) } } - public void Subtract(int scalar, PrimitiveColumnContainer column) + public override void Subtract(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3278,7 +3028,7 @@ public void Subtract(int scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3302,7 +3052,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Multiply(PrimitiveColumnContainer column, int scalar) + public override void Multiply(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3315,7 +3065,7 @@ public void Multiply(PrimitiveColumnContainer column, int scalar) } } - public void Multiply(int scalar, PrimitiveColumnContainer column) + public override void Multiply(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3328,7 +3078,7 @@ public void Multiply(int scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3352,7 +3102,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void Divide(PrimitiveColumnContainer column, int scalar) + public override void Divide(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3365,7 +3115,7 @@ public void Divide(PrimitiveColumnContainer column, int scalar) } } - public void Divide(int scalar, PrimitiveColumnContainer column) + public override void Divide(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3378,7 +3128,7 @@ public void Divide(int scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3402,7 +3152,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void Modulo(PrimitiveColumnContainer column, int scalar) + public override void Modulo(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3415,7 +3165,7 @@ public void Modulo(PrimitiveColumnContainer column, int scalar) } } - public void Modulo(int scalar, PrimitiveColumnContainer column) + public override void Modulo(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3428,7 +3178,7 @@ public void Modulo(int scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3452,7 +3202,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, int scalar) + public override void And(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3465,7 +3215,7 @@ public void And(PrimitiveColumnContainer column, int scalar) } } - public void And(int scalar, PrimitiveColumnContainer column) + public override void And(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3478,7 +3228,7 @@ public void And(int scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3502,7 +3252,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Or(PrimitiveColumnContainer column, int scalar) + public override void Or(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3515,7 +3265,7 @@ public void Or(PrimitiveColumnContainer column, int scalar) } } - public void Or(int scalar, PrimitiveColumnContainer column) + public override void Or(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3528,7 +3278,7 @@ public void Or(int scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3552,7 +3302,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, int scalar) + public override void Xor(PrimitiveColumnContainer column, int scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3565,7 +3315,7 @@ public void Xor(PrimitiveColumnContainer column, int scalar) } } - public void Xor(int scalar, PrimitiveColumnContainer column) + public override void Xor(int scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3578,7 +3328,7 @@ public void Xor(int scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3591,7 +3341,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3604,7 +3354,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3620,7 +3370,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3635,7 +3385,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3651,7 +3401,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3666,7 +3416,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3682,7 +3432,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3697,7 +3447,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3713,7 +3463,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3728,7 +3478,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3744,7 +3494,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3759,7 +3509,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -3775,7 +3525,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, int scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, int scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -3790,10 +3540,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class LongArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3817,7 +3567,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, long scalar) + public override void Add(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3830,7 +3580,7 @@ public void Add(PrimitiveColumnContainer column, long scalar) } } - public void Add(long scalar, PrimitiveColumnContainer column) + public override void Add(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3843,7 +3593,7 @@ public void Add(long scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3867,7 +3617,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Subtract(PrimitiveColumnContainer column, long scalar) + public override void Subtract(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3880,7 +3630,7 @@ public void Subtract(PrimitiveColumnContainer column, long scalar) } } - public void Subtract(long scalar, PrimitiveColumnContainer column) + public override void Subtract(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3893,7 +3643,7 @@ public void Subtract(long scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3917,7 +3667,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Multiply(PrimitiveColumnContainer column, long scalar) + public override void Multiply(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3930,7 +3680,7 @@ public void Multiply(PrimitiveColumnContainer column, long scalar) } } - public void Multiply(long scalar, PrimitiveColumnContainer column) + public override void Multiply(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3943,7 +3693,7 @@ public void Multiply(long scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -3967,7 +3717,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Divide(PrimitiveColumnContainer column, long scalar) + public override void Divide(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3980,7 +3730,7 @@ public void Divide(PrimitiveColumnContainer column, long scalar) } } - public void Divide(long scalar, PrimitiveColumnContainer column) + public override void Divide(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -3993,7 +3743,7 @@ public void Divide(long scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4017,7 +3767,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Modulo(PrimitiveColumnContainer column, long scalar) + public override void Modulo(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4030,7 +3780,7 @@ public void Modulo(PrimitiveColumnContainer column, long scalar) } } - public void Modulo(long scalar, PrimitiveColumnContainer column) + public override void Modulo(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4043,7 +3793,7 @@ public void Modulo(long scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4067,7 +3817,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, long scalar) + public override void And(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4080,7 +3830,7 @@ public void And(PrimitiveColumnContainer column, long scalar) } } - public void And(long scalar, PrimitiveColumnContainer column) + public override void And(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4093,7 +3843,7 @@ public void And(long scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4117,7 +3867,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, long scalar) + public override void Or(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4130,7 +3880,7 @@ public void Or(PrimitiveColumnContainer column, long scalar) } } - public void Or(long scalar, PrimitiveColumnContainer column) + public override void Or(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4143,7 +3893,7 @@ public void Or(long scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4167,7 +3917,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, long scalar) + public override void Xor(PrimitiveColumnContainer column, long scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4180,7 +3930,7 @@ public void Xor(PrimitiveColumnContainer column, long scalar) } } - public void Xor(long scalar, PrimitiveColumnContainer column) + public override void Xor(long scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4193,7 +3943,7 @@ public void Xor(long scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4206,7 +3956,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4219,7 +3969,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4235,7 +3985,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4250,7 +4000,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4266,7 +4016,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4281,7 +4031,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4297,7 +4047,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4312,7 +4062,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4328,7 +4078,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4343,7 +4093,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4359,7 +4109,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4374,7 +4124,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4390,7 +4140,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, long scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, long scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4405,10 +4155,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class SByteArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4432,7 +4182,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, sbyte scalar) + public override void Add(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4445,7 +4195,7 @@ public void Add(PrimitiveColumnContainer column, sbyte scalar) } } - public void Add(sbyte scalar, PrimitiveColumnContainer column) + public override void Add(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4458,7 +4208,7 @@ public void Add(sbyte scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4482,7 +4232,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Subtract(PrimitiveColumnContainer column, sbyte scalar) + public override void Subtract(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4495,7 +4245,7 @@ public void Subtract(PrimitiveColumnContainer column, sbyte scalar) } } - public void Subtract(sbyte scalar, PrimitiveColumnContainer column) + public override void Subtract(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4508,7 +4258,7 @@ public void Subtract(sbyte scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4532,7 +4282,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Multiply(PrimitiveColumnContainer column, sbyte scalar) + public override void Multiply(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4545,7 +4295,7 @@ public void Multiply(PrimitiveColumnContainer column, sbyte scalar) } } - public void Multiply(sbyte scalar, PrimitiveColumnContainer column) + public override void Multiply(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4558,7 +4308,7 @@ public void Multiply(sbyte scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4582,7 +4332,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Divide(PrimitiveColumnContainer column, sbyte scalar) + public override void Divide(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4595,7 +4345,7 @@ public void Divide(PrimitiveColumnContainer column, sbyte scalar) } } - public void Divide(sbyte scalar, PrimitiveColumnContainer column) + public override void Divide(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4608,7 +4358,7 @@ public void Divide(sbyte scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4632,7 +4382,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Modulo(PrimitiveColumnContainer column, sbyte scalar) + public override void Modulo(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4645,7 +4395,7 @@ public void Modulo(PrimitiveColumnContainer column, sbyte scalar) } } - public void Modulo(sbyte scalar, PrimitiveColumnContainer column) + public override void Modulo(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4658,7 +4408,7 @@ public void Modulo(sbyte scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4682,7 +4432,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, sbyte scalar) + public override void And(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4695,7 +4445,7 @@ public void And(PrimitiveColumnContainer column, sbyte scalar) } } - public void And(sbyte scalar, PrimitiveColumnContainer column) + public override void And(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4708,7 +4458,7 @@ public void And(sbyte scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4732,7 +4482,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, sbyte scalar) + public override void Or(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4745,7 +4495,7 @@ public void Or(PrimitiveColumnContainer column, sbyte scalar) } } - public void Or(sbyte scalar, PrimitiveColumnContainer column) + public override void Or(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4758,7 +4508,7 @@ public void Or(sbyte scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -4782,7 +4532,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, sbyte scalar) + public override void Xor(PrimitiveColumnContainer column, sbyte scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4795,7 +4545,7 @@ public void Xor(PrimitiveColumnContainer column, sbyte scalar) } } - public void Xor(sbyte scalar, PrimitiveColumnContainer column) + public override void Xor(sbyte scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4808,7 +4558,7 @@ public void Xor(sbyte scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4821,7 +4571,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -4834,7 +4584,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4850,7 +4600,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4865,7 +4615,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4881,7 +4631,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4896,7 +4646,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4912,7 +4662,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4927,7 +4677,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4943,7 +4693,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4958,7 +4708,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -4974,7 +4724,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -4989,7 +4739,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5005,7 +4755,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, sbyte scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, sbyte scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5020,10 +4770,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class ShortArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5047,7 +4797,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, short scalar) + public override void Add(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5060,7 +4810,7 @@ public void Add(PrimitiveColumnContainer column, short scalar) } } - public void Add(short scalar, PrimitiveColumnContainer column) + public override void Add(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5073,7 +4823,7 @@ public void Add(short scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5097,7 +4847,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Subtract(PrimitiveColumnContainer column, short scalar) + public override void Subtract(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5110,7 +4860,7 @@ public void Subtract(PrimitiveColumnContainer column, short scalar) } } - public void Subtract(short scalar, PrimitiveColumnContainer column) + public override void Subtract(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5123,7 +4873,7 @@ public void Subtract(short scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5147,7 +4897,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Multiply(PrimitiveColumnContainer column, short scalar) + public override void Multiply(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5160,7 +4910,7 @@ public void Multiply(PrimitiveColumnContainer column, short scalar) } } - public void Multiply(short scalar, PrimitiveColumnContainer column) + public override void Multiply(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5173,7 +4923,7 @@ public void Multiply(short scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5197,7 +4947,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Divide(PrimitiveColumnContainer column, short scalar) + public override void Divide(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5210,7 +4960,7 @@ public void Divide(PrimitiveColumnContainer column, short scalar) } } - public void Divide(short scalar, PrimitiveColumnContainer column) + public override void Divide(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5223,7 +4973,7 @@ public void Divide(short scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5247,7 +4997,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Modulo(PrimitiveColumnContainer column, short scalar) + public override void Modulo(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5260,7 +5010,7 @@ public void Modulo(PrimitiveColumnContainer column, short scalar) } } - public void Modulo(short scalar, PrimitiveColumnContainer column) + public override void Modulo(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5273,7 +5023,7 @@ public void Modulo(short scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5297,7 +5047,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, short scalar) + public override void And(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5310,7 +5060,7 @@ public void And(PrimitiveColumnContainer column, short scalar) } } - public void And(short scalar, PrimitiveColumnContainer column) + public override void And(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5323,7 +5073,7 @@ public void And(short scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5347,7 +5097,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, short scalar) + public override void Or(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5360,7 +5110,7 @@ public void Or(PrimitiveColumnContainer column, short scalar) } } - public void Or(short scalar, PrimitiveColumnContainer column) + public override void Or(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5373,7 +5123,7 @@ public void Or(short scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5397,7 +5147,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, short scalar) + public override void Xor(PrimitiveColumnContainer column, short scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5410,7 +5160,7 @@ public void Xor(PrimitiveColumnContainer column, short scalar) } } - public void Xor(short scalar, PrimitiveColumnContainer column) + public override void Xor(short scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5423,7 +5173,7 @@ public void Xor(short scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5436,7 +5186,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5449,7 +5199,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5465,7 +5215,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5480,7 +5230,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5496,7 +5246,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5511,7 +5261,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5527,7 +5277,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5542,7 +5292,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5558,7 +5308,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5573,7 +5323,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5589,7 +5339,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5604,7 +5354,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -5620,7 +5370,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, short scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, short scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -5635,10 +5385,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class UIntArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5662,7 +5412,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, uint scalar) + public override void Add(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5675,7 +5425,7 @@ public void Add(PrimitiveColumnContainer column, uint scalar) } } - public void Add(uint scalar, PrimitiveColumnContainer column) + public override void Add(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5688,7 +5438,7 @@ public void Add(uint scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5712,7 +5462,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Subtract(PrimitiveColumnContainer column, uint scalar) + public override void Subtract(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5725,7 +5475,7 @@ public void Subtract(PrimitiveColumnContainer column, uint scalar) } } - public void Subtract(uint scalar, PrimitiveColumnContainer column) + public override void Subtract(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5738,7 +5488,7 @@ public void Subtract(uint scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5762,7 +5512,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Multiply(PrimitiveColumnContainer column, uint scalar) + public override void Multiply(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5775,7 +5525,7 @@ public void Multiply(PrimitiveColumnContainer column, uint scalar) } } - public void Multiply(uint scalar, PrimitiveColumnContainer column) + public override void Multiply(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5788,7 +5538,7 @@ public void Multiply(uint scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5812,7 +5562,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Divide(PrimitiveColumnContainer column, uint scalar) + public override void Divide(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5825,7 +5575,7 @@ public void Divide(PrimitiveColumnContainer column, uint scalar) } } - public void Divide(uint scalar, PrimitiveColumnContainer column) + public override void Divide(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5838,7 +5588,7 @@ public void Divide(uint scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5862,7 +5612,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer } } - public void Modulo(PrimitiveColumnContainer column, uint scalar) + public override void Modulo(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5875,7 +5625,7 @@ public void Modulo(PrimitiveColumnContainer column, uint scalar) } } - public void Modulo(uint scalar, PrimitiveColumnContainer column) + public override void Modulo(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5888,7 +5638,7 @@ public void Modulo(uint scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5912,7 +5662,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, uint scalar) + public override void And(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5925,7 +5675,7 @@ public void And(PrimitiveColumnContainer column, uint scalar) } } - public void And(uint scalar, PrimitiveColumnContainer column) + public override void And(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5938,7 +5688,7 @@ public void And(uint scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -5962,7 +5712,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, uint scalar) + public override void Or(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5975,7 +5725,7 @@ public void Or(PrimitiveColumnContainer column, uint scalar) } } - public void Or(uint scalar, PrimitiveColumnContainer column) + public override void Or(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -5988,7 +5738,7 @@ public void Or(uint scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6012,7 +5762,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, uint scalar) + public override void Xor(PrimitiveColumnContainer column, uint scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6025,7 +5775,7 @@ public void Xor(PrimitiveColumnContainer column, uint scalar) } } - public void Xor(uint scalar, PrimitiveColumnContainer column) + public override void Xor(uint scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6038,7 +5788,7 @@ public void Xor(uint scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6051,7 +5801,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6064,7 +5814,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6080,7 +5830,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6095,7 +5845,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6111,7 +5861,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6126,7 +5876,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6142,7 +5892,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6157,7 +5907,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6173,7 +5923,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6188,7 +5938,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6204,7 +5954,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6219,7 +5969,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6235,7 +5985,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, uint scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, uint scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6250,10 +6000,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class ULongArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6277,7 +6027,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer column, ulong scalar) + public override void Add(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6290,7 +6040,7 @@ public void Add(PrimitiveColumnContainer column, ulong scalar) } } - public void Add(ulong scalar, PrimitiveColumnContainer column) + public override void Add(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6303,7 +6053,7 @@ public void Add(ulong scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6327,7 +6077,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Subtract(PrimitiveColumnContainer column, ulong scalar) + public override void Subtract(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6340,7 +6090,7 @@ public void Subtract(PrimitiveColumnContainer column, ulong scalar) } } - public void Subtract(ulong scalar, PrimitiveColumnContainer column) + public override void Subtract(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6353,7 +6103,7 @@ public void Subtract(ulong scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6377,7 +6127,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContai } } - public void Multiply(PrimitiveColumnContainer column, ulong scalar) + public override void Multiply(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6390,7 +6140,7 @@ public void Multiply(PrimitiveColumnContainer column, ulong scalar) } } - public void Multiply(ulong scalar, PrimitiveColumnContainer column) + public override void Multiply(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6403,7 +6153,7 @@ public void Multiply(ulong scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6427,7 +6177,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Divide(PrimitiveColumnContainer column, ulong scalar) + public override void Divide(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6440,7 +6190,7 @@ public void Divide(PrimitiveColumnContainer column, ulong scalar) } } - public void Divide(ulong scalar, PrimitiveColumnContainer column) + public override void Divide(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6453,7 +6203,7 @@ public void Divide(ulong scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6477,7 +6227,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContaine } } - public void Modulo(PrimitiveColumnContainer column, ulong scalar) + public override void Modulo(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6490,7 +6240,7 @@ public void Modulo(PrimitiveColumnContainer column, ulong scalar) } } - public void Modulo(ulong scalar, PrimitiveColumnContainer column) + public override void Modulo(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6503,7 +6253,7 @@ public void Modulo(ulong scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6527,7 +6277,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer column, ulong scalar) + public override void And(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6540,7 +6290,7 @@ public void And(PrimitiveColumnContainer column, ulong scalar) } } - public void And(ulong scalar, PrimitiveColumnContainer column) + public override void And(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6553,7 +6303,7 @@ public void And(ulong scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6577,7 +6327,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer
    column, ulong scalar) + public override void Or(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6590,7 +6340,7 @@ public void Or(PrimitiveColumnContainer column, ulong scalar) } } - public void Or(ulong scalar, PrimitiveColumnContainer column) + public override void Or(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6603,7 +6353,7 @@ public void Or(ulong scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6627,7 +6377,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer column, ulong scalar) + public override void Xor(PrimitiveColumnContainer column, ulong scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6640,7 +6390,7 @@ public void Xor(PrimitiveColumnContainer column, ulong scalar) } } - public void Xor(ulong scalar, PrimitiveColumnContainer column) + public override void Xor(ulong scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6653,7 +6403,7 @@ public void Xor(ulong scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6666,7 +6416,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6679,7 +6429,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6695,7 +6445,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6710,7 +6460,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6726,7 +6476,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6741,7 +6491,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6757,7 +6507,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6772,7 +6522,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6788,7 +6538,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6803,7 +6553,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6819,7 +6569,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6834,7 +6584,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -6850,7 +6600,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ulong scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ulong scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -6865,10 +6615,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class UShortArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6892,7 +6642,7 @@ public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void Add(PrimitiveColumnContainer column, ushort scalar) + public override void Add(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6905,7 +6655,7 @@ public void Add(PrimitiveColumnContainer column, ushort scalar) } } - public void Add(ushort scalar, PrimitiveColumnContainer column) + public override void Add(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6918,7 +6668,7 @@ public void Add(ushort scalar, PrimitiveColumnContainer column) } } - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6942,7 +6692,7 @@ public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnConta } } - public void Subtract(PrimitiveColumnContainer column, ushort scalar) + public override void Subtract(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6955,7 +6705,7 @@ public void Subtract(PrimitiveColumnContainer column, ushort scalar) } } - public void Subtract(ushort scalar, PrimitiveColumnContainer column) + public override void Subtract(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -6968,7 +6718,7 @@ public void Subtract(ushort scalar, PrimitiveColumnContainer column) } } - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -6992,7 +6742,7 @@ public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnConta } } - public void Multiply(PrimitiveColumnContainer column, ushort scalar) + public override void Multiply(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7005,7 +6755,7 @@ public void Multiply(PrimitiveColumnContainer column, ushort scalar) } } - public void Multiply(ushort scalar, PrimitiveColumnContainer column) + public override void Multiply(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7018,7 +6768,7 @@ public void Multiply(ushort scalar, PrimitiveColumnContainer column) } } - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -7042,7 +6792,7 @@ public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Divide(PrimitiveColumnContainer column, ushort scalar) + public override void Divide(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7055,7 +6805,7 @@ public void Divide(PrimitiveColumnContainer column, ushort scalar) } } - public void Divide(ushort scalar, PrimitiveColumnContainer column) + public override void Divide(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7068,7 +6818,7 @@ public void Divide(ushort scalar, PrimitiveColumnContainer column) } } - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -7092,7 +6842,7 @@ public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContain } } - public void Modulo(PrimitiveColumnContainer column, ushort scalar) + public override void Modulo(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7105,7 +6855,7 @@ public void Modulo(PrimitiveColumnContainer column, ushort scalar) } } - public void Modulo(ushort scalar, PrimitiveColumnContainer column) + public override void Modulo(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7118,7 +6868,7 @@ public void Modulo(ushort scalar, PrimitiveColumnContainer column) } } - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -7142,7 +6892,7 @@ public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void And(PrimitiveColumnContainer column, ushort scalar) + public override void And(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7155,7 +6905,7 @@ public void And(PrimitiveColumnContainer column, ushort scalar) } } - public void And(ushort scalar, PrimitiveColumnContainer column) + public override void And(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7168,7 +6918,7 @@ public void And(ushort scalar, PrimitiveColumnContainer column) } } - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -7192,7 +6942,7 @@ public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer column, ushort scalar) + public override void Or(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7205,7 +6955,7 @@ public void Or(PrimitiveColumnContainer column, ushort scalar) } } - public void Or(ushort scalar, PrimitiveColumnContainer column) + public override void Or(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7218,7 +6968,7 @@ public void Or(ushort scalar, PrimitiveColumnContainer column) } } - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { long index = 0; for (int b = 0; b < left.Buffers.Count; b++) @@ -7242,7 +6992,7 @@ public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer< } } - public void Xor(PrimitiveColumnContainer column, ushort scalar) + public override void Xor(PrimitiveColumnContainer column, ushort scalar) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7255,7 +7005,7 @@ public void Xor(PrimitiveColumnContainer column, ushort scalar) } } - public void Xor(ushort scalar, PrimitiveColumnContainer column) + public override void Xor(ushort scalar, PrimitiveColumnContainer column) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7268,7 +7018,7 @@ public void Xor(ushort scalar, PrimitiveColumnContainer column) } } - public void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7281,7 +7031,7 @@ public void LeftShift(PrimitiveColumnContainer column, int value) } } - public void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(PrimitiveColumnContainer column, int value) { for (int b = 0; b < column.Buffers.Count; b++) { @@ -7294,7 +7044,7 @@ public void RightShift(PrimitiveColumnContainer column, int value) } } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7310,7 +7060,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7325,7 +7075,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7341,7 +7091,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7356,7 +7106,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7372,7 +7122,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7387,7 +7137,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveCol return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7403,7 +7153,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7418,7 +7168,7 @@ public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumn return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7434,7 +7184,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7449,7 +7199,7 @@ public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnCont return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7465,7 +7215,7 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ushort scalar) + public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ushort scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7480,140 +7230,10 @@ public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContain return ret; } } - internal class DateTimeArithmetic : IPrimitiveDataFrameColumnArithmetic + internal class DateTimeArithmetic : PrimitiveDataFrameColumnArithmetic { - public void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Add(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Add(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Subtract(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Subtract(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Multiply(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Multiply(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Divide(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Divide(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Modulo(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Modulo(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void And(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void And(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Or(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Or(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public void Xor(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public void Xor(DateTime scalar, PrimitiveColumnContainer column) - { - throw new NotSupportedException(); - } - - public void LeftShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public void RightShift(PrimitiveColumnContainer column, int value) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7629,7 +7249,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, DateTime scalar) + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, DateTime scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7644,7 +7264,7 @@ public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -7660,7 +7280,7 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai return ret; } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, DateTime scalar) + public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, DateTime scalar) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); long index = 0; @@ -7674,45 +7294,5 @@ public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContai } return ret; } - - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) - { - throw new NotSupportedException(); - } - - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, DateTime scalar) - { - throw new NotSupportedException(); - } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index ed2843696d..cdc4e02578 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -40,10 +40,30 @@ namespace Microsoft.Data.Analysis <# } #> } - internal static class PrimitiveDataFrameColumnArithmetic + internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumnArithmetic where T : unmanaged { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); + +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Comparison) { #> + public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); +<# } #> +<# else if (method.MethodType == MethodType.ComparisonScalar) { #> + public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); +<# } #> +<# else if (method.MethodType == MethodType.Binary) { #> + public virtual void <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); +<# } #> +<# else if (method.MethodType == MethodType.BinaryScalar) { #> + public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); +<# } #> +<# else if (method.MethodType == MethodType.BinaryInt) { #> + public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); +<# } #> +<# } #> + } internal static class PrimitiveDataFrameColumnArithmetic @@ -61,33 +81,31 @@ namespace Microsoft.Data.Analysis } } <# foreach (TypeConfiguration type in typeConfiguration) { #> - internal class <#=type.ClassPrefix#>Arithmetic : IPrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> + internal class <#=type.ClassPrefix#>Arithmetic : PrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> { <# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (!((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) && method.Operator != null) { #> <# if (method.MethodType == MethodType.Comparison) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) + public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) <# } #> <# else if (method.MethodType == MethodType.ComparisonScalar) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) + public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) <# } #> <# else if (method.MethodType == MethodType.Binary) { #> - public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) + public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> - public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) + public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) <# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> - public void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) + public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) <# } #> { -<# if ((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) { #> - throw new NotSupportedException(); -<# } else if (method.Operator != null) { #> <# if (method.MethodType == MethodType.Binary) { #> long index = 0; <# } #> @@ -139,16 +157,12 @@ namespace Microsoft.Data.Analysis } <# if (method.MethodType == MethodType.Comparison || method.MethodType == MethodType.ComparisonScalar) { #> return ret; -<# } #> <# } #> } <# if (method.MethodType == MethodType.BinaryScalar) { #> - public <#= method.GetInvertedMethodSignatureForBinaryScalarsOps("PrimitiveColumnContainer", type.TypeName) #> + public override <#= method.GetInvertedMethodSignatureForBinaryScalarsOps("PrimitiveColumnContainer", type.TypeName) #> { -<# if ((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) { #> - throw new NotSupportedException(); -<# } else if (method.Operator != null) { #> for (int b = 0; b < <#= method.Op1Name #>.Buffers.Count; b++) { var mutableBuffer = <#= method.Op1Name #>.Buffers.GetOrCreateMutable(b); @@ -163,9 +177,9 @@ namespace Microsoft.Data.Analysis <# } #> } } -<# } #> } <# } #> +<# } #> <# } #> } <# } #> From f4a371b545b8b14218150c09f0c2bfb372f50241 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 18 Sep 2023 18:03:39 +0300 Subject: [PATCH 22/44] Move iteration over buffers outside of the PrimitiveDataFrameColumnArithmetic --- ...imitiveColumnContainer.BinaryOperations.cs | 160 +++++++++++++++++- ...imitiveColumnContainer.BinaryOperations.tt | 24 +++ .../PrimitiveColumnContainer.cs | 6 + 3 files changed, 182 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index ca16f01489..47ddb236da 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -13,7 +13,25 @@ internal partial class PrimitiveColumnContainer public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Add(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Add(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -25,7 +43,25 @@ public PrimitiveColumnContainer Add(T scalar) public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Subtract(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Subtract(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -37,7 +73,25 @@ public PrimitiveColumnContainer Subtract(T scalar) public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Multiply(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Multiply(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -49,7 +103,25 @@ public PrimitiveColumnContainer Multiply(T scalar) public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Divide(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Divide(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -61,7 +133,25 @@ public PrimitiveColumnContainer Divide(T scalar) public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Modulo(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Modulo(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -73,7 +163,25 @@ public PrimitiveColumnContainer Modulo(T scalar) public PrimitiveColumnContainer And(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.And(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.And(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -85,7 +193,25 @@ public PrimitiveColumnContainer And(T scalar) public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Or(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Or(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } @@ -97,7 +223,25 @@ public PrimitiveColumnContainer Or(T scalar) public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) { - PrimitiveDataFrameColumnArithmetic.Instance.Xor(this, right); + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.Xor(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + return this; } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index 4af33da261..bbe9d7bbcb 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -28,6 +28,30 @@ namespace Microsoft.Data.Analysis { return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); } +<# } else if (method.MethodType == MethodType.Binary ) { #> + public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) + { + for (int i = 0; i < this.Buffers.Count; i++) + { + //Calculate raw values + var mutableBuffer = this.Buffers.GetOrCreateMutable(i); + var span = mutableBuffer.Span; + var otherSpan = right.Buffers[i].ReadOnlySpan; + + PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(span, otherSpan, span); + + //Calculate validity + var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); + var otherValidityBuffer = right.NullBitMapBuffers[i]; + + BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + + //Calculate NullCount + this.NullCount = 0; + } + + return this; + } <# } else { #> public <#= method.GetSingleArgumentMethodSignature("PrimitiveColumnContainer", "T")#> { diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 2e531ea316..196596b100 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -26,6 +26,12 @@ public static bool IsBitSet(byte curBitMap, int index) { return ((curBitMap >> (index & 7)) & 1) != 0; } + + public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) + { + for (int i = 0; i < left.Length; i++) + result[i] = (byte)(left[i] & right[i]); + } } /// From 34c850fdedfb35b3024130cf8313e7be5b24cdfc Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 18 Sep 2023 23:23:44 +0300 Subject: [PATCH 23/44] Change PrimitiveDataFrameColumnArithmetic --- .../PrimitiveDataFrameColumnArithmetic.cs | 2012 +++-------------- .../PrimitiveDataFrameColumnArithmetic.tt | 33 +- 2 files changed, 298 insertions(+), 1747 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index d315e34163..48d7f22f2d 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -13,28 +13,28 @@ namespace Microsoft.Data.Analysis internal interface IPrimitiveDataFrameColumnArithmetic where T : unmanaged { - void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Add(ReadOnlySpan left, ReadOnlySpan right, Span result); void Add(PrimitiveColumnContainer column, T scalar); void Add(T scalar, PrimitiveColumnContainer column); - void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Subtract(ReadOnlySpan left, ReadOnlySpan right, Span result); void Subtract(PrimitiveColumnContainer column, T scalar); void Subtract(T scalar, PrimitiveColumnContainer column); - void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result); void Multiply(PrimitiveColumnContainer column, T scalar); void Multiply(T scalar, PrimitiveColumnContainer column); - void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Divide(ReadOnlySpan left, ReadOnlySpan right, Span result); void Divide(PrimitiveColumnContainer column, T scalar); void Divide(T scalar, PrimitiveColumnContainer column); - void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result); void Modulo(PrimitiveColumnContainer column, T scalar); void Modulo(T scalar, PrimitiveColumnContainer column); - void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void And(ReadOnlySpan left, ReadOnlySpan right, Span result); void And(PrimitiveColumnContainer column, T scalar); void And(T scalar, PrimitiveColumnContainer column); - void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Or(ReadOnlySpan left, ReadOnlySpan right, Span result); void Or(PrimitiveColumnContainer column, T scalar); void Or(T scalar, PrimitiveColumnContainer column); - void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void Xor(ReadOnlySpan left, ReadOnlySpan right, Span result); void Xor(PrimitiveColumnContainer column, T scalar); void Xor(T scalar, PrimitiveColumnContainer column); void LeftShift(PrimitiveColumnContainer column, int value); @@ -58,28 +58,28 @@ internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumn { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); - public virtual void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Add(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Add(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Add(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Subtract(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Subtract(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Subtract(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Multiply(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Multiply(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Divide(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Divide(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Divide(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Modulo(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Modulo(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void And(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void And(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void And(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Or(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Or(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Or(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void Xor(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Xor(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Xor(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); public virtual void LeftShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); @@ -166,27 +166,11 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (bool)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (bool)(span[i] & otherSpan[i]); } } @@ -216,27 +200,11 @@ public override void And(bool scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (bool)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (bool)(span[i] | otherSpan[i]); } } @@ -266,27 +234,11 @@ public override void Or(bool scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (bool)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (bool)(span[i] ^ otherSpan[i]); } } @@ -381,27 +333,11 @@ public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveCol internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] + otherSpan[i]); } } @@ -431,27 +367,11 @@ public override void Add(byte scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] - otherSpan[i]); } } @@ -481,27 +401,11 @@ public override void Subtract(byte scalar, PrimitiveColumnContainer column } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] * otherSpan[i]); } } @@ -531,27 +435,11 @@ public override void Multiply(byte scalar, PrimitiveColumnContainer column } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] / otherSpan[i]); } } @@ -581,27 +469,11 @@ public override void Divide(byte scalar, PrimitiveColumnContainer column) } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] % otherSpan[i]); } } @@ -631,27 +503,11 @@ public override void Modulo(byte scalar, PrimitiveColumnContainer column) } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] & otherSpan[i]); } } @@ -681,27 +537,11 @@ public override void And(byte scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] | otherSpan[i]); } } @@ -731,27 +571,11 @@ public override void Or(byte scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (byte)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (byte)(span[i] ^ otherSpan[i]); } } @@ -996,27 +820,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] + otherSpan[i]); } } @@ -1046,27 +854,11 @@ public override void Add(char scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] - otherSpan[i]); } } @@ -1096,27 +888,11 @@ public override void Subtract(char scalar, PrimitiveColumnContainer column } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] * otherSpan[i]); } } @@ -1146,27 +922,11 @@ public override void Multiply(char scalar, PrimitiveColumnContainer column } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] / otherSpan[i]); } } @@ -1196,27 +956,11 @@ public override void Divide(char scalar, PrimitiveColumnContainer column) } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] % otherSpan[i]); } } @@ -1246,27 +990,11 @@ public override void Modulo(char scalar, PrimitiveColumnContainer column) } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] & otherSpan[i]); } } @@ -1296,27 +1024,11 @@ public override void And(char scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] | otherSpan[i]); } } @@ -1346,27 +1058,11 @@ public override void Or(char scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (char)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (char)(span[i] ^ otherSpan[i]); } } @@ -1611,27 +1307,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (decimal)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (decimal)(span[i] + otherSpan[i]); } } @@ -1661,27 +1341,11 @@ public override void Add(decimal scalar, PrimitiveColumnContainer colum } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (decimal)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (decimal)(span[i] - otherSpan[i]); } } @@ -1711,27 +1375,11 @@ public override void Subtract(decimal scalar, PrimitiveColumnContainer } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (decimal)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (decimal)(span[i] * otherSpan[i]); } } @@ -1761,27 +1409,11 @@ public override void Multiply(decimal scalar, PrimitiveColumnContainer } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (decimal)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (decimal)(span[i] / otherSpan[i]); } } @@ -1811,27 +1443,11 @@ public override void Divide(decimal scalar, PrimitiveColumnContainer co } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (decimal)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (decimal)(span[i] % otherSpan[i]); } } @@ -2050,27 +1666,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (double)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (double)(span[i] + otherSpan[i]); } } @@ -2100,27 +1700,11 @@ public override void Add(double scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (double)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (double)(span[i] - otherSpan[i]); } } @@ -2150,27 +1734,11 @@ public override void Subtract(double scalar, PrimitiveColumnContainer co } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (double)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (double)(span[i] * otherSpan[i]); } } @@ -2200,27 +1768,11 @@ public override void Multiply(double scalar, PrimitiveColumnContainer co } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (double)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (double)(span[i] / otherSpan[i]); } } @@ -2250,27 +1802,11 @@ public override void Divide(double scalar, PrimitiveColumnContainer colu } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (double)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (double)(span[i] % otherSpan[i]); } } @@ -2489,27 +2025,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (float)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (float)(span[i] + otherSpan[i]); } } @@ -2539,27 +2059,11 @@ public override void Add(float scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (float)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (float)(span[i] - otherSpan[i]); } } @@ -2589,27 +2093,11 @@ public override void Subtract(float scalar, PrimitiveColumnContainer colu } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (float)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (float)(span[i] * otherSpan[i]); } } @@ -2639,27 +2127,11 @@ public override void Multiply(float scalar, PrimitiveColumnContainer colu } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (float)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (float)(span[i] / otherSpan[i]); } } @@ -2689,27 +2161,11 @@ public override void Divide(float scalar, PrimitiveColumnContainer column } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (float)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (float)(span[i] % otherSpan[i]); } } @@ -2928,27 +2384,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] + otherSpan[i]); } } @@ -2978,27 +2418,11 @@ public override void Add(int scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] - otherSpan[i]); } } @@ -3028,27 +2452,11 @@ public override void Subtract(int scalar, PrimitiveColumnContainer column) } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] * otherSpan[i]); } } @@ -3078,27 +2486,11 @@ public override void Multiply(int scalar, PrimitiveColumnContainer column) } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] / otherSpan[i]); } } @@ -3128,27 +2520,11 @@ public override void Divide(int scalar, PrimitiveColumnContainer column) } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] % otherSpan[i]); } } @@ -3178,27 +2554,11 @@ public override void Modulo(int scalar, PrimitiveColumnContainer column) } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] & otherSpan[i]); } } @@ -3228,27 +2588,11 @@ public override void And(int scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] | otherSpan[i]); } } @@ -3278,27 +2622,11 @@ public override void Or(int scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (int)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (int)(span[i] ^ otherSpan[i]); } } @@ -3543,27 +2871,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] + otherSpan[i]); } } @@ -3593,27 +2905,11 @@ public override void Add(long scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] - otherSpan[i]); } } @@ -3643,27 +2939,11 @@ public override void Subtract(long scalar, PrimitiveColumnContainer column } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] * otherSpan[i]); } } @@ -3693,27 +2973,11 @@ public override void Multiply(long scalar, PrimitiveColumnContainer column } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] / otherSpan[i]); } } @@ -3743,27 +3007,11 @@ public override void Divide(long scalar, PrimitiveColumnContainer column) } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] % otherSpan[i]); } } @@ -3793,27 +3041,11 @@ public override void Modulo(long scalar, PrimitiveColumnContainer column) } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] & otherSpan[i]); } } @@ -3843,27 +3075,11 @@ public override void And(long scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] | otherSpan[i]); } } @@ -3893,27 +3109,11 @@ public override void Or(long scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (long)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (long)(span[i] ^ otherSpan[i]); } } @@ -4158,27 +3358,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] + otherSpan[i]); } } @@ -4208,27 +3392,11 @@ public override void Add(sbyte scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] - otherSpan[i]); } } @@ -4258,27 +3426,11 @@ public override void Subtract(sbyte scalar, PrimitiveColumnContainer colu } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] * otherSpan[i]); } } @@ -4308,27 +3460,11 @@ public override void Multiply(sbyte scalar, PrimitiveColumnContainer colu } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] / otherSpan[i]); } } @@ -4358,27 +3494,11 @@ public override void Divide(sbyte scalar, PrimitiveColumnContainer column } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] % otherSpan[i]); } } @@ -4408,27 +3528,11 @@ public override void Modulo(sbyte scalar, PrimitiveColumnContainer column } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] & otherSpan[i]); } } @@ -4458,27 +3562,11 @@ public override void And(sbyte scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] | otherSpan[i]); } } @@ -4508,27 +3596,11 @@ public override void Or(sbyte scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (sbyte)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (sbyte)(span[i] ^ otherSpan[i]); } } @@ -4773,27 +3845,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] + otherSpan[i]); } } @@ -4823,27 +3879,11 @@ public override void Add(short scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] - otherSpan[i]); } } @@ -4873,27 +3913,11 @@ public override void Subtract(short scalar, PrimitiveColumnContainer colu } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] * otherSpan[i]); } } @@ -4923,27 +3947,11 @@ public override void Multiply(short scalar, PrimitiveColumnContainer colu } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] / otherSpan[i]); } } @@ -4973,27 +3981,11 @@ public override void Divide(short scalar, PrimitiveColumnContainer column } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] % otherSpan[i]); } } @@ -5023,27 +4015,11 @@ public override void Modulo(short scalar, PrimitiveColumnContainer column } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] & otherSpan[i]); } } @@ -5073,27 +4049,11 @@ public override void And(short scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] | otherSpan[i]); } } @@ -5123,27 +4083,11 @@ public override void Or(short scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (short)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (short)(span[i] ^ otherSpan[i]); } } @@ -5388,27 +4332,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] + otherSpan[i]); } } @@ -5438,27 +4366,11 @@ public override void Add(uint scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] - otherSpan[i]); } } @@ -5488,27 +4400,11 @@ public override void Subtract(uint scalar, PrimitiveColumnContainer column } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] * otherSpan[i]); } } @@ -5538,27 +4434,11 @@ public override void Multiply(uint scalar, PrimitiveColumnContainer column } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] / otherSpan[i]); } } @@ -5588,27 +4468,11 @@ public override void Divide(uint scalar, PrimitiveColumnContainer column) } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] % otherSpan[i]); } } @@ -5638,27 +4502,11 @@ public override void Modulo(uint scalar, PrimitiveColumnContainer column) } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] & otherSpan[i]); } } @@ -5688,27 +4536,11 @@ public override void And(uint scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] | otherSpan[i]); } } @@ -5738,27 +4570,11 @@ public override void Or(uint scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (uint)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (uint)(span[i] ^ otherSpan[i]); } } @@ -6003,27 +4819,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] + otherSpan[i]); } } @@ -6053,27 +4853,11 @@ public override void Add(ulong scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] - otherSpan[i]); } } @@ -6103,27 +4887,11 @@ public override void Subtract(ulong scalar, PrimitiveColumnContainer colu } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] * otherSpan[i]); } } @@ -6153,27 +4921,11 @@ public override void Multiply(ulong scalar, PrimitiveColumnContainer colu } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] / otherSpan[i]); } } @@ -6203,27 +4955,11 @@ public override void Divide(ulong scalar, PrimitiveColumnContainer column } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] % otherSpan[i]); } } @@ -6253,27 +4989,11 @@ public override void Modulo(ulong scalar, PrimitiveColumnContainer column } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] & otherSpan[i]); } } @@ -6303,27 +5023,11 @@ public override void And(ulong scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] | otherSpan[i]); } } @@ -6353,27 +5057,11 @@ public override void Or(ulong scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ulong)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ulong)(span[i] ^ otherSpan[i]); } } @@ -6618,27 +5306,11 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] + otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] + otherSpan[i]); } } @@ -6668,27 +5340,11 @@ public override void Add(ushort scalar, PrimitiveColumnContainer column) } } - public override void Subtract(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] - otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] - otherSpan[i]); } } @@ -6718,27 +5374,11 @@ public override void Subtract(ushort scalar, PrimitiveColumnContainer co } } - public override void Multiply(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] * otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] * otherSpan[i]); } } @@ -6768,27 +5408,11 @@ public override void Multiply(ushort scalar, PrimitiveColumnContainer co } } - public override void Divide(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] / otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] / otherSpan[i]); } } @@ -6818,27 +5442,11 @@ public override void Divide(ushort scalar, PrimitiveColumnContainer colu } } - public override void Modulo(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] % otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] % otherSpan[i]); } } @@ -6868,27 +5476,11 @@ public override void Modulo(ushort scalar, PrimitiveColumnContainer colu } } - public override void And(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] & otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] & otherSpan[i]); } } @@ -6918,27 +5510,11 @@ public override void And(ushort scalar, PrimitiveColumnContainer column) } } - public override void Or(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] | otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] | otherSpan[i]); } } @@ -6968,27 +5544,11 @@ public override void Or(ushort scalar, PrimitiveColumnContainer column) } } - public override void Xor(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) + for (int i = 0; i < span.Length; i++) { - var mutableBuffer = left.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (ushort)(span[i] ^ otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; - } + resultSpan[i] = (ushort)(span[i] ^ otherSpan[i]); } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index cdc4e02578..3e68e001df 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -28,7 +28,7 @@ namespace Microsoft.Data.Analysis PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> - void <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); + void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result); <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); @@ -53,7 +53,7 @@ namespace Microsoft.Data.Analysis public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> - public virtual void <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); @@ -95,7 +95,13 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.Binary) { #> - public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) + public override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> span, ReadOnlySpan<<#=type.TypeName#>> otherSpan, Span<<#=type.TypeName#>> resultSpan) + { + for (int i = 0; i < span.Length; i++) + { + resultSpan[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> otherSpan[i]); + } + } <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> @@ -105,10 +111,8 @@ namespace Microsoft.Data.Analysis public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) <# } #> +<# if (method.MethodType != MethodType.Binary) { #> { -<# if (method.MethodType == MethodType.Binary) { #> - long index = 0; -<# } #> <# if (method.MethodType == MethodType.Comparison) { #> PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); long index = 0; @@ -127,25 +131,11 @@ namespace Microsoft.Data.Analysis <# } else {#> var mutableBuffer = <#= method.Op1Name #>.Buffers.GetOrCreateMutable(b); var span = mutableBuffer.Span; -<# if (method.MethodType == MethodType.Binary) { #> - var otherSpan = <#=method.Op2Name#>.Buffers[b].ReadOnlySpan; -<# } #> <# } #> for (int i = 0; i < span.Length; i++) { <# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.BinaryInt) { #> span[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> <#= method.Op2Name #>); -<# } else if (method.MethodType == MethodType.Binary) { #> - if (BitmapHelper.IsValid(right.NullBitMapBuffers[b].ReadOnlySpan, i)) - { - span[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> otherSpan[i]); - } - else - { - left[index] = null; - } - - index++; <# } else if (method.MethodType == MethodType.Comparison) { #> ret[index++] = (span[i] <#= method.Operator #> otherSpan[i]); <# } else if (method.MethodType == MethodType.ComparisonScalar) { #> @@ -159,6 +149,7 @@ namespace Microsoft.Data.Analysis return ret; <# } #> } +<# } #> <# if (method.MethodType == MethodType.BinaryScalar) { #> public override <#= method.GetInvertedMethodSignatureForBinaryScalarsOps("PrimitiveColumnContainer", type.TypeName) #> @@ -167,7 +158,7 @@ namespace Microsoft.Data.Analysis { var mutableBuffer = <#= method.Op1Name #>.Buffers.GetOrCreateMutable(b); var span = mutableBuffer.Span; -<# if (method.MethodType == MethodType.Binary || method.MethodType == MethodType.Comparison) { #> +<# if (method.MethodType == MethodType.Comparison) { #> var otherSpan = <#=method.Op2Name#>.Buffers[b].ReadOnlySpan; <# } #> for (int i = 0; i < span.Length; i++) From be47f8daaf21f2de613b3ab4818521e2ddd741a6 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 19 Sep 2023 12:07:23 +0300 Subject: [PATCH 24/44] Fix typo --- test/Microsoft.ML.Fairlearn.Tests/GridSearchTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.ML.Fairlearn.Tests/GridSearchTest.cs b/test/Microsoft.ML.Fairlearn.Tests/GridSearchTest.cs index e539c10907..35994e6a44 100644 --- a/test/Microsoft.ML.Fairlearn.Tests/GridSearchTest.cs +++ b/test/Microsoft.ML.Fairlearn.Tests/GridSearchTest.cs @@ -45,7 +45,7 @@ private DataFrame CreateDummyDataset() } // Data generated so it is identical from Binary_Classification.ipynb from Fairlearn.github on Github - private DataFrame CreateGridScearhDataset() + private DataFrame CreateGridSearchDataset() { float[] score_feature = new float[52]; int index = 0; @@ -89,7 +89,7 @@ public void TestGridSearchTrialRunner2() } }; var experiment = context.Auto().CreateExperiment(); - var df = CreateGridScearhDataset(); + var df = CreateGridSearchDataset(); var shuffledDataset = context.Data.ShuffleRows(df); var trainTestSplit = context.Data.TrainTestSplit(shuffledDataset, 0.2); var pipeline = context.Transforms.Categorical.OneHotHashEncoding("sensitiveFeature_encode", "sensitiveFeature") From d1b06865040a3c68672d3caca42b11e988ac1ecb Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 19 Sep 2023 13:03:51 +0300 Subject: [PATCH 25/44] Use RawSpan --- src/Microsoft.Data.Analysis/DataFrameBuffer.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs index 7aee0a552e..fd7f23964f 100644 --- a/src/Microsoft.Data.Analysis/DataFrameBuffer.cs +++ b/src/Microsoft.Data.Analysis/DataFrameBuffer.cs @@ -57,14 +57,10 @@ internal DataFrameBuffer(ReadOnlyMemory buffer, int length) public void Append(T value) { - if (Length == MaxCapacity) - { - throw new ArgumentException("Current buffer is full", nameof(value)); - } EnsureCapacity(1); - if (Length < MaxCapacity) - ++Length; - Span[Length - 1] = value; + + RawSpan[Length] = value; + Length++; } public void IncreaseSize(int numberOfValues) From 33a29b0b600784a4f693438931dc56f235a74c15 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 19 Sep 2023 14:53:19 +0300 Subject: [PATCH 26/44] Fix bug with AppendMany values to not empty column --- .../PrimitiveColumnContainer.cs | 102 +++++++++++++++++- .../BufferTests.cs | 25 ++++- 2 files changed, 121 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index e8ed7e85ef..3e5a352587 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -14,6 +14,10 @@ namespace Microsoft.Data.Analysis { internal static class BitmapHelper { + private static ReadOnlySpan BitMask => new byte[] { + 1, 2, 4, 8, 16, 32, 64, 128 + }; + // Faster to use when we already have a span since it avoids indexing public static bool IsValid(ReadOnlySpan bitMapBufferSpan, int index) { @@ -26,6 +30,93 @@ public static bool IsBitSet(byte curBitMap, int index) { return ((curBitMap >> (index & 7)) & 1) != 0; } + + public static bool GetBit(byte data, int index) => + ((data >> index) & 1) != 0; + + public static bool GetBit(ReadOnlySpan data, int index) => + (data[index / 8] & BitMask[index % 8]) != 0; + + public static void ClearBit(Span data, int index) + { + data[index / 8] &= (byte)~BitMask[index % 8]; + } + + public static void SetBit(Span data, int index) + { + data[index / 8] |= BitMask[index % 8]; + } + + public static void SetBit(Span data, int index, bool value) + { + int idx = index / 8; + int mod = index % 8; + data[idx] = value + ? (byte)(data[idx] | BitMask[mod]) + : (byte)(data[idx] & ~BitMask[mod]); + } + + /// + /// Set the number of bits in a span of bytes starting + /// at a specific index, and limiting to length. + /// + /// Span to set bits value. + /// Bit index to start counting from. + /// Maximum of bits in the span to consider. + /// Bit value. + internal static void SetBits(Span data, int index, int length, bool value) + { + if (length == 0) + return; + + int endBitIndex = checked(index + length - 1); + + // Use simpler method if there aren't many values + if (length < 20) + { + for (int i = index; i <= endBitIndex; i++) + { + SetBit(data, i, value); + } + return; + } + + // Otherwise do the work to figure out how to copy whole bytes + int startByteIndex = index / 8; + int startBitOffset = index % 8; + int endByteIndex = endBitIndex / 8; + int endBitOffset = endBitIndex % 8; + + // If the starting index and ending index are not byte-aligned, + // we'll need to set bits the slow way. If they are + // byte-aligned, and for all other bytes in the 'middle', we + // can use a faster byte-aligned set. + int fullByteStartIndex = startBitOffset == 0 ? startByteIndex : startByteIndex + 1; + int fullByteEndIndex = endBitOffset == 7 ? endByteIndex : endByteIndex - 1; + + // Bits we will be using to finish up the first byte + if (startBitOffset != 0) + { + Span slice = data.Slice(startByteIndex, 1); + for (int i = startBitOffset; i <= 7; i++) + SetBit(slice, i, value); + } + + if (fullByteEndIndex >= fullByteStartIndex) + { + Span slice = data.Slice(fullByteStartIndex, fullByteEndIndex - fullByteStartIndex + 1); + byte fill = (byte)(value ? 0xFF : 0x00); + + slice.Fill(fill); + } + + if (endBitOffset != 7) + { + Span slice = data.Slice(endByteIndex, 1); + for (int i = 0; i <= endBitOffset; i++) + SetBit(slice, i, value); + } + } } /// @@ -166,16 +257,17 @@ public void AppendMany(T? value, long count) } DataFrameBuffer mutableLastBuffer = Buffers.GetOrCreateMutable(Buffers.Count - 1); + DataFrameBuffer lastNullBitMapBuffer = NullBitMapBuffers.GetOrCreateMutable(NullBitMapBuffers.Count - 1); //Calculate how many values we can additionaly allocate and not exceed the MaxCapacity - int allocatable = (int)Math.Min(remaining, ReadOnlyDataFrameBuffer.MaxCapacity - mutableLastBuffer.Length); + int originalBufferLength = mutableLastBuffer.Length; + int allocatable = (int)Math.Min(remaining, ReadOnlyDataFrameBuffer.MaxCapacity - originalBufferLength); mutableLastBuffer.EnsureCapacity(allocatable); - DataFrameBuffer lastNullBitMapBuffer = NullBitMapBuffers.GetOrCreateMutable(NullBitMapBuffers.Count - 1); - int nullBufferAllocatable = (allocatable + 7) / 8; + //Calculate how many bytes we have additionaly allocate to store allocatable number of bits (need to take into account not used bits that are already allocated) + int nullBufferAllocatable = (originalBufferLength + allocatable + 7) / 8 - lastNullBitMapBuffer.Length; lastNullBitMapBuffer.EnsureCapacity(nullBufferAllocatable); - mutableLastBuffer.Length += allocatable; lastNullBitMapBuffer.Length += nullBufferAllocatable; Length += allocatable; @@ -183,7 +275,7 @@ public void AppendMany(T? value, long count) if (value.HasValue) { mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value.Value); - lastNullBitMapBuffer.RawSpan.Slice(lastNullBitMapBuffer.Length - nullBufferAllocatable, nullBufferAllocatable).Fill(0xFF); + BitmapHelper.SetBits(lastNullBitMapBuffer.RawSpan, originalBufferLength, allocatable, true); } remaining -= allocatable; diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index 69c4af0d41..7d055105d6 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -146,7 +146,7 @@ public void TestAppendManyNullsToColumnWithValues() } [Fact] - public void TestAppendManyNotNullsToEmptyColumn() + public void TestAppendManyValuesToEmptyColumn() { //Arrange PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1"); @@ -164,6 +164,29 @@ public void TestAppendManyNotNullsToEmptyColumn() } } + [Fact] + public void TestAppendManyValuesToColumnWithValues() + { + //Arrange + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1", new int?[] { 1, 2, 3, null, null }); + + //Act + intColumn.AppendMany(5, 5); + + //Assert + Assert.Equal(2, intColumn.NullCount); + Assert.Equal(10, intColumn.Length); + + Assert.Equal(3, intColumn[2]); + Assert.Null(intColumn[3]); + Assert.Null(intColumn[4]); + + for (int i = 5; i < intColumn.Length; i++) + { + Assert.Equal(5, intColumn[i]); + } + } + [Fact] public void TestNullCountChange() { From 7548dc4937589c4a4dad1e33b9181e9c8412a30e Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 19 Sep 2023 16:08:50 +0300 Subject: [PATCH 27/44] Restart unit tests --- src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 3e5a352587..8641059804 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -264,7 +264,7 @@ public void AppendMany(T? value, long count) int allocatable = (int)Math.Min(remaining, ReadOnlyDataFrameBuffer.MaxCapacity - originalBufferLength); mutableLastBuffer.EnsureCapacity(allocatable); - //Calculate how many bytes we have additionaly allocate to store allocatable number of bits (need to take into account not used bits that are already allocated) + //Calculate how many bytes we have additionaly allocate to store allocatable number of bits (need to take into account unused bits inside already allocated bytes) int nullBufferAllocatable = (originalBufferLength + allocatable + 7) / 8 - lastNullBitMapBuffer.Length; lastNullBitMapBuffer.EnsureCapacity(nullBufferAllocatable); From b80e8a0c384116743e6aa69c71dddfe6d32e7506 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 20 Sep 2023 11:01:27 +0300 Subject: [PATCH 28/44] Add more unit tests --- .../BufferTests.cs | 69 ++++++++++++++----- 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index 7d055105d6..7843b037a2 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -17,10 +17,6 @@ public class BufferTests [Fact] public void TestNullCounts() { - PrimitiveDataFrameColumn dataFrameColumn1 = new PrimitiveDataFrameColumn("Int1", Enumerable.Range(0, 10).Select(x => x)); - dataFrameColumn1.Append(null); - Assert.Equal(1, dataFrameColumn1.NullCount); - PrimitiveDataFrameColumn column2 = new PrimitiveDataFrameColumn("Int2"); Assert.Equal(0, column2.NullCount); @@ -65,21 +61,6 @@ public void TestNullCounts() Assert.Equal(1, strCol.NullCount); strCol[0] = null; Assert.Equal(1, strCol.NullCount); - - PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int"); - intColumn.Append(0); - intColumn.Append(1); - intColumn.Append(null); - intColumn.Append(2); - intColumn.Append(null); - intColumn.Append(3); - Assert.Equal(0, intColumn[0]); - Assert.Equal(1, intColumn[1]); - Assert.Null(intColumn[2]); - Assert.Equal(2, intColumn[3]); - Assert.Null(intColumn[4]); - Assert.Equal(3, intColumn[5]); - } [Fact] @@ -105,6 +86,56 @@ public void TestValidity() } } + [Fact] + public void TestAppendNullToEmptyColumn() + { + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int1"); + + //Act + intColumn.Append(null); + intColumn.Append(null); + + Assert.Equal(1, intColumn.NullCount); + Assert.Equal(1, intColumn.Length); + for (int i = 0; i < intColumn.Length; i++) + { + Assert.False(intColumn.IsValid(i)); + } + } + + [Fact] + public void TestAppendNullToColumnWithValues() + { + PrimitiveDataFrameColumn dataFrameColumn1 = new PrimitiveDataFrameColumn("Int1", Enumerable.Range(0, 10)); + dataFrameColumn1.Append(null); + Assert.Equal(1, dataFrameColumn1.NullCount); + Assert.Equal(11, dataFrameColumn1.Length); + Assert.Null(dataFrameColumn1[10]); + } + + [Fact] + public void TestAppendToColumnWithValues() + { + PrimitiveDataFrameColumn intColumn = new PrimitiveDataFrameColumn("Int", Enumerable.Range(0, 10)); + + intColumn.Append(0); + intColumn.Append(1); + intColumn.Append(null); + intColumn.Append(2); + intColumn.Append(null); + intColumn.Append(3); + + Assert.Equal(16, intColumn.Length); + Assert.Equal(2, intColumn.NullCount); + + Assert.Equal(0, intColumn[10]); + Assert.Equal(1, intColumn[11]); + Assert.Null(intColumn[12]); + Assert.Equal(2, intColumn[13]); + Assert.Null(intColumn[14]); + Assert.Equal(3, intColumn[15]); + } + [Fact] public void TestAppendManyNullsToEmptyColumn() { From d36d374181d2d1891bbee9842875724edb2c80c7 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 20 Sep 2023 11:50:49 +0300 Subject: [PATCH 29/44] Add GetBitCount method --- ...imitiveColumnContainer.BinaryOperations.cs | 24 ++++++++++++------- ...imitiveColumnContainer.BinaryOperations.tt | 3 ++- .../PrimitiveColumnContainer.cs | 14 +++++++---- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 47ddb236da..5c70a87ad7 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -13,6 +13,7 @@ internal partial class PrimitiveColumnContainer public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -29,7 +30,7 @@ public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -43,6 +44,7 @@ public PrimitiveColumnContainer Add(T scalar) public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -59,7 +61,7 @@ public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -73,6 +75,7 @@ public PrimitiveColumnContainer Subtract(T scalar) public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -89,7 +92,7 @@ public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -103,6 +106,7 @@ public PrimitiveColumnContainer Multiply(T scalar) public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -119,7 +123,7 @@ public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -133,6 +137,7 @@ public PrimitiveColumnContainer Divide(T scalar) public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -149,7 +154,7 @@ public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -163,6 +168,7 @@ public PrimitiveColumnContainer Modulo(T scalar) public PrimitiveColumnContainer And(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -179,7 +185,7 @@ public PrimitiveColumnContainer And(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -193,6 +199,7 @@ public PrimitiveColumnContainer And(T scalar) public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -209,7 +216,7 @@ public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; @@ -223,6 +230,7 @@ public PrimitiveColumnContainer Or(T scalar) public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -239,7 +247,7 @@ public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index bbe9d7bbcb..90e3f16fa5 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -31,6 +31,7 @@ namespace Microsoft.Data.Analysis <# } else if (method.MethodType == MethodType.Binary ) { #> public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) { + long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { //Calculate raw values @@ -47,7 +48,7 @@ namespace Microsoft.Data.Analysis BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); //Calculate NullCount - this.NullCount = 0; + nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); } return this; diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 4dcc349bb4..64d6ebd1b8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -9,6 +9,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; +using System.Numerics; namespace Microsoft.Data.Analysis { @@ -17,7 +18,7 @@ internal static class BitmapHelper private static ReadOnlySpan BitMask => new byte[] { 1, 2, 4, 8, 16, 32, 64, 128 }; - + public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) { for (int i = 0; i < left.Length; i++) @@ -36,8 +37,8 @@ public static bool IsBitSet(byte curBitMap, int index) { return ((curBitMap >> (index & 7)) & 1) != 0; } - - public static bool GetBit(byte data, int index) => + + public static bool GetBit(byte data, int index) => ((data >> index) & 1) != 0; public static bool GetBit(ReadOnlySpan data, int index) => @@ -70,7 +71,7 @@ public static void SetBit(Span data, int index, bool value) /// Bit index to start counting from. /// Maximum of bits in the span to consider. /// Bit value. - internal static void SetBits(Span data, int index, int length, bool value) + public static void SetBits(Span data, int index, int length, bool value) { if (length == 0) return; @@ -123,6 +124,11 @@ internal static void SetBits(Span data, int index, int length, bool value) SetBit(slice, i, value); } } + + public static long GetBitCount(Span span, long length) + { + return 0; + } } /// From 83b5cca647bfda88f119f920cbf7fbe0103d4a19 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 20 Sep 2023 11:56:08 +0300 Subject: [PATCH 30/44] Fix failing unit test --- test/Microsoft.Data.Analysis.Tests/BufferTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs index 7843b037a2..e22be26291 100644 --- a/test/Microsoft.Data.Analysis.Tests/BufferTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/BufferTests.cs @@ -93,10 +93,10 @@ public void TestAppendNullToEmptyColumn() //Act intColumn.Append(null); - intColumn.Append(null); Assert.Equal(1, intColumn.NullCount); Assert.Equal(1, intColumn.Length); + for (int i = 0; i < intColumn.Length; i++) { Assert.False(intColumn.IsValid(i)); From f55196406df6e9142030b4a2df2881a1bb180bcd Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 20 Sep 2023 16:28:35 +0300 Subject: [PATCH 31/44] Implementation --- ...imitiveColumnContainer.BinaryOperations.cs | 127 ++++++++----- ...imitiveColumnContainer.BinaryOperations.tt | 21 +- .../PrimitiveColumnContainer.cs | 94 ++++++--- .../PrimitiveDataFrameColumnArithmetic.cs | 179 ++++++------------ .../PrimitiveDataFrameColumnArithmetic.tt | 26 ++- 5 files changed, 244 insertions(+), 203 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 5c70a87ad7..7b9eb123f3 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -13,6 +13,7 @@ internal partial class PrimitiveColumnContainer public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -21,18 +22,21 @@ public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Add(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Add(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -44,6 +48,7 @@ public PrimitiveColumnContainer Add(T scalar) public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -52,18 +57,21 @@ public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Subtract(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Subtract(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -75,6 +83,7 @@ public PrimitiveColumnContainer Subtract(T scalar) public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -83,18 +92,21 @@ public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Multiply(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Multiply(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -106,6 +118,7 @@ public PrimitiveColumnContainer Multiply(T scalar) public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -114,18 +127,18 @@ public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Divide(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; - - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Divide is a special case, as we have to avoid division by zero + arithmetic.Divide(span, otherSpan, otherValiditySpan, span, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -137,6 +150,7 @@ public PrimitiveColumnContainer Divide(T scalar) public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -145,18 +159,21 @@ public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Modulo(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Modulo(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -168,6 +185,7 @@ public PrimitiveColumnContainer Modulo(T scalar) public PrimitiveColumnContainer And(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -176,18 +194,21 @@ public PrimitiveColumnContainer And(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.And(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.And(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -199,6 +220,7 @@ public PrimitiveColumnContainer And(T scalar) public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -207,18 +229,21 @@ public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Or(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Or(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } @@ -230,6 +255,7 @@ public PrimitiveColumnContainer Or(T scalar) public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -238,18 +264,21 @@ public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.Xor(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; + //Calculate raw values + arithmetic.Xor(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index 90e3f16fa5..5729e352d8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -31,6 +31,7 @@ namespace Microsoft.Data.Analysis <# } else if (method.MethodType == MethodType.Binary ) { #> public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { @@ -39,18 +40,26 @@ namespace Microsoft.Data.Analysis var span = mutableBuffer.Span; var otherSpan = right.Buffers[i].ReadOnlySpan; - PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(span, otherSpan, span); + var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - var validityBuffer = this.NullBitMapBuffers.GetOrCreateMutable(i); - var otherValidityBuffer = right.NullBitMapBuffers[i]; +<# if (method.MethodName == "Divide" ) { #> + //Divide is a special case, as we have to avoid division by zero + arithmetic.<#=method.MethodName#>(span, otherSpan, otherValiditySpan, span, validitySpan); +<#} else { #> + //Calculate raw values + arithmetic.<#=method.MethodName#>(span, otherSpan, span); - BitmapHelper.ElementwiseAnd(validityBuffer.ReadOnlySpan, otherValidityBuffer.ReadOnlySpan, validityBuffer.Span); + //Calculate validity + BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); +<# } #> //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validityBuffer.Span, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); } + NullCount = nullCount; + return this; } <# } else { #> diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 64d6ebd1b8..582ad9f564 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -9,27 +9,31 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -using System.Numerics; namespace Microsoft.Data.Analysis { internal static class BitmapHelper { + private static ReadOnlySpan PopcountTable => new byte[] { + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8, + }; + private static ReadOnlySpan BitMask => new byte[] { 1, 2, 4, 8, 16, 32, 64, 128 }; - public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) - { - for (int i = 0; i < left.Length; i++) - result[i] = (byte)(left[i] & right[i]); - } - // Faster to use when we already have a span since it avoids indexing public static bool IsValid(ReadOnlySpan bitMapBufferSpan, int index) { - int nullBitMapSpanIndex = index / 8; - byte thisBitMap = bitMapBufferSpan[nullBitMapSpanIndex]; + var nullBitMapSpanIndex = index / 8; + var thisBitMap = bitMapBufferSpan[nullBitMapSpanIndex]; return IsBitSet(thisBitMap, index); } @@ -54,10 +58,10 @@ public static void SetBit(Span data, int index) data[index / 8] |= BitMask[index % 8]; } - public static void SetBit(Span data, int index, bool value) + public static void SetBit(Span data, long index, bool value) { - int idx = index / 8; - int mod = index % 8; + var idx = (int)(index / 8); + var mod = (int)(index % 8); data[idx] = value ? (byte)(data[idx] | BitMask[mod]) : (byte)(data[idx] & ~BitMask[mod]); @@ -71,17 +75,17 @@ public static void SetBit(Span data, int index, bool value) /// Bit index to start counting from. /// Maximum of bits in the span to consider. /// Bit value. - public static void SetBits(Span data, int index, int length, bool value) + public static void SetBits(Span data, long index, long length, bool value) { if (length == 0) return; - int endBitIndex = checked(index + length - 1); + var endBitIndex = index + length - 1; // Use simpler method if there aren't many values if (length < 20) { - for (int i = index; i <= endBitIndex; i++) + for (var i = index; i <= endBitIndex; i++) { SetBit(data, i, value); } @@ -89,45 +93,77 @@ public static void SetBits(Span data, int index, int length, bool value) } // Otherwise do the work to figure out how to copy whole bytes - int startByteIndex = index / 8; - int startBitOffset = index % 8; - int endByteIndex = endBitIndex / 8; - int endBitOffset = endBitIndex % 8; + var startByteIndex = (int)(index / 8); + var startBitOffset = (int)(index % 8); + var endByteIndex = (int)(endBitIndex / 8); + var endBitOffset = (int)(endBitIndex % 8); // If the starting index and ending index are not byte-aligned, // we'll need to set bits the slow way. If they are // byte-aligned, and for all other bytes in the 'middle', we // can use a faster byte-aligned set. - int fullByteStartIndex = startBitOffset == 0 ? startByteIndex : startByteIndex + 1; - int fullByteEndIndex = endBitOffset == 7 ? endByteIndex : endByteIndex - 1; + var fullByteStartIndex = startBitOffset == 0 ? startByteIndex : startByteIndex + 1; + var fullByteEndIndex = endBitOffset == 7 ? endByteIndex : endByteIndex - 1; // Bits we will be using to finish up the first byte if (startBitOffset != 0) { - Span slice = data.Slice(startByteIndex, 1); - for (int i = startBitOffset; i <= 7; i++) + var slice = data.Slice(startByteIndex, 1); + for (var i = startBitOffset; i <= 7; i++) SetBit(slice, i, value); } if (fullByteEndIndex >= fullByteStartIndex) { - Span slice = data.Slice(fullByteStartIndex, fullByteEndIndex - fullByteStartIndex + 1); - byte fill = (byte)(value ? 0xFF : 0x00); + var slice = data.Slice(fullByteStartIndex, fullByteEndIndex - fullByteStartIndex + 1); + var fill = (byte)(value ? 0xFF : 0x00); slice.Fill(fill); } if (endBitOffset != 7) { - Span slice = data.Slice(endByteIndex, 1); - for (int i = 0; i <= endBitOffset; i++) + var slice = data.Slice(endByteIndex, 1); + for (var i = 0; i <= endBitOffset; i++) SetBit(slice, i, value); } } - public static long GetBitCount(Span span, long length) + public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) { - return 0; + for (var i = 0; i < left.Length; i++) + result[i] = (byte)(left[i] & right[i]); + } + + /// + /// Returns the population count (number of bits set) in a span of bytes starting + /// at 0 bit and limiting to length of bits. + /// + /// + /// + /// + public static long GetBitCount(ReadOnlySpan span, long length) + { + var endByteIndex = (int)(length / 8); + + Debug.Assert(span.Length > endByteIndex); + + long count = 0; + for (var i = 0; i < endByteIndex; i++) + count += PopcountTable[span[i]]; + + var endBitOffset = (int)(length % 8); + + if (endBitOffset != 0) + { + var partialByte = span[endByteIndex]; + for (var j = 0; j < endBitOffset; j++) + { + count += GetBit(partialByte, j) ? 0 : 1; + } + } + + return count; } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 48d7f22f2d..db4819b0b9 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -1,5 +1,4 @@  - // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -22,7 +21,7 @@ internal interface IPrimitiveDataFrameColumnArithmetic void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result); void Multiply(PrimitiveColumnContainer column, T scalar); void Multiply(T scalar, PrimitiveColumnContainer column); - void Divide(ReadOnlySpan left, ReadOnlySpan right, Span result); + void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan); void Divide(PrimitiveColumnContainer column, T scalar); void Divide(T scalar, PrimitiveColumnContainer column); void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result); @@ -67,7 +66,7 @@ internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumn public virtual void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); public virtual void Multiply(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Multiply(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Divide(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan) => throw new NotSupportedException(); public virtual void Divide(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Divide(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); public virtual void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); @@ -165,7 +164,6 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() } internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -199,7 +197,6 @@ public override void And(bool scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -233,7 +230,6 @@ public override void Or(bool scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -332,7 +328,6 @@ public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveCol } internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -366,7 +361,6 @@ public override void Add(byte scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -400,7 +394,6 @@ public override void Subtract(byte scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -434,12 +427,14 @@ public override void Multiply(byte scalar, PrimitiveColumnContainer column } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (byte)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (byte)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -468,7 +463,6 @@ public override void Divide(byte scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -502,7 +496,6 @@ public override void Modulo(byte scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -536,7 +529,6 @@ public override void And(byte scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -570,7 +562,6 @@ public override void Or(byte scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -819,7 +810,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -853,7 +843,6 @@ public override void Add(char scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -887,7 +876,6 @@ public override void Subtract(char scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -921,12 +909,14 @@ public override void Multiply(char scalar, PrimitiveColumnContainer column } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (char)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (char)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -955,7 +945,6 @@ public override void Divide(char scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -989,7 +978,6 @@ public override void Modulo(char scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1023,7 +1011,6 @@ public override void And(char scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1057,7 +1044,6 @@ public override void Or(char scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1306,7 +1292,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1340,7 +1325,6 @@ public override void Add(decimal scalar, PrimitiveColumnContainer colum } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1374,7 +1358,6 @@ public override void Subtract(decimal scalar, PrimitiveColumnContainer } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1408,12 +1391,14 @@ public override void Multiply(decimal scalar, PrimitiveColumnContainer } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (decimal)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (decimal)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -1442,7 +1427,6 @@ public override void Divide(decimal scalar, PrimitiveColumnContainer co } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1665,7 +1649,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1699,7 +1682,6 @@ public override void Add(double scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1733,7 +1715,6 @@ public override void Subtract(double scalar, PrimitiveColumnContainer co } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -1767,12 +1748,14 @@ public override void Multiply(double scalar, PrimitiveColumnContainer co } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (double)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (double)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -1801,7 +1784,6 @@ public override void Divide(double scalar, PrimitiveColumnContainer colu } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2024,7 +2006,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2058,7 +2039,6 @@ public override void Add(float scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2092,7 +2072,6 @@ public override void Subtract(float scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2126,12 +2105,14 @@ public override void Multiply(float scalar, PrimitiveColumnContainer colu } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (float)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (float)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -2160,7 +2141,6 @@ public override void Divide(float scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2383,7 +2363,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2417,7 +2396,6 @@ public override void Add(int scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2451,7 +2429,6 @@ public override void Subtract(int scalar, PrimitiveColumnContainer column) } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2485,12 +2462,14 @@ public override void Multiply(int scalar, PrimitiveColumnContainer column) } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (int)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (int)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -2519,7 +2498,6 @@ public override void Divide(int scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2553,7 +2531,6 @@ public override void Modulo(int scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2587,7 +2564,6 @@ public override void And(int scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2621,7 +2597,6 @@ public override void Or(int scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2870,7 +2845,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2904,7 +2878,6 @@ public override void Add(long scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2938,7 +2911,6 @@ public override void Subtract(long scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -2972,12 +2944,14 @@ public override void Multiply(long scalar, PrimitiveColumnContainer column } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (long)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (long)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -3006,7 +2980,6 @@ public override void Divide(long scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3040,7 +3013,6 @@ public override void Modulo(long scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3074,7 +3046,6 @@ public override void And(long scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3108,7 +3079,6 @@ public override void Or(long scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3357,7 +3327,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3391,7 +3360,6 @@ public override void Add(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3425,7 +3393,6 @@ public override void Subtract(sbyte scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3459,12 +3426,14 @@ public override void Multiply(sbyte scalar, PrimitiveColumnContainer colu } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (sbyte)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (sbyte)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -3493,7 +3462,6 @@ public override void Divide(sbyte scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3527,7 +3495,6 @@ public override void Modulo(sbyte scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3561,7 +3528,6 @@ public override void And(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3595,7 +3561,6 @@ public override void Or(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3844,7 +3809,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3878,7 +3842,6 @@ public override void Add(short scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3912,7 +3875,6 @@ public override void Subtract(short scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -3946,12 +3908,14 @@ public override void Multiply(short scalar, PrimitiveColumnContainer colu } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (short)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (short)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -3980,7 +3944,6 @@ public override void Divide(short scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4014,7 +3977,6 @@ public override void Modulo(short scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4048,7 +4010,6 @@ public override void And(short scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4082,7 +4043,6 @@ public override void Or(short scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4331,7 +4291,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4365,7 +4324,6 @@ public override void Add(uint scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4399,7 +4357,6 @@ public override void Subtract(uint scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4433,12 +4390,14 @@ public override void Multiply(uint scalar, PrimitiveColumnContainer column } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (uint)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (uint)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -4467,7 +4426,6 @@ public override void Divide(uint scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4501,7 +4459,6 @@ public override void Modulo(uint scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4535,7 +4492,6 @@ public override void And(uint scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4569,7 +4525,6 @@ public override void Or(uint scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4818,7 +4773,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4852,7 +4806,6 @@ public override void Add(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4886,7 +4839,6 @@ public override void Subtract(ulong scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4920,12 +4872,14 @@ public override void Multiply(ulong scalar, PrimitiveColumnContainer colu } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (ulong)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (ulong)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -4954,7 +4908,6 @@ public override void Divide(ulong scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -4988,7 +4941,6 @@ public override void Modulo(ulong scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5022,7 +4974,6 @@ public override void And(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5056,7 +5007,6 @@ public override void Or(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5305,7 +5255,6 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5339,7 +5288,6 @@ public override void Add(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5373,7 +5321,6 @@ public override void Subtract(ushort scalar, PrimitiveColumnContainer co } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5407,12 +5354,14 @@ public override void Multiply(ushort scalar, PrimitiveColumnContainer co } } } - - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) { for (int i = 0; i < span.Length; i++) { - resultSpan[i] = (ushort)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (ushort)(span[i] / otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); } } @@ -5441,7 +5390,6 @@ public override void Divide(ushort scalar, PrimitiveColumnContainer colu } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5475,7 +5423,6 @@ public override void Modulo(ushort scalar, PrimitiveColumnContainer colu } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5509,7 +5456,6 @@ public override void And(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) @@ -5543,7 +5489,6 @@ public override void Or(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) { for (int i = 0; i < span.Length; i++) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 3e68e001df..d2d0630c00 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -6,7 +6,6 @@ <#@ import namespace="System.Collections.Generic" #> <#@ output extension=".cs" #> <#@ include file="ColumnArithmeticTemplate.ttinclude" #> - // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -28,8 +27,13 @@ namespace Microsoft.Data.Analysis PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> +<# if (method.MethodName == "Divide") { #> + void <#=method.MethodName#>(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan); +<# } #> +<# else { #> void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result); <# } #> +<# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column); @@ -53,8 +57,13 @@ namespace Microsoft.Data.Analysis public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> +<# if (method.MethodName == "Divide") { #> + public virtual void <#=method.MethodName#>(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan) => throw new NotSupportedException(); +<# } #> +<# else { #> public virtual void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); <# } #> +<# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); @@ -94,7 +103,19 @@ namespace Microsoft.Data.Analysis public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) <# } #> <# else if (method.MethodType == MethodType.Binary) { #> - +<# if (method.MethodName == "Divide") { #> + public override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> span, ReadOnlySpan<<#=type.TypeName#>> otherSpan, ReadOnlySpan otherValiditySpan, Span<<#=type.TypeName#>> resultSpan, Span resultValiditySpan) + { + for (int i = 0; i < span.Length; i++) + { + if (BitmapHelper.IsValid(otherValiditySpan, i)) + resultSpan[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> otherSpan[i]); + else + BitmapHelper.ClearBit(resultValiditySpan, i); + } + } +<# } #> +<# else { #> public override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> span, ReadOnlySpan<<#=type.TypeName#>> otherSpan, Span<<#=type.TypeName#>> resultSpan) { for (int i = 0; i < span.Length; i++) @@ -103,6 +124,7 @@ namespace Microsoft.Data.Analysis } } <# } #> +<# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) From 7c0d034714717554d0bddad33a4f85a0fa638f76 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 21 Sep 2023 01:14:01 +0300 Subject: [PATCH 32/44] Change unit tests --- .../DataFrameTests.cs | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs index b02319e478..5c5ce39676 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs @@ -3654,8 +3654,8 @@ public void Test_StringColumnEqualsNull() public void Test_ArithmeticsSumWithNull() { // Arrange - var left_column = new PrimitiveDataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new PrimitiveDataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act var sum = left_column + right_column; @@ -3673,8 +3673,8 @@ public void Test_ArithmeticsSumWithNull() public void Test_ArithmeticsDiffWithNull() { // Arrange - var left_column = new PrimitiveDataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new PrimitiveDataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act var diff = left_column - right_column; @@ -3691,8 +3691,8 @@ public void Test_ArithmeticsDiffWithNull() public void Test_ArithmeticsMultWithNull() { // Arrange - var left_column = new PrimitiveDataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new PrimitiveDataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act var mult = left_column * right_column; @@ -3709,18 +3709,18 @@ public void Test_ArithmeticsMultWithNull() public void Test_ArithmeticsDivWithNull() { // Arrange - var left_column = new PrimitiveDataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new PrimitiveDataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act - var mult = left_column / right_column; + var div = left_column / right_column; // Assert - Assert.Equal(3, mult.NullCount); - Assert.Equal(1, mult[0]); // 1 / 1 - Assert.Null(mult[1]); // null / 1 - Assert.Null(mult[2]); // 1 / null - Assert.Null(mult[3]); // null / null + Assert.Equal(3, div.NullCount); + Assert.Equal(1, div[0]); // 1 / 1 + Assert.Null(div[1]); // null / 1 + Assert.Null(div[2]); // 1 / null + Assert.Null(div[3]); // null / null } } } From 65ed342e4a0f0e97b91f1f4f36be8f69596e1547 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 21 Sep 2023 11:45:51 +0300 Subject: [PATCH 33/44] Update unit tests --- test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs index 5c5ce39676..97cd75cf80 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs @@ -3691,15 +3691,15 @@ public void Test_ArithmeticsDiffWithNull() public void Test_ArithmeticsMultWithNull() { // Arrange - var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 4, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 2, null, 1, null }); // Act var mult = left_column * right_column; // Assert Assert.Equal(3, mult.NullCount); - Assert.Equal(1, mult[0]); // 1 * 1 + Assert.Equal(8, mult[0]); // 1 * 1 Assert.Null(mult[1]); // null * 1 Assert.Null(mult[2]); // 1 * null Assert.Null(mult[3]); // null * null @@ -3709,15 +3709,15 @@ public void Test_ArithmeticsMultWithNull() public void Test_ArithmeticsDivWithNull() { // Arrange - var left_column = new Int32DataFrameColumn("Left", new int?[] { 1, 1, null, null }); - var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); + var left_column = new Int32DataFrameColumn("Left", new int?[] { 4, 1, null, null }); + var right_column = new Int32DataFrameColumn("Right", new int?[] { 2, null, 1, null }); // Act var div = left_column / right_column; // Assert Assert.Equal(3, div.NullCount); - Assert.Equal(1, div[0]); // 1 / 1 + Assert.Equal(2, div[0]); // 1 / 1 Assert.Null(div[1]); // null / 1 Assert.Null(div[2]); // 1 / null Assert.Null(div[3]); // null / null From fadb85e4facb40a0bb4ee57c169e105a65ed4f8f Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 25 Sep 2023 16:45:59 +0300 Subject: [PATCH 34/44] Refactoring BinaryOperation --- .../ColumnArithmetic.OperationEnums.cs | 20 + .../ColumnArithmetic.OperationEnums.tt | 23 + .../Microsoft.Data.Analysis.csproj | 5 + ...imitiveColumnContainer.BinaryOperations.cs | 242 +--- ...imitiveColumnContainer.BinaryOperations.tt | 52 +- ...umn.BinaryOperationAPIs.ExplodedColumns.cs | 1156 ++++++++--------- ...umn.BinaryOperationAPIs.ExplodedColumns.tt | 16 +- ...BinaryOperationImplementations.Exploded.cs | 392 +----- ...BinaryOperationImplementations.Exploded.tt | 19 +- ...imitiveDataFrameColumn.BinaryOperations.cs | 768 ++--------- ...imitiveDataFrameColumn.BinaryOperations.tt | 25 +- .../PrimitiveDataFrameColumn.cs | 83 ++ .../PrimitiveDataFrameColumnArithmetic.cs | 666 +++++----- .../PrimitiveDataFrameColumnArithmetic.tt | 51 +- .../DataFrameTests.cs | 2 +- 15 files changed, 1274 insertions(+), 2246 deletions(-) create mode 100644 src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs create mode 100644 src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs new file mode 100644 index 0000000000..7050815a1d --- /dev/null +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs @@ -0,0 +1,20 @@ + +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Generated from ColumnArithmetic.OperationEnums.tt. Do not modify directly +namespace Microsoft.Data.Analysis +{ + internal enum BinaryOperation + { + Add, + Subtract, + Multiply, + Divide, + Modulo, + And, + Or, + Xor, + } +} \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt new file mode 100644 index 0000000000..9ff69bc764 --- /dev/null +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt @@ -0,0 +1,23 @@ +<#@ template debug="false" hostspecific="false" language="C#" #> +<#@ assembly name="System.Core" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ output extension=".cs" #> +<#@ include file="ColumnArithmeticTemplate.ttinclude" #> +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Generated from ColumnArithmetic.OperationEnums.tt. Do not modify directly +namespace Microsoft.Data.Analysis +{ + internal enum BinaryOperation + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Binary) { #> + <#=method.MethodName#>, +<# } #> +<# } #> + } +} \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj index acfcd62199..e8ce66a8a7 100644 --- a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj +++ b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj @@ -147,6 +147,11 @@ True Converters.tt + + True + True + ColumnArithmetic.OperationEnums.tt + True True diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 7b9eb123f3..06e367d77b 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -10,33 +10,26 @@ namespace Microsoft.Data.Analysis internal partial class PrimitiveColumnContainer where T : unmanaged { - - public PrimitiveColumnContainer Add(PrimitiveColumnContainer right) + public PrimitiveColumnContainer HandleOperation(BinaryOperation operation, PrimitiveColumnContainer right) { var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { - //Calculate raw values var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; + var leftSpan = mutableBuffer.Span; + var rightSpan = right.Buffers[i].ReadOnlySpan; - //Calculate raw values - arithmetic.Add(span, otherSpan, span); + var leftValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var rightValidity = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); + arithmetic.HandleOperation(operation, leftSpan, leftValidity, rightSpan, rightValidity); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(leftValidity, mutableBuffer.Length); } NullCount = nullCount; - return this; } @@ -45,316 +38,95 @@ public PrimitiveColumnContainer Add(T scalar) PrimitiveDataFrameColumnArithmetic.Instance.Add(this, scalar); return this; } - - public PrimitiveColumnContainer Subtract(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.Subtract(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Subtract(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Subtract(this, scalar); return this; } - - public PrimitiveColumnContainer Multiply(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.Multiply(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Multiply(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Multiply(this, scalar); return this; } - - public PrimitiveColumnContainer Divide(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Divide is a special case, as we have to avoid division by zero - arithmetic.Divide(span, otherSpan, otherValiditySpan, span, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Divide(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Divide(this, scalar); return this; } - - public PrimitiveColumnContainer Modulo(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.Modulo(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Modulo(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Modulo(this, scalar); return this; } - - public PrimitiveColumnContainer And(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.And(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer And(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.And(this, scalar); return this; } - - public PrimitiveColumnContainer Or(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.Or(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Or(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Or(this, scalar); return this; } - - public PrimitiveColumnContainer Xor(PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - //Calculate raw values - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; - - //Calculate raw values - arithmetic.Xor(span, otherSpan, span); - - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); - } - - NullCount = nullCount; - - return this; - } - public PrimitiveColumnContainer Xor(T scalar) { PrimitiveDataFrameColumnArithmetic.Instance.Xor(this, scalar); return this; } - public PrimitiveColumnContainer LeftShift(int value) { PrimitiveDataFrameColumnArithmetic.Instance.LeftShift(this, value); return this; } - public PrimitiveColumnContainer RightShift(int value) { PrimitiveDataFrameColumnArithmetic.Instance.RightShift(this, value); return this; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseEquals(this, right); } - public PrimitiveColumnContainer ElementwiseEquals(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseEquals(this, scalar); } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseNotEquals(this, right); } - public PrimitiveColumnContainer ElementwiseNotEquals(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseNotEquals(this, scalar); } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThanOrEqual(this, right); } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThanOrEqual(this, scalar); } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThanOrEqual(this, right); } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThanOrEqual(this, scalar); } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThan(this, right); } - public PrimitiveColumnContainer ElementwiseGreaterThan(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThan(this, scalar); } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThan(this, right); } - public PrimitiveColumnContainer ElementwiseLessThan(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThan(this, scalar); diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index 5729e352d8..e2b7d6fbc6 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -16,53 +16,41 @@ namespace Microsoft.Data.Analysis internal partial class PrimitiveColumnContainer where T : unmanaged { -<# foreach (MethodConfiguration method in methodConfiguration) { #> - -<# if (method.MethodType == MethodType.Comparison) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, right); - } -<# } else if (method.MethodType == MethodType.ComparisonScalar ) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); - } -<# } else if (method.MethodType == MethodType.Binary ) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) + public PrimitiveColumnContainer HandleOperation(BinaryOperation operation, PrimitiveColumnContainer right) { var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; long nullCount = 0; for (int i = 0; i < this.Buffers.Count; i++) { - //Calculate raw values var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var span = mutableBuffer.Span; - var otherSpan = right.Buffers[i].ReadOnlySpan; - - var validitySpan = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var otherValiditySpan = right.NullBitMapBuffers[i].ReadOnlySpan; + var leftSpan = mutableBuffer.Span; + var rightSpan = right.Buffers[i].ReadOnlySpan; -<# if (method.MethodName == "Divide" ) { #> - //Divide is a special case, as we have to avoid division by zero - arithmetic.<#=method.MethodName#>(span, otherSpan, otherValiditySpan, span, validitySpan); -<#} else { #> - //Calculate raw values - arithmetic.<#=method.MethodName#>(span, otherSpan, span); + var leftValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var rightValidity = right.NullBitMapBuffers[i].ReadOnlySpan; - //Calculate validity - BitmapHelper.ElementwiseAnd(validitySpan, otherValiditySpan, validitySpan); -<# } #> + arithmetic.HandleOperation(operation, leftSpan, leftValidity, rightSpan, rightValidity); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(validitySpan, mutableBuffer.Length); + nullCount += BitmapHelper.GetBitCount(leftValidity, mutableBuffer.Length); } NullCount = nullCount; - return this; } -<# } else { #> + +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Comparison) { #> + public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) + { + return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, right); + } +<# } else if (method.MethodType == MethodType.ComparisonScalar ) { #> + public PrimitiveColumnContainer <#=method.MethodName#>(T scalar) + { + return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); + } +<# } else if (method.MethodType != MethodType.Binary ) { #> public <#= method.GetSingleArgumentMethodSignature("PrimitiveColumnContainer", "T")#> { <# if (method.MethodType == MethodType.BinaryScalar) { #> diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs index 25f36cfdf9..683da2e268 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs @@ -17,296 +17,296 @@ public Int32DataFrameColumn Add(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.AddImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt32DataFrameColumn Subtract(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.SubtractImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt32DataFrameColumn Multiply(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.MultiplyImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt32DataFrameColumn Divide(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.DivideImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ModuloImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } public partial class DecimalDataFrameColumn @@ -314,222 +314,222 @@ public partial class DecimalDataFrameColumn public DecimalDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public DecimalDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return AddImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return SubtractImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return MultiplyImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return DivideImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ModuloImplementation(otherdecimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } } public partial class DoubleDataFrameColumn @@ -537,247 +537,247 @@ public partial class DoubleDataFrameColumn public DoubleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public DoubleDataFrameColumn Add(SingleDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(SingleDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(SingleDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(SingleDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(SingleDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return AddImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return SubtractImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return MultiplyImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return DivideImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ModuloImplementation(otherdoubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } } public partial class SingleDataFrameColumn @@ -785,247 +785,247 @@ public partial class SingleDataFrameColumn public SingleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public SingleDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return AddImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return SubtractImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return MultiplyImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return DivideImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ModuloImplementation(otherfloatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } } public partial class Int32DataFrameColumn @@ -1033,282 +1033,282 @@ public partial class Int32DataFrameColumn public Int32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return AddImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return SubtractImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return MultiplyImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return DivideImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ModuloImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return AddImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return SubtractImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return MultiplyImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return DivideImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ModuloImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public Int32DataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return AddImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return SubtractImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return MultiplyImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return DivideImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ModuloImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return AddImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return SubtractImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return MultiplyImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return DivideImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ModuloImplementation(otherintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } } public partial class Int64DataFrameColumn @@ -1316,247 +1316,247 @@ public partial class Int64DataFrameColumn public Int64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public Int64DataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return AddImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return SubtractImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return MultiplyImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return DivideImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ModuloImplementation(otherlongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } } public partial class SByteDataFrameColumn @@ -1565,306 +1565,306 @@ public Int32DataFrameColumn Add(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } public partial class Int16DataFrameColumn @@ -1873,306 +1873,306 @@ public Int32DataFrameColumn Add(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } public partial class UInt32DataFrameColumn @@ -2180,287 +2180,287 @@ public partial class UInt32DataFrameColumn public UInt32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return AddImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otheruintColumn, inPlace); } public UInt32DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return SubtractImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otheruintColumn, inPlace); } public UInt32DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return MultiplyImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otheruintColumn, inPlace); } public UInt32DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return DivideImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otheruintColumn, inPlace); } public UInt32DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ModuloImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otheruintColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(Int32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(Int32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(Int32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(Int32DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(SByteDataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(SByteDataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(SByteDataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(SByteDataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(SByteDataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Add(Int16DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.AddImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(Int16DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.SubtractImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(Int16DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.MultiplyImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(Int16DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.DivideImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(Int16DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return longColumn.ModuloImplementation(otherlongColumn, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public UInt32DataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public UInt32DataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public UInt32DataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt32DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return AddImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otheruintColumn, inPlace); } public UInt32DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return SubtractImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otheruintColumn, inPlace); } public UInt32DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return MultiplyImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otheruintColumn, inPlace); } public UInt32DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return DivideImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otheruintColumn, inPlace); } public UInt32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ModuloImplementation(otheruintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otheruintColumn, inPlace); } } public partial class UInt64DataFrameColumn @@ -2468,262 +2468,262 @@ public partial class UInt64DataFrameColumn public UInt64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return AddImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return SubtractImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return MultiplyImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return DivideImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ModuloImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(Int32DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(Int32DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(Int32DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(Int32DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(Int32DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Add(SByteDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(SByteDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(SByteDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(SByteDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(SByteDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Add(Int16DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.AddImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(Int16DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(Int16DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(Int16DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.DivideImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(Int16DataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(otherfloatColumn, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public UInt64DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return AddImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return SubtractImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return MultiplyImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return DivideImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ModuloImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { - return AddImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, column, inPlace); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { - return SubtractImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { - return MultiplyImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { - return DivideImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, column, inPlace); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { - return ModuloImplementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace); } public UInt64DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return AddImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return SubtractImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return MultiplyImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return DivideImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ModuloImplementation(otherulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } } public partial class UInt16DataFrameColumn @@ -2732,296 +2732,296 @@ public Int32DataFrameColumn Add(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(column, inPlace: true); + return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(column, inPlace: true); + return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(column, inPlace: true); + return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(column, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(column, inPlace: true); + return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.AddImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt32DataFrameColumn Subtract(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.SubtractImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt32DataFrameColumn Multiply(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.MultiplyImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt32DataFrameColumn Divide(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.DivideImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ModuloImplementation(column, inPlace: true); + return uintColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(column, inPlace: true); + return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.AddImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.SubtractImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.MultiplyImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.DivideImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return intColumn.ModuloImplementation(otherintColumn, inPlace: true); + return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } public partial class ByteDataFrameColumn @@ -8746,7 +8746,7 @@ public BooleanDataFrameColumn And(BooleanDataFrameColumn column, bool inPlace = throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.And(column.ColumnContainer); + retColumn.ColumnContainer.HandleOperation(BinaryOperation.And, column.ColumnContainer); return retColumn; } } @@ -8768,7 +8768,7 @@ public BooleanDataFrameColumn Or(BooleanDataFrameColumn column, bool inPlace = f throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.Or(column.ColumnContainer); + retColumn.ColumnContainer.HandleOperation(BinaryOperation.Or, column.ColumnContainer); return retColumn; } } @@ -8790,7 +8790,7 @@ public BooleanDataFrameColumn Xor(BooleanDataFrameColumn column, bool inPlace = throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.Xor(column.ColumnContainer); + retColumn.ColumnContainer.HandleOperation(BinaryOperation.Xor, column.ColumnContainer); return retColumn; } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt index e0e9067917..49a5899042 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt @@ -29,7 +29,7 @@ bool supportedInPlace(string type1, string type2) } #> <# -void GenerateAllBinaryCombinationsForMethod() +void GenerateAllBinaryCombinations() { HashSet visited = new HashSet { }; foreach (TypeCombination outer in BinaryOperationCombinations.binaryOperationCombinations) @@ -84,7 +84,7 @@ void GenerateAllBinaryCombinationsForMethod() if (fullReturnType == fullColumnType || fullReturnType == fullOtherColumnType) { #> - return <#=methodName#>Implementation(column, inPlace); + return HandleOperationImplementation(BinaryOperation.<#=methodName#>, column, inPlace); <# } else @@ -93,7 +93,7 @@ void GenerateAllBinaryCombinationsForMethod() #> <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(other<#=returnType#>Column, inPlace: true); + return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace: true); <# } } @@ -108,14 +108,14 @@ void GenerateAllBinaryCombinationsForMethod() { #> <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(column, inPlace: true); + return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, column, inPlace: true); <# } else { #> <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); - return <#=methodName#>Implementation(other<#=returnType#>Column, inPlace); + return HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace); <# } } @@ -125,7 +125,7 @@ void GenerateAllBinaryCombinationsForMethod() #> <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(other<#=returnType#>Column, inPlace: true); + return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace: true); <# } } @@ -347,7 +347,7 @@ void GenerateAllBinaryBitwiseOperationsForMethod(string methodName) throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.<#=methodName#>(column.ColumnContainer); + retColumn.ColumnContainer.HandleOperation(BinaryOperation.<#=methodName#>, column.ColumnContainer); return retColumn; } } @@ -371,7 +371,7 @@ void GenerateAllBinaryScalarBitwiseOperationsForMethod(string methodName) } #> <# - GenerateAllBinaryCombinationsForMethod(); + GenerateAllBinaryCombinations(); GenerateAllBinaryScalarCombinationsForMethod(); foreach (MethodConfiguration method in methodConfiguration) { diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs index 6a54acb85e..47a96813dc 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs @@ -13,92 +13,92 @@ namespace Microsoft.Data.Analysis { public partial class DecimalDataFrameColumn { - internal DecimalDataFrameColumn AddImplementation(DecimalDataFrameColumn column, bool inPlace = false) + internal DecimalDataFrameColumn HandleOperationImplementation(BinaryOperation operation, DecimalDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class DoubleDataFrameColumn { - internal DoubleDataFrameColumn AddImplementation(DoubleDataFrameColumn column, bool inPlace = false) + internal DoubleDataFrameColumn HandleOperationImplementation(BinaryOperation operation, DoubleDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class SingleDataFrameColumn { - internal SingleDataFrameColumn AddImplementation(SingleDataFrameColumn column, bool inPlace = false) + internal SingleDataFrameColumn HandleOperationImplementation(BinaryOperation operation, SingleDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class Int32DataFrameColumn { - internal Int32DataFrameColumn AddImplementation(Int32DataFrameColumn column, bool inPlace = false) + internal Int32DataFrameColumn HandleOperationImplementation(BinaryOperation operation, Int32DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class Int64DataFrameColumn { - internal Int64DataFrameColumn AddImplementation(Int64DataFrameColumn column, bool inPlace = false) + internal Int64DataFrameColumn HandleOperationImplementation(BinaryOperation operation, Int64DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class UInt32DataFrameColumn { - internal UInt32DataFrameColumn AddImplementation(UInt32DataFrameColumn column, bool inPlace = false) + internal UInt32DataFrameColumn HandleOperationImplementation(BinaryOperation operation, UInt32DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } public partial class UInt64DataFrameColumn { - internal UInt64DataFrameColumn AddImplementation(UInt64DataFrameColumn column, bool inPlace = false) + internal UInt64DataFrameColumn HandleOperationImplementation(BinaryOperation operation, UInt64DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Add(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } @@ -242,97 +242,6 @@ internal UInt64DataFrameColumn ReverseAddImplementation(ulong value, bool inPlac return newColumn; } } - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn SubtractImplementation(DecimalDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn SubtractImplementation(DoubleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn SubtractImplementation(SingleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn SubtractImplementation(Int32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn SubtractImplementation(Int64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn SubtractImplementation(UInt32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn SubtractImplementation(UInt64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Subtract(column.ColumnContainer); - return newColumn; - } - } public partial class DecimalDataFrameColumn { @@ -473,97 +382,6 @@ internal UInt64DataFrameColumn ReverseSubtractImplementation(ulong value, bool i return newColumn; } } - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn MultiplyImplementation(DecimalDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn MultiplyImplementation(DoubleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn MultiplyImplementation(SingleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn MultiplyImplementation(Int32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn MultiplyImplementation(Int64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn MultiplyImplementation(UInt32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn MultiplyImplementation(UInt64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Multiply(column.ColumnContainer); - return newColumn; - } - } public partial class DecimalDataFrameColumn { @@ -704,97 +522,6 @@ internal UInt64DataFrameColumn ReverseMultiplyImplementation(ulong value, bool i return newColumn; } } - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn DivideImplementation(DecimalDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn DivideImplementation(DoubleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn DivideImplementation(SingleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn DivideImplementation(Int32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn DivideImplementation(Int64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn DivideImplementation(UInt32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn DivideImplementation(UInt64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Divide(column.ColumnContainer); - return newColumn; - } - } public partial class DecimalDataFrameColumn { @@ -935,97 +662,6 @@ internal UInt64DataFrameColumn ReverseDivideImplementation(ulong value, bool inP return newColumn; } } - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ModuloImplementation(DecimalDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ModuloImplementation(DoubleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ModuloImplementation(SingleDataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ModuloImplementation(Int32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ModuloImplementation(Int64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ModuloImplementation(UInt32DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ModuloImplementation(UInt64DataFrameColumn column, bool inPlace = false) - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); - newColumn.ColumnContainer.Modulo(column.ColumnContainer); - return newColumn; - } - } public partial class DecimalDataFrameColumn { diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt index 89eede1a0c..976bbfffde 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt @@ -31,7 +31,7 @@ bool supportedInPlace(string type1, string type2) #> <# // This method generates implementations where the arguments are of the same type. -void GenerateAllBinaryCombinationsForMethod(string inputMethodName) +void GenerateAllBinaryCombinationsForMethods() { foreach (TypeCombination types in BinaryOperationCombinations.binaryOperationCombinations) { @@ -53,7 +53,6 @@ void GenerateAllBinaryCombinationsForMethod(string inputMethodName) string fullOtherColumnType = fullColumnType; string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); - string methodName = inputMethodName + "Implementation"; #> public partial class <#=fullColumnType#> { @@ -61,13 +60,13 @@ void GenerateAllBinaryCombinationsForMethod(string inputMethodName) if (supportedInPlace(columnType, otherColumnType)) { #> - internal <#=fullReturnType#> <#=methodName#>(<#=fullOtherColumnType#> column, bool inPlace = false) + internal <#=fullReturnType#> HandleOperationImplementation(BinaryOperation operation, <#=fullOtherColumnType#> column, bool inPlace = false) <# } else { #> - internal <#=fullReturnType#> <#=methodName#>(<#=fullOtherColumnType#> column) + internal <#=fullReturnType#> HandleOperationImplementation(BinaryOperation operation, <#=fullOtherColumnType#> column) <# } #> @@ -77,7 +76,7 @@ void GenerateAllBinaryCombinationsForMethod(string inputMethodName) throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } <#=fullReturnType#> newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); - newColumn.ColumnContainer.<#=inputMethodName#>(column.ColumnContainer); + newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } } @@ -209,14 +208,12 @@ void GenerateAllComparisonScalarCombinationsForMethod(string inputMethodName) } #> <# +GenerateAllBinaryCombinationsForMethods(); + foreach (MethodConfiguration method in methodConfiguration) { - // Don't generate method for Comparison and ComparisonScalar methods here - if (method.MethodType == MethodType.Binary && method.IsNumeric) - { - GenerateAllBinaryCombinationsForMethod(method.MethodName); - } - else if (method.MethodType == MethodType.BinaryScalar && method.IsNumeric) + // Don't generate method for Comparison, ComparisonScalar and Binary methods here + if (method.MethodType == MethodType.BinaryScalar && method.IsNumeric) { GenerateAllBinaryScalarCombinationsForMethod(method.MethodName); GenerateAllBinaryScalarCombinationsForMethod("Reverse" + method.MethodName); diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs index 461badeda3..3727125f9e 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs @@ -20,33 +20,33 @@ public override DataFrameColumn Add(DataFrameColumn column, bool inPlace = false switch (column) { case PrimitiveDataFrameColumn boolColumn: - return AddImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return AddImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return AddImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return AddImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return AddImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return AddImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return AddImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return AddImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return AddImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return AddImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return AddImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return AddImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return AddImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return AddImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Add, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -70,33 +70,33 @@ public override DataFrameColumn Subtract(DataFrameColumn column, bool inPlace = switch (column) { case PrimitiveDataFrameColumn boolColumn: - return SubtractImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return SubtractImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return SubtractImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return SubtractImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return SubtractImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return SubtractImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return SubtractImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return SubtractImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return SubtractImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return SubtractImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return SubtractImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return SubtractImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return SubtractImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return SubtractImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Subtract, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -120,33 +120,33 @@ public override DataFrameColumn Multiply(DataFrameColumn column, bool inPlace = switch (column) { case PrimitiveDataFrameColumn boolColumn: - return MultiplyImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return MultiplyImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return MultiplyImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return MultiplyImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return MultiplyImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return MultiplyImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return MultiplyImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return MultiplyImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return MultiplyImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return MultiplyImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return MultiplyImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return MultiplyImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return MultiplyImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return MultiplyImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Multiply, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -170,33 +170,33 @@ public override DataFrameColumn Divide(DataFrameColumn column, bool inPlace = fa switch (column) { case PrimitiveDataFrameColumn boolColumn: - return DivideImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return DivideImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return DivideImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return DivideImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return DivideImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return DivideImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return DivideImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return DivideImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return DivideImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return DivideImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return DivideImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return DivideImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return DivideImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return DivideImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Divide, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -220,33 +220,33 @@ public override DataFrameColumn Modulo(DataFrameColumn column, bool inPlace = fa switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ModuloImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return ModuloImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return ModuloImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return ModuloImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return ModuloImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return ModuloImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return ModuloImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return ModuloImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return ModuloImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return ModuloImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return ModuloImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return ModuloImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return ModuloImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return ModuloImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Modulo, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -270,33 +270,33 @@ public override DataFrameColumn And(DataFrameColumn column, bool inPlace = false switch (column) { case PrimitiveDataFrameColumn boolColumn: - return AndImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return AndImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return AndImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return AndImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return AndImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return AndImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return AndImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return AndImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return AndImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return AndImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return AndImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return AndImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return AndImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return AndImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.And, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -315,33 +315,33 @@ public override DataFrameColumn Or(DataFrameColumn column, bool inPlace = false) switch (column) { case PrimitiveDataFrameColumn boolColumn: - return OrImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return OrImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return OrImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return OrImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return OrImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return OrImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return OrImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return OrImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return OrImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return OrImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return OrImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return OrImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return OrImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return OrImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Or, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -360,33 +360,33 @@ public override DataFrameColumn Xor(DataFrameColumn column, bool inPlace = false switch (column) { case PrimitiveDataFrameColumn boolColumn: - return XorImplementation(boolColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, boolColumn, inPlace); case PrimitiveDataFrameColumn byteColumn: - return XorImplementation(byteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, byteColumn, inPlace); case PrimitiveDataFrameColumn charColumn: - return XorImplementation(charColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, charColumn, inPlace); case PrimitiveDataFrameColumn decimalColumn: - return XorImplementation(decimalColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, decimalColumn, inPlace); case PrimitiveDataFrameColumn doubleColumn: - return XorImplementation(doubleColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, doubleColumn, inPlace); case PrimitiveDataFrameColumn floatColumn: - return XorImplementation(floatColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, floatColumn, inPlace); case PrimitiveDataFrameColumn intColumn: - return XorImplementation(intColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, intColumn, inPlace); case PrimitiveDataFrameColumn longColumn: - return XorImplementation(longColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, longColumn, inPlace); case PrimitiveDataFrameColumn sbyteColumn: - return XorImplementation(sbyteColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, sbyteColumn, inPlace); case PrimitiveDataFrameColumn shortColumn: - return XorImplementation(shortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, shortColumn, inPlace); case PrimitiveDataFrameColumn uintColumn: - return XorImplementation(uintColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, uintColumn, inPlace); case PrimitiveDataFrameColumn ulongColumn: - return XorImplementation(ulongColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, ulongColumn, inPlace); case PrimitiveDataFrameColumn ushortColumn: - return XorImplementation(ushortColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, ushortColumn, inPlace); case PrimitiveDataFrameColumn DateTimeColumn: - return XorImplementation(DateTimeColumn, inPlace); + return HandleOperationImplementation(BinaryOperation.Xor, DateTimeColumn, inPlace); default: throw new NotSupportedException(); @@ -714,89 +714,6 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(U value) } - internal DataFrameColumn AddImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Add(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Add(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Add(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Add((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Add(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn AddImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -874,90 +791,6 @@ internal DataFrameColumn AddImplementation(U value, bool inPlace) throw new NotSupportedException(); } } - - internal DataFrameColumn SubtractImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Subtract(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Subtract(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Subtract(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Subtract((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Subtract(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn SubtractImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1035,90 +868,6 @@ internal DataFrameColumn SubtractImplementation(U value, bool inPlace) throw new NotSupportedException(); } } - - internal DataFrameColumn MultiplyImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Multiply(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Multiply(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Multiply(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Multiply((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Multiply(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn MultiplyImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1196,90 +945,6 @@ internal DataFrameColumn MultiplyImplementation(U value, bool inPlace) throw new NotSupportedException(); } } - - internal DataFrameColumn DivideImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Divide(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Divide(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Divide(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Divide((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Divide(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn DivideImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1357,90 +1022,6 @@ internal DataFrameColumn DivideImplementation(U value, bool inPlace) throw new NotSupportedException(); } } - - internal DataFrameColumn ModuloImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Modulo(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Modulo(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Modulo(column._columnContainer); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Modulo((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Modulo(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn ModuloImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1518,43 +1099,6 @@ internal DataFrameColumn ModuloImplementation(U value, bool inPlace) throw new NotSupportedException(); } } - - internal DataFrameColumn AndImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.And(column._columnContainer); - return retColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn AndImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1585,43 +1129,6 @@ internal PrimitiveDataFrameColumn AndImplementation(U value, bool inPla throw new NotSupportedException(); } } - - internal DataFrameColumn OrImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.Or(column._columnContainer); - return retColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn OrImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1652,43 +1159,6 @@ internal PrimitiveDataFrameColumn OrImplementation(U value, bool inPlac throw new NotSupportedException(); } } - - internal DataFrameColumn XorImplementation(PrimitiveDataFrameColumn column, bool inPlace) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.Xor(column._columnContainer); - return retColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn XorImplementation(U value, bool inPlace) { switch (typeof(T)) @@ -1719,7 +1189,6 @@ internal PrimitiveDataFrameColumn XorImplementation(U value, bool inPla throw new NotSupportedException(); } } - internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) { switch (typeof(T)) @@ -1783,7 +1252,6 @@ internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) throw new NotSupportedException(); } } - internal DataFrameColumn RightShiftImplementation(int value, bool inPlace) { switch (typeof(T)) @@ -1847,7 +1315,6 @@ internal DataFrameColumn RightShiftImplementation(int value, bool inPlace) throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1923,7 +1390,6 @@ internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(Primi throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(U value) { switch (typeof(T)) @@ -1994,7 +1460,6 @@ internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(U val throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -2070,7 +1535,6 @@ internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(Pr throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(U value) { switch (typeof(T)) @@ -2141,7 +1605,6 @@ internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(U throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -2209,7 +1672,6 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementat throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(U value) { switch (typeof(T)) @@ -2272,7 +1734,6 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementat throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -2340,7 +1801,6 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(U value) { switch (typeof(T)) @@ -2403,7 +1863,6 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -2471,7 +1930,6 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation( throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(U value) { switch (typeof(T)) @@ -2534,7 +1992,6 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation( throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -2602,7 +2059,6 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(Pri throw new NotSupportedException(); } } - internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(U value) { switch (typeof(T)) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt index 66d04d02ec..357850f0a1 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt @@ -35,7 +35,7 @@ namespace Microsoft.Data.Analysis <# foreach (TypeConfiguration type in typeConfiguration) { #> case PrimitiveDataFrameColumn<<#=type.TypeName#>> <#=type.TypeName#>Column: <# if (method.MethodType == MethodType.Binary) {#> - return <#=method.MethodName#>Implementation(<#=type.TypeName#>Column, inPlace); + return HandleOperationImplementation(BinaryOperation.<#=method.MethodName#>, <#=type.TypeName#>Column, inPlace); <# } else { #> return <#=method.MethodName#>Implementation(<#=type.TypeName#>Column); <# } #> @@ -99,8 +99,9 @@ namespace Microsoft.Data.Analysis } <# } #> <# } #> -<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType != MethodType.Binary) { #> <# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.ComparisonScalar) {#> <# if (method.MethodType == MethodType.BinaryScalar) {#> <# if (method.IsBitwise == true) { #> @@ -112,20 +113,15 @@ namespace Microsoft.Data.Analysis internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value) <# } #> <# } #> -<# if (method.MethodType == MethodType.Binary || method.MethodType == MethodType.Comparison) {#> -<# if (method.MethodType == MethodType.Binary) {#> - internal DataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column, bool inPlace) -<# } else { #> +<# if (method.MethodType == MethodType.Comparison) {#> internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column) -<# } #> where U : unmanaged <# } #> <# if (method.MethodType == MethodType.BinaryInt ) {#> internal DataFrameColumn <#=method.MethodName#>Implementation(int value, bool inPlace) <# } #> { -<# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.ComparisonScalar || method.MethodType == MethodType.BinaryInt) {#> -<# } else { #> +<# if (method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.ComparisonScalar && method.MethodType != MethodType.BinaryInt) {#> if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); @@ -239,11 +235,6 @@ namespace Microsoft.Data.Analysis { throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); } -<# } else if (method.MethodType == MethodType.Binary) { #> - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } <# } #> <# if (method.MethodType == MethodType.ComparisonScalar) { #> PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); @@ -311,11 +302,6 @@ namespace Microsoft.Data.Analysis { throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); } -<# } else if (method.MethodType == MethodType.Binary) { #> - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); - } <# } #> if (typeof(U) == typeof(decimal)) { @@ -363,6 +349,7 @@ namespace Microsoft.Data.Analysis } <# } #> } +<# } #> <# } #> } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index 375f064bbb..a2dbd0cbb3 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -890,5 +890,88 @@ public override PrimitiveDataFrameColumn ElementwiseIsNotNull() return ret; } + + internal DataFrameColumn HandleOperationImplementation(BinaryOperation operation, PrimitiveDataFrameColumn column, bool inPlace) + where U : unmanaged + { + if (column.Length != Length) + { + throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); + } + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + throw new NotSupportedException(); + case Type decimalType when decimalType == typeof(decimal): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); + newColumn._columnContainer.HandleOperation(operation, column._columnContainer); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); + } + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + decimalColumn._columnContainer.HandleOperation(operation, column.CloneAsDecimalColumn()._columnContainer); + return decimalColumn; + } + case Type DateTimeType when DateTimeType == typeof(DateTime): + throw new NotSupportedException(); + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); + newColumn._columnContainer.HandleOperation(operation, column._columnContainer); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedColumnValueType, typeof(T)), nameof(column)); + } + if (typeof(U) == typeof(decimal)) + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + decimalColumn._columnContainer.HandleOperation(operation, (column as PrimitiveDataFrameColumn)._columnContainer); + return decimalColumn; + } + else + { + PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + doubleColumn._columnContainer.HandleOperation(operation, column.CloneAsDoubleColumn()._columnContainer); + return doubleColumn; + } + } + default: + throw new NotSupportedException(); + } + } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index db4819b0b9..62dc8e3bb2 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -12,28 +12,22 @@ namespace Microsoft.Data.Analysis internal interface IPrimitiveDataFrameColumnArithmetic where T : unmanaged { - void Add(ReadOnlySpan left, ReadOnlySpan right, Span result); + void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + void Add(PrimitiveColumnContainer column, T scalar); void Add(T scalar, PrimitiveColumnContainer column); - void Subtract(ReadOnlySpan left, ReadOnlySpan right, Span result); void Subtract(PrimitiveColumnContainer column, T scalar); void Subtract(T scalar, PrimitiveColumnContainer column); - void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result); void Multiply(PrimitiveColumnContainer column, T scalar); void Multiply(T scalar, PrimitiveColumnContainer column); - void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan); void Divide(PrimitiveColumnContainer column, T scalar); void Divide(T scalar, PrimitiveColumnContainer column); - void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result); void Modulo(PrimitiveColumnContainer column, T scalar); void Modulo(T scalar, PrimitiveColumnContainer column); - void And(ReadOnlySpan left, ReadOnlySpan right, Span result); void And(PrimitiveColumnContainer column, T scalar); void And(T scalar, PrimitiveColumnContainer column); - void Or(ReadOnlySpan left, ReadOnlySpan right, Span result); void Or(PrimitiveColumnContainer column, T scalar); void Or(T scalar, PrimitiveColumnContainer column); - void Xor(ReadOnlySpan left, ReadOnlySpan right, Span result); void Xor(PrimitiveColumnContainer column, T scalar); void Xor(T scalar, PrimitiveColumnContainer column); void LeftShift(PrimitiveColumnContainer column, int value); @@ -57,28 +51,66 @@ internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumn { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); - public virtual void Add(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + { + if (operation == BinaryOperation.Divide) + { + Divide(left, leftValidity, right, rightValidity); + return; + } + else if (operation == BinaryOperation.Add) + { + Add(left, right); + } + else if (operation == BinaryOperation.Subtract) + { + Subtract(left, right); + } + else if (operation == BinaryOperation.Multiply) + { + Multiply(left, right); + } + else if (operation == BinaryOperation.Modulo) + { + Modulo(left, right); + } + else if (operation == BinaryOperation.And) + { + And(left, right); + } + else if (operation == BinaryOperation.Or) + { + Or(left, right); + } + else if (operation == BinaryOperation.Xor) + { + Xor(left, right); + } + BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + } + + public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Add(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Add(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Subtract(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Subtract(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Subtract(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Subtract(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Multiply(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Multiply(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Multiply(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Multiply(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan) => throw new NotSupportedException(); + public virtual void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); public virtual void Divide(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Divide(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Modulo(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Modulo(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Modulo(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Modulo(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void And(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void And(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void And(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void And(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Or(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Or(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Or(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Or(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); - public virtual void Xor(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void Xor(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Xor(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual void Xor(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); public virtual void LeftShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); @@ -164,11 +196,12 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() } internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (bool)(span[i] & otherSpan[i]); + left[i] = (bool)(left[i] & right[i]); } } @@ -197,11 +230,11 @@ public override void And(bool scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (bool)(span[i] | otherSpan[i]); + left[i] = (bool)(left[i] | right[i]); } } @@ -230,11 +263,11 @@ public override void Or(bool scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (bool)(span[i] ^ otherSpan[i]); + left[i] = (bool)(left[i] ^ right[i]); } } @@ -328,11 +361,12 @@ public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveCol } internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] + otherSpan[i]); + left[i] = (byte)(left[i] + right[i]); } } @@ -361,11 +395,11 @@ public override void Add(byte scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] - otherSpan[i]); + left[i] = (byte)(left[i] - right[i]); } } @@ -394,11 +428,11 @@ public override void Subtract(byte scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] * otherSpan[i]); + left[i] = (byte)(left[i] * right[i]); } } @@ -427,14 +461,14 @@ public override void Multiply(byte scalar, PrimitiveColumnContainer column } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (byte)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (byte)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -463,11 +497,11 @@ public override void Divide(byte scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] % otherSpan[i]); + left[i] = (byte)(left[i] % right[i]); } } @@ -496,11 +530,11 @@ public override void Modulo(byte scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] & otherSpan[i]); + left[i] = (byte)(left[i] & right[i]); } } @@ -529,11 +563,11 @@ public override void And(byte scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] | otherSpan[i]); + left[i] = (byte)(left[i] | right[i]); } } @@ -562,11 +596,11 @@ public override void Or(byte scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (byte)(span[i] ^ otherSpan[i]); + left[i] = (byte)(left[i] ^ right[i]); } } @@ -810,11 +844,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] + otherSpan[i]); + left[i] = (char)(left[i] + right[i]); } } @@ -843,11 +878,11 @@ public override void Add(char scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] - otherSpan[i]); + left[i] = (char)(left[i] - right[i]); } } @@ -876,11 +911,11 @@ public override void Subtract(char scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] * otherSpan[i]); + left[i] = (char)(left[i] * right[i]); } } @@ -909,14 +944,14 @@ public override void Multiply(char scalar, PrimitiveColumnContainer column } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (char)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (char)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -945,11 +980,11 @@ public override void Divide(char scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] % otherSpan[i]); + left[i] = (char)(left[i] % right[i]); } } @@ -978,11 +1013,11 @@ public override void Modulo(char scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] & otherSpan[i]); + left[i] = (char)(left[i] & right[i]); } } @@ -1011,11 +1046,11 @@ public override void And(char scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] | otherSpan[i]); + left[i] = (char)(left[i] | right[i]); } } @@ -1044,11 +1079,11 @@ public override void Or(char scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (char)(span[i] ^ otherSpan[i]); + left[i] = (char)(left[i] ^ right[i]); } } @@ -1292,11 +1327,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (decimal)(span[i] + otherSpan[i]); + left[i] = (decimal)(left[i] + right[i]); } } @@ -1325,11 +1361,11 @@ public override void Add(decimal scalar, PrimitiveColumnContainer colum } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (decimal)(span[i] - otherSpan[i]); + left[i] = (decimal)(left[i] - right[i]); } } @@ -1358,11 +1394,11 @@ public override void Subtract(decimal scalar, PrimitiveColumnContainer } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (decimal)(span[i] * otherSpan[i]); + left[i] = (decimal)(left[i] * right[i]); } } @@ -1391,14 +1427,14 @@ public override void Multiply(decimal scalar, PrimitiveColumnContainer } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (decimal)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (decimal)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -1427,11 +1463,11 @@ public override void Divide(decimal scalar, PrimitiveColumnContainer co } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (decimal)(span[i] % otherSpan[i]); + left[i] = (decimal)(left[i] % right[i]); } } @@ -1649,11 +1685,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (double)(span[i] + otherSpan[i]); + left[i] = (double)(left[i] + right[i]); } } @@ -1682,11 +1719,11 @@ public override void Add(double scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (double)(span[i] - otherSpan[i]); + left[i] = (double)(left[i] - right[i]); } } @@ -1715,11 +1752,11 @@ public override void Subtract(double scalar, PrimitiveColumnContainer co } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (double)(span[i] * otherSpan[i]); + left[i] = (double)(left[i] * right[i]); } } @@ -1748,14 +1785,14 @@ public override void Multiply(double scalar, PrimitiveColumnContainer co } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (double)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (double)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -1784,11 +1821,11 @@ public override void Divide(double scalar, PrimitiveColumnContainer colu } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (double)(span[i] % otherSpan[i]); + left[i] = (double)(left[i] % right[i]); } } @@ -2006,11 +2043,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (float)(span[i] + otherSpan[i]); + left[i] = (float)(left[i] + right[i]); } } @@ -2039,11 +2077,11 @@ public override void Add(float scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (float)(span[i] - otherSpan[i]); + left[i] = (float)(left[i] - right[i]); } } @@ -2072,11 +2110,11 @@ public override void Subtract(float scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (float)(span[i] * otherSpan[i]); + left[i] = (float)(left[i] * right[i]); } } @@ -2105,14 +2143,14 @@ public override void Multiply(float scalar, PrimitiveColumnContainer colu } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (float)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (float)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -2141,11 +2179,11 @@ public override void Divide(float scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (float)(span[i] % otherSpan[i]); + left[i] = (float)(left[i] % right[i]); } } @@ -2363,11 +2401,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] + otherSpan[i]); + left[i] = (int)(left[i] + right[i]); } } @@ -2396,11 +2435,11 @@ public override void Add(int scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] - otherSpan[i]); + left[i] = (int)(left[i] - right[i]); } } @@ -2429,11 +2468,11 @@ public override void Subtract(int scalar, PrimitiveColumnContainer column) } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] * otherSpan[i]); + left[i] = (int)(left[i] * right[i]); } } @@ -2462,14 +2501,14 @@ public override void Multiply(int scalar, PrimitiveColumnContainer column) } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (int)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (int)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -2498,11 +2537,11 @@ public override void Divide(int scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] % otherSpan[i]); + left[i] = (int)(left[i] % right[i]); } } @@ -2531,11 +2570,11 @@ public override void Modulo(int scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] & otherSpan[i]); + left[i] = (int)(left[i] & right[i]); } } @@ -2564,11 +2603,11 @@ public override void And(int scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] | otherSpan[i]); + left[i] = (int)(left[i] | right[i]); } } @@ -2597,11 +2636,11 @@ public override void Or(int scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (int)(span[i] ^ otherSpan[i]); + left[i] = (int)(left[i] ^ right[i]); } } @@ -2845,11 +2884,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] + otherSpan[i]); + left[i] = (long)(left[i] + right[i]); } } @@ -2878,11 +2918,11 @@ public override void Add(long scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] - otherSpan[i]); + left[i] = (long)(left[i] - right[i]); } } @@ -2911,11 +2951,11 @@ public override void Subtract(long scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] * otherSpan[i]); + left[i] = (long)(left[i] * right[i]); } } @@ -2944,14 +2984,14 @@ public override void Multiply(long scalar, PrimitiveColumnContainer column } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (long)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (long)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -2980,11 +3020,11 @@ public override void Divide(long scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] % otherSpan[i]); + left[i] = (long)(left[i] % right[i]); } } @@ -3013,11 +3053,11 @@ public override void Modulo(long scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] & otherSpan[i]); + left[i] = (long)(left[i] & right[i]); } } @@ -3046,11 +3086,11 @@ public override void And(long scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] | otherSpan[i]); + left[i] = (long)(left[i] | right[i]); } } @@ -3079,11 +3119,11 @@ public override void Or(long scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (long)(span[i] ^ otherSpan[i]); + left[i] = (long)(left[i] ^ right[i]); } } @@ -3327,11 +3367,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] + otherSpan[i]); + left[i] = (sbyte)(left[i] + right[i]); } } @@ -3360,11 +3401,11 @@ public override void Add(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] - otherSpan[i]); + left[i] = (sbyte)(left[i] - right[i]); } } @@ -3393,11 +3434,11 @@ public override void Subtract(sbyte scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] * otherSpan[i]); + left[i] = (sbyte)(left[i] * right[i]); } } @@ -3426,14 +3467,14 @@ public override void Multiply(sbyte scalar, PrimitiveColumnContainer colu } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (sbyte)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (sbyte)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -3462,11 +3503,11 @@ public override void Divide(sbyte scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] % otherSpan[i]); + left[i] = (sbyte)(left[i] % right[i]); } } @@ -3495,11 +3536,11 @@ public override void Modulo(sbyte scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] & otherSpan[i]); + left[i] = (sbyte)(left[i] & right[i]); } } @@ -3528,11 +3569,11 @@ public override void And(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] | otherSpan[i]); + left[i] = (sbyte)(left[i] | right[i]); } } @@ -3561,11 +3602,11 @@ public override void Or(sbyte scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (sbyte)(span[i] ^ otherSpan[i]); + left[i] = (sbyte)(left[i] ^ right[i]); } } @@ -3809,11 +3850,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] + otherSpan[i]); + left[i] = (short)(left[i] + right[i]); } } @@ -3842,11 +3884,11 @@ public override void Add(short scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] - otherSpan[i]); + left[i] = (short)(left[i] - right[i]); } } @@ -3875,11 +3917,11 @@ public override void Subtract(short scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] * otherSpan[i]); + left[i] = (short)(left[i] * right[i]); } } @@ -3908,14 +3950,14 @@ public override void Multiply(short scalar, PrimitiveColumnContainer colu } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (short)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (short)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -3944,11 +3986,11 @@ public override void Divide(short scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] % otherSpan[i]); + left[i] = (short)(left[i] % right[i]); } } @@ -3977,11 +4019,11 @@ public override void Modulo(short scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] & otherSpan[i]); + left[i] = (short)(left[i] & right[i]); } } @@ -4010,11 +4052,11 @@ public override void And(short scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] | otherSpan[i]); + left[i] = (short)(left[i] | right[i]); } } @@ -4043,11 +4085,11 @@ public override void Or(short scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (short)(span[i] ^ otherSpan[i]); + left[i] = (short)(left[i] ^ right[i]); } } @@ -4291,11 +4333,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] + otherSpan[i]); + left[i] = (uint)(left[i] + right[i]); } } @@ -4324,11 +4367,11 @@ public override void Add(uint scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] - otherSpan[i]); + left[i] = (uint)(left[i] - right[i]); } } @@ -4357,11 +4400,11 @@ public override void Subtract(uint scalar, PrimitiveColumnContainer column } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] * otherSpan[i]); + left[i] = (uint)(left[i] * right[i]); } } @@ -4390,14 +4433,14 @@ public override void Multiply(uint scalar, PrimitiveColumnContainer column } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (uint)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (uint)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -4426,11 +4469,11 @@ public override void Divide(uint scalar, PrimitiveColumnContainer column) } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] % otherSpan[i]); + left[i] = (uint)(left[i] % right[i]); } } @@ -4459,11 +4502,11 @@ public override void Modulo(uint scalar, PrimitiveColumnContainer column) } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] & otherSpan[i]); + left[i] = (uint)(left[i] & right[i]); } } @@ -4492,11 +4535,11 @@ public override void And(uint scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] | otherSpan[i]); + left[i] = (uint)(left[i] | right[i]); } } @@ -4525,11 +4568,11 @@ public override void Or(uint scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (uint)(span[i] ^ otherSpan[i]); + left[i] = (uint)(left[i] ^ right[i]); } } @@ -4773,11 +4816,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] + otherSpan[i]); + left[i] = (ulong)(left[i] + right[i]); } } @@ -4806,11 +4850,11 @@ public override void Add(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] - otherSpan[i]); + left[i] = (ulong)(left[i] - right[i]); } } @@ -4839,11 +4883,11 @@ public override void Subtract(ulong scalar, PrimitiveColumnContainer colu } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] * otherSpan[i]); + left[i] = (ulong)(left[i] * right[i]); } } @@ -4872,14 +4916,14 @@ public override void Multiply(ulong scalar, PrimitiveColumnContainer colu } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (ulong)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (ulong)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -4908,11 +4952,11 @@ public override void Divide(ulong scalar, PrimitiveColumnContainer column } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] % otherSpan[i]); + left[i] = (ulong)(left[i] % right[i]); } } @@ -4941,11 +4985,11 @@ public override void Modulo(ulong scalar, PrimitiveColumnContainer column } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] & otherSpan[i]); + left[i] = (ulong)(left[i] & right[i]); } } @@ -4974,11 +5018,11 @@ public override void And(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] | otherSpan[i]); + left[i] = (ulong)(left[i] | right[i]); } } @@ -5007,11 +5051,11 @@ public override void Or(ulong scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ulong)(span[i] ^ otherSpan[i]); + left[i] = (ulong)(left[i] ^ right[i]); } } @@ -5255,11 +5299,12 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu } internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + + public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] + otherSpan[i]); + left[i] = (ushort)(left[i] + right[i]); } } @@ -5288,11 +5333,11 @@ public override void Add(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Subtract(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] - otherSpan[i]); + left[i] = (ushort)(left[i] - right[i]); } } @@ -5321,11 +5366,11 @@ public override void Subtract(ushort scalar, PrimitiveColumnContainer co } } } - public override void Multiply(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] * otherSpan[i]); + left[i] = (ushort)(left[i] * right[i]); } } @@ -5354,14 +5399,14 @@ public override void Multiply(ushort scalar, PrimitiveColumnContainer co } } } - public override void Divide(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span resultValiditySpan) + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (ushort)(span[i] / otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (ushort)(left[i] / right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } @@ -5390,11 +5435,11 @@ public override void Divide(ushort scalar, PrimitiveColumnContainer colu } } } - public override void Modulo(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] % otherSpan[i]); + left[i] = (ushort)(left[i] % right[i]); } } @@ -5423,11 +5468,11 @@ public override void Modulo(ushort scalar, PrimitiveColumnContainer colu } } } - public override void And(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] & otherSpan[i]); + left[i] = (ushort)(left[i] & right[i]); } } @@ -5456,11 +5501,11 @@ public override void And(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Or(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] | otherSpan[i]); + left[i] = (ushort)(left[i] | right[i]); } } @@ -5489,11 +5534,11 @@ public override void Or(ushort scalar, PrimitiveColumnContainer column) } } } - public override void Xor(ReadOnlySpan span, ReadOnlySpan otherSpan, Span resultSpan) + public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (ushort)(span[i] ^ otherSpan[i]); + left[i] = (ushort)(left[i] ^ right[i]); } } @@ -5738,6 +5783,7 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class DateTimeArithmetic : PrimitiveDataFrameColumnArithmetic { + public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) { PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index d2d0630c00..fad5d337b6 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -19,6 +19,8 @@ namespace Microsoft.Data.Analysis internal interface IPrimitiveDataFrameColumnArithmetic where T : unmanaged { + void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); @@ -26,14 +28,6 @@ namespace Microsoft.Data.Analysis <# else if (method.MethodType == MethodType.ComparisonScalar) { #> PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> -<# else if (method.MethodType == MethodType.Binary) { #> -<# if (method.MethodName == "Divide") { #> - void <#=method.MethodName#>(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan); -<# } #> -<# else { #> - void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result); -<# } #> -<# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column); @@ -49,6 +43,26 @@ namespace Microsoft.Data.Analysis { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); + public virtual void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + { + if (operation == BinaryOperation.Divide) + { + Divide(left, leftValidity, right, rightValidity); + return; + } +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Binary) { #> +<# if (method.MethodName != "Divide") { #> + else if (operation == BinaryOperation.<#=method.MethodName#>) + { + <#=method.MethodName#>(left, right); + } +<# } #> +<# } #> +<# } #> + BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + } + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); @@ -58,10 +72,10 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> - public virtual void <#=method.MethodName#>(ReadOnlySpan span, ReadOnlySpan otherSpan, ReadOnlySpan otherValiditySpan, Span resultSpan, Span returnValiditySpan) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); <# } #> <# else { #> - public virtual void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, Span result) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(Span left, ReadOnlySpan right) => throw new NotSupportedException(); <# } #> <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> @@ -92,6 +106,7 @@ namespace Microsoft.Data.Analysis <# foreach (TypeConfiguration type in typeConfiguration) { #> internal class <#=type.ClassPrefix#>Arithmetic : PrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> { + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (!((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) && method.Operator != null) { #> <# if (method.MethodType == MethodType.Comparison) { #> @@ -104,23 +119,23 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> - public override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> span, ReadOnlySpan<<#=type.TypeName#>> otherSpan, ReadOnlySpan otherValiditySpan, Span<<#=type.TypeName#>> resultSpan, Span resultValiditySpan) + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(otherValiditySpan, i)) - resultSpan[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> otherSpan[i]); + if (BitmapHelper.IsValid(rightValidity, i)) + left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); else - BitmapHelper.ClearBit(resultValiditySpan, i); + BitmapHelper.ClearBit(leftValidity, i); } } <# } #> <# else { #> - public override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> span, ReadOnlySpan<<#=type.TypeName#>> otherSpan, Span<<#=type.TypeName#>> resultSpan) + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) { - for (int i = 0; i < span.Length; i++) + for (int i = 0; i < left.Length; i++) { - resultSpan[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> otherSpan[i]); + left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); } } <# } #> diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs index 97cd75cf80..fb682e943e 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs @@ -3677,7 +3677,7 @@ public void Test_ArithmeticsDiffWithNull() var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act - var diff = left_column - right_column; + var diff = left_column.Subtract(right_column); // Assert Assert.Equal(3, diff.NullCount); From 9a3cd791803d73882d41b74833536b57cf648df3 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Tue, 26 Sep 2023 00:39:55 +0300 Subject: [PATCH 35/44] Intermediate changes --- .../ColumnArithmetic.OperationEnums.cs | 12 + .../ColumnArithmetic.OperationEnums.tt | 9 + .../Microsoft.Data.Analysis.csproj | 4 + ...imitiveColumnContainer.BinaryOperations.cs | 103 +- ...imitiveColumnContainer.BinaryOperations.tt | 43 +- ...imitiveDataFrameColumn.BinaryOperations.cs | 501 +-- ...imitiveDataFrameColumn.BinaryOperations.tt | 18 +- .../PrimitiveDataFrameColumn.cs | 110 + .../PrimitiveDataFrameColumnArithmetic.cs | 2850 +++++------------ .../PrimitiveDataFrameColumnArithmetic.tt | 107 +- 10 files changed, 1005 insertions(+), 2752 deletions(-) diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs index 7050815a1d..b4ec168714 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs @@ -17,4 +17,16 @@ internal enum BinaryOperation Or, Xor, } + + internal enum BinaryScalarOperation + { + Add, + Subtract, + Multiply, + Divide, + Modulo, + And, + Or, + Xor, + } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt index 9ff69bc764..7b4632d4e6 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt @@ -18,6 +18,15 @@ namespace Microsoft.Data.Analysis <# if (method.MethodType == MethodType.Binary) { #> <#=method.MethodName#>, <# } #> +<# } #> + } + + internal enum BinaryScalarOperation + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.BinaryScalar) { #> + <#=method.MethodName#>, +<# } #> <# } #> } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj index e8ce66a8a7..f5cf3fe046 100644 --- a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj +++ b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj @@ -54,6 +54,10 @@ + + TextTemplatingFileGenerator + ColumnArithmetic.OperationEnums.cs + TextTemplatingFileGenerator Converters.cs diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 06e367d77b..f24aaddd54 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -33,46 +33,33 @@ public PrimitiveColumnContainer HandleOperation(BinaryOperation operation, Pr return this; } - public PrimitiveColumnContainer Add(T scalar) + public PrimitiveColumnContainer HandleOperation(BinaryScalarOperation operation, T right) { - PrimitiveDataFrameColumnArithmetic.Instance.Add(this, scalar); - return this; - } - public PrimitiveColumnContainer Subtract(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Subtract(this, scalar); - return this; - } - public PrimitiveColumnContainer Multiply(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Multiply(this, scalar); - return this; - } - public PrimitiveColumnContainer Divide(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Divide(this, scalar); - return this; - } - public PrimitiveColumnContainer Modulo(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Modulo(this, scalar); - return this; - } - public PrimitiveColumnContainer And(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.And(this, scalar); - return this; - } - public PrimitiveColumnContainer Or(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Or(this, scalar); + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, leftSpan, right); + } + return this; } - public PrimitiveColumnContainer Xor(T scalar) + + public PrimitiveColumnContainer HandleReverseOperation(BinaryScalarOperation operation, T left) { - PrimitiveDataFrameColumnArithmetic.Instance.Xor(this, scalar); + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var rightSpan = this.Buffers.GetOrCreateMutable(i).Span; + var rightValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, left, rightSpan, rightValidity); + } + return this; } + public PrimitiveColumnContainer LeftShift(int value) { PrimitiveDataFrameColumnArithmetic.Instance.LeftShift(this, value); @@ -131,53 +118,5 @@ public PrimitiveColumnContainer ElementwiseLessThan(T scalar) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThan(this, scalar); } - - public PrimitiveColumnContainer ReverseAdd(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Add(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseSubtract(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Subtract(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseMultiply(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Multiply(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseDivide(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Divide(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseModulo(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Modulo(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseAnd(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.And(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseOr(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Or(scalar, this); - return this; - } - - public PrimitiveColumnContainer ReverseXor(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.Xor(scalar, this); - return this; - } } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index e2b7d6fbc6..46fdfe84b9 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -39,6 +39,33 @@ namespace Microsoft.Data.Analysis return this; } + public PrimitiveColumnContainer HandleOperation(BinaryScalarOperation operation, T right) + { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, leftSpan, right); + } + + return this; + } + + public PrimitiveColumnContainer HandleReverseOperation(BinaryScalarOperation operation, T left) + { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var rightSpan = this.Buffers.GetOrCreateMutable(i).Span; + var rightValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, left, rightSpan, rightValidity); + } + + return this; + } + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) @@ -50,12 +77,10 @@ namespace Microsoft.Data.Analysis { return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); } -<# } else if (method.MethodType != MethodType.Binary ) { #> +<# } else if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> public <#= method.GetSingleArgumentMethodSignature("PrimitiveColumnContainer", "T")#> { -<# if (method.MethodType == MethodType.BinaryScalar) { #> - PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); -<# } else if (method.MethodType == MethodType.BinaryInt) { #> +<# if (method.MethodType == MethodType.BinaryInt) { #> PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, value); <# } else { #> PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, right); @@ -63,16 +88,6 @@ namespace Microsoft.Data.Analysis return this; } <# } #> -<# } #> -<# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.BinaryScalar) { #> - - public PrimitiveColumnContainer Reverse<#=method.MethodName#>(T scalar) - { - PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(scalar, this); - return this; - } -<# } #> <# } #> } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs index 3727125f9e..8a184063b8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs @@ -59,9 +59,9 @@ public override DataFrameColumn Add(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return Add(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, column, inPlace); } - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } /// @@ -109,9 +109,9 @@ public override DataFrameColumn Subtract(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return Subtract(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, column, inPlace); } - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } /// @@ -159,9 +159,9 @@ public override DataFrameColumn Multiply(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return Multiply(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, column, inPlace); } - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } /// @@ -209,9 +209,9 @@ public override DataFrameColumn Divide(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return Divide(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, column, inPlace); } - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } /// @@ -259,9 +259,9 @@ public override DataFrameColumn Modulo(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return Modulo(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, column, inPlace); } - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } /// @@ -306,7 +306,7 @@ public override DataFrameColumn And(DataFrameColumn column, bool inPlace = false /// public override PrimitiveDataFrameColumn And(bool value, bool inPlace = false) { - return AndImplementation(value, inPlace); + return HandleBitwiseOperationImplementation(BinaryScalarOperation.And, value, inPlace); } /// @@ -351,7 +351,7 @@ public override DataFrameColumn Or(DataFrameColumn column, bool inPlace = false) /// public override PrimitiveDataFrameColumn Or(bool value, bool inPlace = false) { - return OrImplementation(value, inPlace); + return HandleBitwiseOperationImplementation(BinaryScalarOperation.Or, value, inPlace); } /// @@ -396,7 +396,7 @@ public override DataFrameColumn Xor(DataFrameColumn column, bool inPlace = false /// public override PrimitiveDataFrameColumn Xor(bool value, bool inPlace = false) { - return XorImplementation(value, inPlace); + return HandleBitwiseOperationImplementation(BinaryScalarOperation.Xor, value, inPlace); } /// @@ -714,481 +714,6 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(U value) } - internal DataFrameColumn AddImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Add(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Add(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Add(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Add(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Add(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn SubtractImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Subtract(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Subtract(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Subtract(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Subtract(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Subtract(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn MultiplyImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Multiply(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Multiply(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Multiply(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Multiply(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Multiply(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn DivideImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Divide(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Divide(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Divide(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Divide(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Divide(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal DataFrameColumn ModuloImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Modulo(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Modulo(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); - newColumn._columnContainer.Modulo(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Modulo(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.Modulo(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn AndImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.And(Unsafe.As(ref value)); - return retColumn as PrimitiveDataFrameColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn OrImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.Or(Unsafe.As(ref value)); - return retColumn as PrimitiveDataFrameColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn XorImplementation(U value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); - retColumn._columnContainer.Xor(Unsafe.As(ref value)); - return retColumn as PrimitiveDataFrameColumn; - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type decimalType when decimalType == typeof(decimal): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - case Type DateTimeType when DateTimeType == typeof(DateTime): - default: - throw new NotSupportedException(); - } - } internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) { switch (typeof(T)) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt index 357850f0a1..680ab880f7 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt @@ -71,14 +71,14 @@ namespace Microsoft.Data.Analysis { <# if (method.MethodType == MethodType.BinaryScalar) {#> <# if (method.IsBitwise == true) { #> - return <#=method.MethodName#>Implementation(value, inPlace); + return HandleBitwiseOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); <# } else { #> DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return <#=method.MethodName#>(column, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, column, inPlace); } - return <#=method.MethodName#>Implementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); <# } #> <# } else {#> DataFrameColumn column = value as DataFrameColumn; @@ -101,18 +101,10 @@ namespace Microsoft.Data.Analysis <# } #> <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType != MethodType.Binary) { #> -<# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.ComparisonScalar) {#> -<# if (method.MethodType == MethodType.BinaryScalar) {#> -<# if (method.IsBitwise == true) { #> - internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value, bool inPlace) -<# } else { #> - internal DataFrameColumn <#=method.MethodName#>Implementation(U value, bool inPlace) -<# } #> -<# } else {#> +<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> +<# if (method.MethodType == MethodType.ComparisonScalar) {#> internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value) <# } #> -<# } #> <# if (method.MethodType == MethodType.Comparison) {#> internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column) where U : unmanaged diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index a2dbd0cbb3..ff2284edf9 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Apache.Arrow; using Apache.Arrow.Types; @@ -973,5 +974,114 @@ internal DataFrameColumn HandleOperationImplementation(BinaryOperation operat throw new NotSupportedException(); } } + + internal DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, U value, bool inPlace) + { + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + throw new NotSupportedException(); + case Type decimalType when decimalType == typeof(decimal): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this; + PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); + newColumn._columnContainer.HandleOperation(operation, Unsafe.As(ref value)); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); + } + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + decimalColumn._columnContainer.HandleOperation(operation, DecimalConverter.Instance.GetDecimal(value)); + return decimalColumn; + } + case Type DateTimeType when DateTimeType == typeof(DateTime): + throw new NotSupportedException(); + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this; + PrimitiveDataFrameColumn newColumn = inPlace ? primitiveColumn : primitiveColumn.Clone(); + newColumn._columnContainer.HandleOperation(operation, Unsafe.As(ref value)); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); + } + if (typeof(U) == typeof(decimal)) + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + decimalColumn._columnContainer.HandleOperation(operation, DecimalConverter.Instance.GetDecimal(value)); + return decimalColumn; + } + else + { + PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + doubleColumn._columnContainer.HandleOperation(operation, DoubleConverter.Instance.GetDouble(value)); + return doubleColumn; + } + } + default: + throw new NotSupportedException(); + } + } + + internal PrimitiveDataFrameColumn HandleBitwiseOperationImplementation(BinaryScalarOperation operation, U value, bool inPlace) + { + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + if (typeof(U) != typeof(bool)) + { + throw new NotSupportedException(); + } + PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn retColumn = inPlace ? typedColumn : typedColumn.Clone(); + retColumn._columnContainer.HandleOperation(operation, Unsafe.As(ref value)); + return retColumn; + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type decimalType when decimalType == typeof(decimal): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + case Type DateTimeType when DateTimeType == typeof(DateTime): + default: + throw new NotSupportedException(); + } + } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 62dc8e3bb2..415d5e472f 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -13,23 +13,9 @@ internal interface IPrimitiveDataFrameColumnArithmetic where T : unmanaged { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + void HandleOperation(BinaryScalarOperation operation, Span left, T right); + void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity); - void Add(PrimitiveColumnContainer column, T scalar); - void Add(T scalar, PrimitiveColumnContainer column); - void Subtract(PrimitiveColumnContainer column, T scalar); - void Subtract(T scalar, PrimitiveColumnContainer column); - void Multiply(PrimitiveColumnContainer column, T scalar); - void Multiply(T scalar, PrimitiveColumnContainer column); - void Divide(PrimitiveColumnContainer column, T scalar); - void Divide(T scalar, PrimitiveColumnContainer column); - void Modulo(PrimitiveColumnContainer column, T scalar); - void Modulo(T scalar, PrimitiveColumnContainer column); - void And(PrimitiveColumnContainer column, T scalar); - void And(T scalar, PrimitiveColumnContainer column); - void Or(PrimitiveColumnContainer column, T scalar); - void Or(T scalar, PrimitiveColumnContainer column); - void Xor(PrimitiveColumnContainer column, T scalar); - void Xor(T scalar, PrimitiveColumnContainer column); void LeftShift(PrimitiveColumnContainer column, int value); void RightShift(PrimitiveColumnContainer column, int value); PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right); @@ -59,60 +45,93 @@ public virtual void HandleOperation(BinaryOperation operation, Span left, Spa return; } else if (operation == BinaryOperation.Add) - { Add(left, right); - } else if (operation == BinaryOperation.Subtract) - { Subtract(left, right); - } else if (operation == BinaryOperation.Multiply) - { Multiply(left, right); - } else if (operation == BinaryOperation.Modulo) - { Modulo(left, right); - } else if (operation == BinaryOperation.And) - { And(left, right); - } else if (operation == BinaryOperation.Or) - { Or(left, right); - } else if (operation == BinaryOperation.Xor) + Xor(left, right); + + BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + } + + public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) + { + if (operation == BinaryScalarOperation.Divide) { + Divide(left, right); + return; + } + else if (operation == BinaryScalarOperation.Add) + Add(left, right); + else if (operation == BinaryScalarOperation.Subtract) + Subtract(left, right); + else if (operation == BinaryScalarOperation.Multiply) + Multiply(left, right); + else if (operation == BinaryScalarOperation.Modulo) + Modulo(left, right); + else if (operation == BinaryScalarOperation.And) + And(left, right); + else if (operation == BinaryScalarOperation.Or) + Or(left, right); + else if (operation == BinaryScalarOperation.Xor) Xor(left, right); + } + + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity) + { + if (operation == BinaryScalarOperation.Divide) + { + Divide(left, right); + return; } - BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + else if (operation == BinaryScalarOperation.Add) + Add(left, right); + else if (operation == BinaryScalarOperation.Subtract) + Subtract(left, right); + else if (operation == BinaryScalarOperation.Multiply) + Multiply(left, right); + else if (operation == BinaryScalarOperation.Modulo) + Modulo(left, right); + else if (operation == BinaryScalarOperation.And) + And(left, right); + else if (operation == BinaryScalarOperation.Or) + Or(left, right); + else if (operation == BinaryScalarOperation.Xor) + Xor(left, right); } public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Add(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Add(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Add(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Add(T left, Span right) => throw new NotSupportedException(); public virtual void Subtract(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Subtract(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Subtract(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Subtract(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Subtract(T left, Span right) => throw new NotSupportedException(); public virtual void Multiply(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Multiply(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Multiply(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Multiply(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Multiply(T left, Span right) => throw new NotSupportedException(); public virtual void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); - public virtual void Divide(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Divide(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Divide(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Divide(T left, Span right, Span rightValidity) => throw new NotSupportedException(); public virtual void Modulo(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Modulo(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Modulo(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Modulo(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Modulo(T left, Span right) => throw new NotSupportedException(); public virtual void And(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void And(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void And(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void And(Span left, T scalar) => throw new NotSupportedException(); + public virtual void And(T left, Span right) => throw new NotSupportedException(); public virtual void Or(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Or(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Or(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Or(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Or(T left, Span right) => throw new NotSupportedException(); public virtual void Xor(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Xor(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void Xor(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void Xor(Span left, T scalar) => throw new NotSupportedException(); + public virtual void Xor(T left, Span right) => throw new NotSupportedException(); public virtual void LeftShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); public virtual void RightShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); @@ -136,165 +155,90 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() where T : unmanaged { if (typeof(T) == typeof(bool)) - { return (IPrimitiveDataFrameColumnArithmetic)new BoolArithmetic(); - } else if (typeof(T) == typeof(byte)) - { return (IPrimitiveDataFrameColumnArithmetic)new ByteArithmetic(); - } else if (typeof(T) == typeof(char)) - { return (IPrimitiveDataFrameColumnArithmetic)new CharArithmetic(); - } else if (typeof(T) == typeof(decimal)) - { return (IPrimitiveDataFrameColumnArithmetic)new DecimalArithmetic(); - } else if (typeof(T) == typeof(double)) - { return (IPrimitiveDataFrameColumnArithmetic)new DoubleArithmetic(); - } else if (typeof(T) == typeof(float)) - { return (IPrimitiveDataFrameColumnArithmetic)new FloatArithmetic(); - } else if (typeof(T) == typeof(int)) - { return (IPrimitiveDataFrameColumnArithmetic)new IntArithmetic(); - } else if (typeof(T) == typeof(long)) - { return (IPrimitiveDataFrameColumnArithmetic)new LongArithmetic(); - } else if (typeof(T) == typeof(sbyte)) - { return (IPrimitiveDataFrameColumnArithmetic)new SByteArithmetic(); - } else if (typeof(T) == typeof(short)) - { return (IPrimitiveDataFrameColumnArithmetic)new ShortArithmetic(); - } else if (typeof(T) == typeof(uint)) - { return (IPrimitiveDataFrameColumnArithmetic)new UIntArithmetic(); - } else if (typeof(T) == typeof(ulong)) - { return (IPrimitiveDataFrameColumnArithmetic)new ULongArithmetic(); - } else if (typeof(T) == typeof(ushort)) - { return (IPrimitiveDataFrameColumnArithmetic)new UShortArithmetic(); - } else if (typeof(T) == typeof(DateTime)) - { return (IPrimitiveDataFrameColumnArithmetic)new DateTimeArithmetic(); - } throw new NotSupportedException(); } } + internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, bool scalar) + public override void And(Span left, bool right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (bool)(left[i] & right); } - public override void And(bool scalar, PrimitiveColumnContainer column) + public override void And(bool left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (bool)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, bool scalar) + public override void Or(Span left, bool right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (bool)(left[i] | right); } - public override void Or(bool scalar, PrimitiveColumnContainer column) + public override void Or(bool left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (bool)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, bool scalar) + public override void Xor(Span left, bool right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (bool)(left[i] ^ right); } - public override void Xor(bool scalar, PrimitiveColumnContainer column) + public override void Xor(bool left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (bool)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (bool)(left ^ right[i]); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -364,106 +308,58 @@ internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, byte scalar) + public override void Add(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] + right); } - public override void Add(byte scalar, PrimitiveColumnContainer column) + public override void Add(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, byte scalar) + public override void Subtract(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] - right); } - public override void Subtract(byte scalar, PrimitiveColumnContainer column) + public override void Subtract(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, byte scalar) + public override void Multiply(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] * right); } - public override void Multiply(byte scalar, PrimitiveColumnContainer column) + public override void Multiply(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (byte)(left[i] / right[i]); @@ -472,162 +368,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - public override void Divide(PrimitiveColumnContainer column, byte scalar) + public override void Divide(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] / right); } - public override void Divide(byte scalar, PrimitiveColumnContainer column) + public override void Divide(byte left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (byte)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, byte scalar) + public override void Modulo(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] % right); } - public override void Modulo(byte scalar, PrimitiveColumnContainer column) + public override void Modulo(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, byte scalar) + public override void And(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] & right); } - public override void And(byte scalar, PrimitiveColumnContainer column) + public override void And(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, byte scalar) + public override void Or(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] | right); } - public override void Or(byte scalar, PrimitiveColumnContainer column) + public override void Or(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, byte scalar) + public override void Xor(Span left, byte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] ^ right); } - public override void Xor(byte scalar, PrimitiveColumnContainer column) + public override void Xor(byte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (byte)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -847,106 +668,58 @@ internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, char scalar) + public override void Add(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] + right); } - public override void Add(char scalar, PrimitiveColumnContainer column) + public override void Add(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, char scalar) + public override void Subtract(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] - right); } - public override void Subtract(char scalar, PrimitiveColumnContainer column) + public override void Subtract(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, char scalar) + public override void Multiply(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] * right); } - public override void Multiply(char scalar, PrimitiveColumnContainer column) + public override void Multiply(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (char)(left[i] / right[i]); @@ -955,162 +728,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - public override void Divide(PrimitiveColumnContainer column, char scalar) + public override void Divide(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] / right); } - public override void Divide(char scalar, PrimitiveColumnContainer column) + public override void Divide(char left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (char)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, char scalar) + public override void Modulo(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] % right); } - public override void Modulo(char scalar, PrimitiveColumnContainer column) + public override void Modulo(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, char scalar) + public override void And(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] & right); } - public override void And(char scalar, PrimitiveColumnContainer column) + public override void And(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, char scalar) + public override void Or(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] | right); } - public override void Or(char scalar, PrimitiveColumnContainer column) + public override void Or(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, char scalar) + public override void Xor(Span left, char right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] ^ right); } - public override void Xor(char scalar, PrimitiveColumnContainer column) + public override void Xor(char left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (char)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -1328,108 +1026,60 @@ public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColu internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) - { - for (int i = 0; i < left.Length; i++) - { - left[i] = (decimal)(left[i] + right[i]); - } - } - - public override void Add(PrimitiveColumnContainer column, decimal scalar) - { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(span[i] + scalar); - } - } + public override void Add(Span left, ReadOnlySpan right) + { + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] + right[i]); } - public override void Add(decimal scalar, PrimitiveColumnContainer column) + public override void Add(Span left, decimal right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(scalar + span[i]); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] + right); + } + + public override void Add(decimal left, Span right) + { + for (var i = 0; i < right.Length; i++) + right[i] = (decimal)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, decimal scalar) + public override void Subtract(Span left, decimal right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] - right); } - public override void Subtract(decimal scalar, PrimitiveColumnContainer column) + public override void Subtract(decimal left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (decimal)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, decimal scalar) + public override void Multiply(Span left, decimal right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] * right); } - public override void Multiply(decimal scalar, PrimitiveColumnContainer column) + public override void Multiply(decimal left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (decimal)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (decimal)(left[i] / right[i]); @@ -1438,63 +1088,36 @@ public override void Divide(Span left, Span leftValidity, ReadOnl } } - public override void Divide(PrimitiveColumnContainer column, decimal scalar) + public override void Divide(Span left, decimal right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] / right); } - public override void Divide(decimal scalar, PrimitiveColumnContainer column) + public override void Divide(decimal left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (decimal)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, decimal scalar) + public override void Modulo(Span left, decimal right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (decimal)(left[i] % right); } - public override void Modulo(decimal scalar, PrimitiveColumnContainer column) + public override void Modulo(decimal left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (decimal)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (decimal)(left % right[i]); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -1688,106 +1311,58 @@ internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, double scalar) + public override void Add(Span left, double right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (double)(left[i] + right); } - public override void Add(double scalar, PrimitiveColumnContainer column) + public override void Add(double left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (double)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, double scalar) + public override void Subtract(Span left, double right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (double)(left[i] - right); } - public override void Subtract(double scalar, PrimitiveColumnContainer column) + public override void Subtract(double left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (double)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, double scalar) + public override void Multiply(Span left, double right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (double)(left[i] * right); } - public override void Multiply(double scalar, PrimitiveColumnContainer column) + public override void Multiply(double left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (double)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (double)(left[i] / right[i]); @@ -1796,63 +1371,36 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } - public override void Divide(PrimitiveColumnContainer column, double scalar) + public override void Divide(Span left, double right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (double)(left[i] / right); } - public override void Divide(double scalar, PrimitiveColumnContainer column) + public override void Divide(double left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (double)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, double scalar) + public override void Modulo(Span left, double right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (double)(left[i] % right); } - public override void Modulo(double scalar, PrimitiveColumnContainer column) + public override void Modulo(double left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (double)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (double)(left % right[i]); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -2046,106 +1594,58 @@ internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, float scalar) + public override void Add(Span left, float right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] + right); } - public override void Add(float scalar, PrimitiveColumnContainer column) + public override void Add(float left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (float)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, float scalar) + public override void Subtract(Span left, float right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] - right); } - public override void Subtract(float scalar, PrimitiveColumnContainer column) + public override void Subtract(float left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (float)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, float scalar) + public override void Multiply(Span left, float right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] * right); } - public override void Multiply(float scalar, PrimitiveColumnContainer column) + public override void Multiply(float left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (float)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (float)(left[i] / right[i]); @@ -2154,63 +1654,36 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - public override void Divide(PrimitiveColumnContainer column, float scalar) + public override void Divide(Span left, float right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(span[i] / scalar); - } - } - } - - public override void Divide(float scalar, PrimitiveColumnContainer column) - { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(scalar / span[i]); - } - } - } - public override void Modulo(Span left, ReadOnlySpan right) - { - for (int i = 0; i < left.Length; i++) - { - left[i] = (float)(left[i] % right[i]); - } + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] / right); } - public override void Modulo(PrimitiveColumnContainer column, float scalar) + public override void Divide(float left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(span[i] % scalar); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (float)(left / right[i]); } } + public override void Modulo(Span left, ReadOnlySpan right) + { + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] % right[i]); + } - public override void Modulo(float scalar, PrimitiveColumnContainer column) + public override void Modulo(Span left, float right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (float)(scalar % span[i]); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (float)(left[i] % right); + } + + public override void Modulo(float left, Span right) + { + for (var i = 0; i < right.Length; i++) + right[i] = (float)(left % right[i]); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -2404,106 +1877,58 @@ internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, int scalar) + public override void Add(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] + right); } - public override void Add(int scalar, PrimitiveColumnContainer column) + public override void Add(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, int scalar) + public override void Subtract(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] - right); } - public override void Subtract(int scalar, PrimitiveColumnContainer column) + public override void Subtract(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, int scalar) + public override void Multiply(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] * right); } - public override void Multiply(int scalar, PrimitiveColumnContainer column) + public override void Multiply(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (int)(left[i] / right[i]); @@ -2512,162 +1937,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySpa } } - public override void Divide(PrimitiveColumnContainer column, int scalar) + public override void Divide(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] / right); } - public override void Divide(int scalar, PrimitiveColumnContainer column) + public override void Divide(int left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (int)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, int scalar) + public override void Modulo(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] % right); } - public override void Modulo(int scalar, PrimitiveColumnContainer column) + public override void Modulo(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, int scalar) + public override void And(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] & right); } - public override void And(int scalar, PrimitiveColumnContainer column) + public override void And(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, int scalar) + public override void Or(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] | right); } - public override void Or(int scalar, PrimitiveColumnContainer column) + public override void Or(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, int scalar) + public override void Xor(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] ^ right); } - public override void Xor(int scalar, PrimitiveColumnContainer column) + public override void Xor(int left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (int)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -2887,106 +2237,58 @@ internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, long scalar) + public override void Add(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] + right); } - public override void Add(long scalar, PrimitiveColumnContainer column) + public override void Add(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, long scalar) + public override void Subtract(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] - right); } - public override void Subtract(long scalar, PrimitiveColumnContainer column) + public override void Subtract(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, long scalar) + public override void Multiply(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] * right); } - public override void Multiply(long scalar, PrimitiveColumnContainer column) + public override void Multiply(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (long)(left[i] / right[i]); @@ -2995,162 +2297,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - public override void Divide(PrimitiveColumnContainer column, long scalar) + public override void Divide(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] / right); } - public override void Divide(long scalar, PrimitiveColumnContainer column) + public override void Divide(long left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (long)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, long scalar) + public override void Modulo(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] % right); } - public override void Modulo(long scalar, PrimitiveColumnContainer column) + public override void Modulo(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] & right[i]); - } - } - - public override void And(PrimitiveColumnContainer column, long scalar) - { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] & scalar); - } - } } - public override void And(long scalar, PrimitiveColumnContainer column) + public override void And(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar & span[i]); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] & right); + } + + public override void And(long left, Span right) + { + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, long scalar) + public override void Or(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] | right); } - public override void Or(long scalar, PrimitiveColumnContainer column) + public override void Or(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, long scalar) + public override void Xor(Span left, long right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] ^ right); } - public override void Xor(long scalar, PrimitiveColumnContainer column) + public override void Xor(long left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (long)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -3370,106 +2597,58 @@ internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, sbyte scalar) + public override void Add(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] + right); } - public override void Add(sbyte scalar, PrimitiveColumnContainer column) + public override void Add(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, sbyte scalar) + public override void Subtract(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] - right); } - public override void Subtract(sbyte scalar, PrimitiveColumnContainer column) + public override void Subtract(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, sbyte scalar) + public override void Multiply(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] * right); } - public override void Multiply(sbyte scalar, PrimitiveColumnContainer column) + public override void Multiply(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (sbyte)(left[i] / right[i]); @@ -3478,162 +2657,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - public override void Divide(PrimitiveColumnContainer column, sbyte scalar) + public override void Divide(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] / right); } - public override void Divide(sbyte scalar, PrimitiveColumnContainer column) + public override void Divide(sbyte left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (sbyte)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, sbyte scalar) + public override void Modulo(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] % right); } - public override void Modulo(sbyte scalar, PrimitiveColumnContainer column) + public override void Modulo(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, sbyte scalar) + public override void And(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] & right); } - public override void And(sbyte scalar, PrimitiveColumnContainer column) + public override void And(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, sbyte scalar) + public override void Or(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] | right); } - public override void Or(sbyte scalar, PrimitiveColumnContainer column) + public override void Or(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, sbyte scalar) + public override void Xor(Span left, sbyte right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] ^ right); } - public override void Xor(sbyte scalar, PrimitiveColumnContainer column) + public override void Xor(sbyte left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (sbyte)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -3853,270 +2957,147 @@ internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, short scalar) + public override void Add(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] + right); } - public override void Add(short scalar, PrimitiveColumnContainer column) + public override void Add(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, short scalar) + public override void Subtract(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] - right); } - public override void Subtract(short scalar, PrimitiveColumnContainer column) + public override void Subtract(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, short scalar) + public override void Multiply(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] * right); } - public override void Multiply(short scalar, PrimitiveColumnContainer column) + public override void Multiply(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) - left[i] = (short)(left[i] / right[i]); - else - BitmapHelper.ClearBit(leftValidity, i); - } - } - - public override void Divide(PrimitiveColumnContainer column, short scalar) - { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] / scalar); - } + left[i] = (short)(left[i] / right[i]); + else + BitmapHelper.ClearBit(leftValidity, i); } } - public override void Divide(short scalar, PrimitiveColumnContainer column) + public override void Divide(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] / right); + } + + public override void Divide(short left, Span right, Span rightValidity) + { + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (short)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, short scalar) + public override void Modulo(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] % right); } - public override void Modulo(short scalar, PrimitiveColumnContainer column) + public override void Modulo(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, short scalar) + public override void And(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] & right); } - public override void And(short scalar, PrimitiveColumnContainer column) + public override void And(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, short scalar) + public override void Or(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] | right); } - public override void Or(short scalar, PrimitiveColumnContainer column) + public override void Or(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, short scalar) + public override void Xor(Span left, short right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] ^ right); } - public override void Xor(short scalar, PrimitiveColumnContainer column) + public override void Xor(short left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (short)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -4336,106 +3317,58 @@ internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, uint scalar) + public override void Add(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] + right); } - public override void Add(uint scalar, PrimitiveColumnContainer column) + public override void Add(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, uint scalar) + public override void Subtract(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] - right); } - public override void Subtract(uint scalar, PrimitiveColumnContainer column) + public override void Subtract(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, uint scalar) + public override void Multiply(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] * right); } - public override void Multiply(uint scalar, PrimitiveColumnContainer column) + public override void Multiply(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (uint)(left[i] / right[i]); @@ -4444,162 +3377,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - public override void Divide(PrimitiveColumnContainer column, uint scalar) + public override void Divide(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] / right); } - public override void Divide(uint scalar, PrimitiveColumnContainer column) + public override void Divide(uint left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (uint)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, uint scalar) + public override void Modulo(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] % right); } - public override void Modulo(uint scalar, PrimitiveColumnContainer column) + public override void Modulo(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, uint scalar) + public override void And(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] & right); } - public override void And(uint scalar, PrimitiveColumnContainer column) + public override void And(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, uint scalar) + public override void Or(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] | right); } - public override void Or(uint scalar, PrimitiveColumnContainer column) + public override void Or(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, uint scalar) + public override void Xor(Span left, uint right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] ^ right); } - public override void Xor(uint scalar, PrimitiveColumnContainer column) + public override void Xor(uint left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (uint)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -4819,106 +3677,58 @@ internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, ulong scalar) + public override void Add(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] + right); } - public override void Add(ulong scalar, PrimitiveColumnContainer column) + public override void Add(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] - right[i]); - } } - - public override void Subtract(PrimitiveColumnContainer column, ulong scalar) - { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] - scalar); - } - } + + public override void Subtract(Span left, ulong right) + { + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] - right); } - public override void Subtract(ulong scalar, PrimitiveColumnContainer column) + public override void Subtract(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, ulong scalar) + public override void Multiply(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] * right); } - public override void Multiply(ulong scalar, PrimitiveColumnContainer column) + public override void Multiply(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (ulong)(left[i] / right[i]); @@ -4927,162 +3737,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - public override void Divide(PrimitiveColumnContainer column, ulong scalar) + public override void Divide(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] / right); } - public override void Divide(ulong scalar, PrimitiveColumnContainer column) + public override void Divide(ulong left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (ulong)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, ulong scalar) + public override void Modulo(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] % right); } - public override void Modulo(ulong scalar, PrimitiveColumnContainer column) + public override void Modulo(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, ulong scalar) + public override void And(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] & right); } - public override void And(ulong scalar, PrimitiveColumnContainer column) + public override void And(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, ulong scalar) + public override void Or(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] | right); } - public override void Or(ulong scalar, PrimitiveColumnContainer column) + public override void Or(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, ulong scalar) + public override void Xor(Span left, ulong right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] ^ right); } - public override void Xor(ulong scalar, PrimitiveColumnContainer column) + public override void Xor(ulong left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ulong)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) @@ -5302,106 +4037,58 @@ internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic public override void Add(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] + right[i]); - } } - public override void Add(PrimitiveColumnContainer column, ushort scalar) + public override void Add(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] + scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] + right); } - public override void Add(ushort scalar, PrimitiveColumnContainer column) + public override void Add(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar + span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left + right[i]); } public override void Subtract(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] - right[i]); - } } - public override void Subtract(PrimitiveColumnContainer column, ushort scalar) + public override void Subtract(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] - scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] - right); } - public override void Subtract(ushort scalar, PrimitiveColumnContainer column) + public override void Subtract(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar - span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left - right[i]); } public override void Multiply(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] * right[i]); - } } - public override void Multiply(PrimitiveColumnContainer column, ushort scalar) + public override void Multiply(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] * scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] * right); } - public override void Multiply(ushort scalar, PrimitiveColumnContainer column) + public override void Multiply(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar * span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left * right[i]); } public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (ushort)(left[i] / right[i]); @@ -5410,162 +4097,87 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } - public override void Divide(PrimitiveColumnContainer column, ushort scalar) + public override void Divide(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] / scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] / right); } - public override void Divide(ushort scalar, PrimitiveColumnContainer column) + public override void Divide(ushort left, Span right, Span rightValidity) { - for (int b = 0; b < column.Buffers.Count; b++) + for (var i = 0; i < right.Length; i++) { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar / span[i]); - } + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (ushort)(left / right[i]); } } public override void Modulo(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] % right[i]); - } } - public override void Modulo(PrimitiveColumnContainer column, ushort scalar) + public override void Modulo(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] % scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] % right); } - public override void Modulo(ushort scalar, PrimitiveColumnContainer column) + public override void Modulo(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar % span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left % right[i]); } public override void And(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] & right[i]); - } } - public override void And(PrimitiveColumnContainer column, ushort scalar) + public override void And(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] & scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] & right); } - public override void And(ushort scalar, PrimitiveColumnContainer column) + public override void And(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar & span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left & right[i]); } public override void Or(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] | right[i]); - } } - public override void Or(PrimitiveColumnContainer column, ushort scalar) + public override void Or(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] | scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] | right); } - public override void Or(ushort scalar, PrimitiveColumnContainer column) + public override void Or(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar | span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left | right[i]); } public override void Xor(Span left, ReadOnlySpan right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] ^ right[i]); - } } - public override void Xor(PrimitiveColumnContainer column, ushort scalar) + public override void Xor(Span left, ushort right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] ^ scalar); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] ^ right); } - public override void Xor(ushort scalar, PrimitiveColumnContainer column) + public override void Xor(ushort left, Span right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(scalar ^ span[i]); - } - } + for (var i = 0; i < right.Length; i++) + right[i] = (ushort)(left ^ right[i]); } public override void LeftShift(PrimitiveColumnContainer column, int value) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index fad5d337b6..b5e02d4264 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -20,6 +20,8 @@ namespace Microsoft.Data.Analysis where T : unmanaged { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + void HandleOperation(BinaryScalarOperation operation, Span left, T right); + void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity); <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> @@ -28,10 +30,6 @@ namespace Microsoft.Data.Analysis <# else if (method.MethodType == MethodType.ComparisonScalar) { #> PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> -<# else if (method.MethodType == MethodType.BinaryScalar) { #> - void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); - void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column); -<# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> void <#=method.MethodName#>(PrimitiveColumnContainer column, int value); <# } #> @@ -54,13 +52,46 @@ namespace Microsoft.Data.Analysis <# if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName != "Divide") { #> else if (operation == BinaryOperation.<#=method.MethodName#>) + <#=method.MethodName#>(left, right); +<# } #> +<# } #> +<# } #> + + BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + } + + public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) + { + if (operation == BinaryScalarOperation.Divide) { + Divide(left, right); + return; + } +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.BinaryScalar) { #> +<# if (method.MethodName != "Divide") { #> + else if (operation == BinaryScalarOperation.<#=method.MethodName#>) <#=method.MethodName#>(left, right); +<# } #> +<# } #> +<# } #> + } + + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity) + { + if (operation == BinaryScalarOperation.Divide) + { + Divide(left, right); + return; } +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.BinaryScalar) { #> +<# if (method.MethodName != "Divide") { #> + else if (operation == BinaryScalarOperation.<#=method.MethodName#>) + <#=method.MethodName#>(left, right); <# } #> <# } #> <# } #> - BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); } <# foreach (MethodConfiguration method in methodConfiguration) { #> @@ -79,8 +110,13 @@ namespace Microsoft.Data.Analysis <# } #> <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> - public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual void <#=method.MethodName#>(T scalar, PrimitiveColumnContainer column) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(Span left, T scalar) => throw new NotSupportedException(); +<# if (method.MethodName == "Divide") { #> + public virtual void <#=method.MethodName#>(T left, Span right, Span rightValidity) => throw new NotSupportedException(); +<# } #> +<# else { #> + public virtual void <#=method.MethodName#>(T left, Span right) => throw new NotSupportedException(); +<# } #> <# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); @@ -96,13 +132,12 @@ namespace Microsoft.Data.Analysis { <# foreach (TypeConfiguration type in typeConfiguration) { #> <#=GenerateIfStatementHeader(type)#> - { return (IPrimitiveDataFrameColumnArithmetic)new <#=type.ClassPrefix#>Arithmetic(); - } <# } #> throw new NotSupportedException(); } } + <# foreach (TypeConfiguration type in typeConfiguration) { #> internal class <#=type.ClassPrefix#>Arithmetic : PrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> { @@ -121,7 +156,7 @@ namespace Microsoft.Data.Analysis <# if (method.MethodName == "Divide") { #> public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { - for (int i = 0; i < left.Length; i++) + for (var i = 0; i < left.Length; i++) { if (BitmapHelper.IsValid(rightValidity, i)) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); @@ -133,22 +168,42 @@ namespace Microsoft.Data.Analysis <# else { #> public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) { - for (int i = 0; i < left.Length; i++) - { + for (var i = 0; i < left.Length; i++) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); - } } <# } #> <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> - public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, <#=type.TypeName#> right) + { + for (var i = 0; i < left.Length; i++) + left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); + } + +<# if (method.MethodName == "Divide") { #> + public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, Span rightValidity) + { + for (var i = 0; i < right.Length; i++) + { + if (BitmapHelper.IsValid(rightValidity, i)) + right[i] = (<#=type.TypeName#>)(left <#= method.Operator #> right[i]); + } + } +<# } #> +<# else { #> + public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right) + { + for (var i = 0; i < right.Length; i++) + right[i] = (<#=type.TypeName#>)(left <#= method.Operator #> right[i]); + } +<# } #> <# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) <# } #> -<# if (method.MethodType != MethodType.Binary) { #> +<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> { <# if (method.MethodType == MethodType.Comparison) { #> PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); @@ -171,7 +226,7 @@ namespace Microsoft.Data.Analysis <# } #> for (int i = 0; i < span.Length; i++) { -<# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.BinaryInt) { #> +<# if (method.MethodType == MethodType.BinaryInt) { #> span[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> <#= method.Op2Name #>); <# } else if (method.MethodType == MethodType.Comparison) { #> ret[index++] = (span[i] <#= method.Operator #> otherSpan[i]); @@ -187,26 +242,6 @@ namespace Microsoft.Data.Analysis <# } #> } <# } #> -<# if (method.MethodType == MethodType.BinaryScalar) { #> - - public override <#= method.GetInvertedMethodSignatureForBinaryScalarsOps("PrimitiveColumnContainer", type.TypeName) #> - { - for (int b = 0; b < <#= method.Op1Name #>.Buffers.Count; b++) - { - var mutableBuffer = <#= method.Op1Name #>.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; -<# if (method.MethodType == MethodType.Comparison) { #> - var otherSpan = <#=method.Op2Name#>.Buffers[b].ReadOnlySpan; -<# } #> - for (int i = 0; i < span.Length; i++) - { -<# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.BinaryInt) { #> - span[i] = (<#=type.TypeName#>)(<#= method.Op2Name #> <#= method.Operator #> span[i]); -<# } #> - } - } - } -<# } #> <# } #> <# } #> } From 2b25770aaca47f8a2922428971e8230d74d79525 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 27 Sep 2023 11:58:21 +0300 Subject: [PATCH 36/44] Intermediate results --- .../Microsoft.Data.Analysis.csproj | 9 - ...imitiveColumnContainer.BinaryOperations.cs | 2 +- ...imitiveColumnContainer.BinaryOperations.tt | 2 +- ...umn.BinaryOperationAPIs.ExplodedColumns.cs | 5822 ++++++++--------- ...umn.BinaryOperationAPIs.ExplodedColumns.tt | 48 +- ...BinaryOperationImplementations.Exploded.cs | 769 +-- ...BinaryOperationImplementations.Exploded.tt | 66 +- ...imitiveDataFrameColumn.BinaryOperations.cs | 47 +- ...imitiveDataFrameColumn.BinaryOperations.tt | 39 +- ...ataFrameColumn.ReversedBinaryOperations.cs | 433 -- ...ataFrameColumn.ReversedBinaryOperations.tt | 116 - .../PrimitiveDataFrameColumn.cs | 76 + .../PrimitiveDataFrameColumnArithmetic.cs | 53 +- .../PrimitiveDataFrameColumnArithmetic.tt | 25 +- 14 files changed, 3216 insertions(+), 4291 deletions(-) delete mode 100644 src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.cs delete mode 100644 src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.tt diff --git a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj index f5cf3fe046..ad69fc0a01 100644 --- a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj +++ b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj @@ -115,10 +115,6 @@ TextTemplatingFileGenerator PrimitiveDataFrameColumn.Computations.cs - - TextTemplatingFileGenerator - PrimitiveDataFrameColumn.ReversedBinaryOperations.cs - TextTemplatingFileGenerator PrimitiveColumnArithmetic.cs @@ -211,11 +207,6 @@ True PrimitiveDataFrameColumn.Computations.tt - - True - True - PrimitiveDataFrameColumn.ReversedBinaryOperations.tt - True True diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index f24aaddd54..711700f16a 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -52,7 +52,7 @@ public PrimitiveColumnContainer HandleReverseOperation(BinaryScalarOperation for (int i = 0; i < this.Buffers.Count; i++) { var rightSpan = this.Buffers.GetOrCreateMutable(i).Span; - var rightValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var rightValidity = this.NullBitMapBuffers[i].ReadOnlySpan; arithmetic.HandleOperation(operation, left, rightSpan, rightValidity); } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index 46fdfe84b9..82ae925455 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -58,7 +58,7 @@ namespace Microsoft.Data.Analysis for (int i = 0; i < this.Buffers.Count; i++) { var rightSpan = this.Buffers.GetOrCreateMutable(i).Span; - var rightValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; + var rightValidity = this.NullBitMapBuffers[i].ReadOnlySpan; arithmetic.HandleOperation(operation, left, rightSpan, rightValidity); } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs index 683da2e268..61232620f7 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs @@ -15,297 +15,297 @@ public partial class ByteDataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt32DataFrameColumn Subtract(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt32DataFrameColumn Multiply(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt32DataFrameColumn Divide(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } @@ -313,27 +313,27 @@ public partial class DecimalDataFrameColumn { public DecimalDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column, bool inPlace = false) @@ -358,177 +358,177 @@ public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column, bool inPlace } public DecimalDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdecimalColumn, inPlace); } public DecimalDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); + var otherdecimalColumn = column.CloneAsDecimalColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } } @@ -536,27 +536,27 @@ public partial class DoubleDataFrameColumn { public DoubleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column, bool inPlace = false) @@ -581,202 +581,202 @@ public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column, bool inPlace = } public DoubleDataFrameColumn Add(SingleDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(SingleDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(SingleDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(SingleDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(SingleDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherdoubleColumn, inPlace); } public DoubleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); + var otherdoubleColumn = column.CloneAsDoubleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } } @@ -784,52 +784,52 @@ public partial class SingleDataFrameColumn { public SingleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column, bool inPlace = false) @@ -854,177 +854,177 @@ public SingleDataFrameColumn Modulo(SingleDataFrameColumn column, bool inPlace = } public SingleDataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } public SingleDataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace); } public SingleDataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace); } public SingleDataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace); } public SingleDataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace); } public SingleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } } @@ -1032,102 +1032,102 @@ public partial class Int32DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) @@ -1152,162 +1152,162 @@ public Int32DataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = f } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public Int32DataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } } @@ -1315,127 +1315,127 @@ public partial class Int64DataFrameColumn { public Int64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(Int32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(Int32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(Int32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(Int32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(Int64DataFrameColumn column, bool inPlace = false) @@ -1460,102 +1460,102 @@ public Int64DataFrameColumn Modulo(Int64DataFrameColumn column, bool inPlace = f } public Int64DataFrameColumn Add(SByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(SByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(SByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(SByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(SByteDataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(Int16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(Int16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(Int16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(Int16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(Int16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } public Int64DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace); } public Int64DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace); } public Int64DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace); } public Int64DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace); } public Int64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } } @@ -1563,307 +1563,307 @@ public partial class SByteDataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } @@ -1871,307 +1871,307 @@ public partial class Int16DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int64DataFrameColumn Add(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(UInt32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public SingleDataFrameColumn Add(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(UInt64DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } @@ -2179,217 +2179,217 @@ public partial class UInt32DataFrameColumn { public UInt32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otheruintColumn, inPlace); } public UInt32DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otheruintColumn, inPlace); } public UInt32DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otheruintColumn, inPlace); } public UInt32DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otheruintColumn, inPlace); } public UInt32DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otheruintColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(Int32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(Int32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(Int32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(Int32DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(SByteDataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(SByteDataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(SByteDataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(SByteDataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(SByteDataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Add(Int16DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Subtract(Int16DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Multiply(Int16DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Divide(Int16DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, otherlongColumn, inPlace: true); } public Int64DataFrameColumn Modulo(Int16DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); + var otherlongColumn = column.CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) @@ -2414,52 +2414,52 @@ public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt32DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Add, otheruintColumn, inPlace); } public UInt32DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otheruintColumn, inPlace); } public UInt32DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otheruintColumn, inPlace); } public UInt32DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Divide, otheruintColumn, inPlace); } public UInt32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); + var otheruintColumn = column.CloneAsUInt32Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otheruintColumn, inPlace); } } @@ -2467,217 +2467,217 @@ public partial class UInt64DataFrameColumn { public UInt64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(ByteDataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(ByteDataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(ByteDataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(ByteDataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(Int32DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(Int32DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(Int32DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(Int32DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(Int32DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Add(SByteDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(SByteDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(SByteDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(SByteDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(SByteDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Add(Int16DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Subtract(Int16DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Multiply(Int16DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Divide(Int16DataFrameColumn column) - { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + { + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, otherfloatColumn, inPlace: true); } public SingleDataFrameColumn Modulo(Int16DataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); + var otherfloatColumn = column.CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace: true); } public UInt64DataFrameColumn Add(UInt32DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(UInt32DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(UInt32DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(UInt32DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(UInt32DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column, bool inPlace = false) @@ -2702,27 +2702,27 @@ public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column, bool inPlace = } public UInt64DataFrameColumn Add(UInt16DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Add, otherulongColumn, inPlace); } public UInt64DataFrameColumn Subtract(UInt16DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Subtract, otherulongColumn, inPlace); } public UInt64DataFrameColumn Multiply(UInt16DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Multiply, otherulongColumn, inPlace); } public UInt64DataFrameColumn Divide(UInt16DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Divide, otherulongColumn, inPlace); } public UInt64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = false) { - UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); + var otherulongColumn = column.CloneAsUInt64Column(); return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } } @@ -2730,297 +2730,297 @@ public partial class UInt16DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(ByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public DecimalDataFrameColumn Add(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DecimalDataFrameColumn Subtract(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DecimalDataFrameColumn Multiply(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DecimalDataFrameColumn Divide(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DecimalDataFrameColumn Modulo(DecimalDataFrameColumn column) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + var decimalColumn = CloneAsDecimalColumn(); return decimalColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public DoubleDataFrameColumn Add(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public DoubleDataFrameColumn Subtract(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public DoubleDataFrameColumn Multiply(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public DoubleDataFrameColumn Divide(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public DoubleDataFrameColumn Modulo(DoubleDataFrameColumn column) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + var doubleColumn = CloneAsDoubleColumn(); return doubleColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public SingleDataFrameColumn Add(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public SingleDataFrameColumn Subtract(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public SingleDataFrameColumn Multiply(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public SingleDataFrameColumn Divide(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public SingleDataFrameColumn Modulo(SingleDataFrameColumn column) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); + var floatColumn = CloneAsSingleColumn(); return floatColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int32DataFrameColumn Subtract(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int32DataFrameColumn Multiply(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int32DataFrameColumn Divide(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int32DataFrameColumn Modulo(Int32DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int64DataFrameColumn Add(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public Int64DataFrameColumn Subtract(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public Int64DataFrameColumn Multiply(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public Int64DataFrameColumn Divide(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public Int64DataFrameColumn Modulo(Int64DataFrameColumn column) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); + var longColumn = CloneAsInt64Column(); return longColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(SByteDataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public Int32DataFrameColumn Add(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(Int16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } public UInt32DataFrameColumn Add(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt32DataFrameColumn Subtract(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt32DataFrameColumn Multiply(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt32DataFrameColumn Divide(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt32DataFrameColumn Modulo(UInt32DataFrameColumn column) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); + var uintColumn = CloneAsUInt32Column(); return uintColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public UInt64DataFrameColumn Add(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Add, column, inPlace: true); } public UInt64DataFrameColumn Subtract(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Subtract, column, inPlace: true); } public UInt64DataFrameColumn Multiply(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Multiply, column, inPlace: true); } public UInt64DataFrameColumn Divide(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Divide, column, inPlace: true); } public UInt64DataFrameColumn Modulo(UInt64DataFrameColumn column) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); + var ulongColumn = CloneAsUInt64Column(); return ulongColumn.HandleOperationImplementation(BinaryOperation.Modulo, column, inPlace: true); } public Int32DataFrameColumn Add(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Add, otherintColumn, inPlace: true); } public Int32DataFrameColumn Subtract(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Subtract, otherintColumn, inPlace: true); } public Int32DataFrameColumn Multiply(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Multiply, otherintColumn, inPlace: true); } public Int32DataFrameColumn Divide(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Divide, otherintColumn, inPlace: true); } public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); + var intColumn = CloneAsInt32Column(); + var otherintColumn = column.CloneAsInt32Column(); return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } @@ -3028,5713 +3028,5713 @@ public partial class ByteDataFrameColumn { public Int32DataFrameColumn Add(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.AddImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt32DataFrameColumn ReverseAdd(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseAddImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public UInt32DataFrameColumn Subtract(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.SubtractImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt32DataFrameColumn ReverseSubtract(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseSubtractImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public UInt32DataFrameColumn Multiply(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.MultiplyImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt32DataFrameColumn ReverseMultiply(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseMultiplyImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public UInt32DataFrameColumn Divide(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.DivideImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt32DataFrameColumn ReverseDivide(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseDivideImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public UInt32DataFrameColumn Modulo(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ModuloImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn ReverseModulo(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseModuloImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt64DataFrameColumn Add(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn ReverseAdd(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseAddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn ReverseSubtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseSubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn ReverseMultiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseMultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn ReverseDivide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseDivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn ReverseModulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } } public partial class DecimalDataFrameColumn { public DecimalDataFrameColumn Add(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public DecimalDataFrameColumn ReverseAdd(decimal value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public DecimalDataFrameColumn Subtract(decimal value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public DecimalDataFrameColumn ReverseSubtract(decimal value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public DecimalDataFrameColumn Multiply(decimal value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public DecimalDataFrameColumn ReverseMultiply(decimal value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public DecimalDataFrameColumn Divide(decimal value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public DecimalDataFrameColumn ReverseDivide(decimal value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public DecimalDataFrameColumn Modulo(decimal value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public DecimalDataFrameColumn ReverseModulo(decimal value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public DecimalDataFrameColumn Add(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(int value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(long value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(short value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - decimal convertedValue = (decimal)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (decimal)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class DoubleDataFrameColumn { public DoubleDataFrameColumn Add(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(double value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public DoubleDataFrameColumn ReverseAdd(double value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public DoubleDataFrameColumn Subtract(double value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public DoubleDataFrameColumn ReverseSubtract(double value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public DoubleDataFrameColumn Multiply(double value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public DoubleDataFrameColumn ReverseMultiply(double value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public DoubleDataFrameColumn Divide(double value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public DoubleDataFrameColumn ReverseDivide(double value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public DoubleDataFrameColumn Modulo(double value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public DoubleDataFrameColumn ReverseModulo(double value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public DoubleDataFrameColumn Add(float value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(float value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(float value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(float value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(float value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(int value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(int value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(int value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(int value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(int value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(long value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(long value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(long value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(long value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(long value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(short value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(short value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(short value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(short value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(short value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - double convertedValue = (double)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (double)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class SingleDataFrameColumn { public SingleDataFrameColumn Add(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public SingleDataFrameColumn ReverseAdd(float value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public SingleDataFrameColumn Subtract(float value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public SingleDataFrameColumn ReverseSubtract(float value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public SingleDataFrameColumn Multiply(float value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public SingleDataFrameColumn ReverseMultiply(float value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public SingleDataFrameColumn Divide(float value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public SingleDataFrameColumn ReverseDivide(float value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public SingleDataFrameColumn Modulo(float value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public SingleDataFrameColumn ReverseModulo(float value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public SingleDataFrameColumn Add(int value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(int value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(int value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(int value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(int value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(long value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(long value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(long value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(long value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(long value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(short value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(short value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(short value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(short value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(short value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - float convertedValue = (float)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (float)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class Int32DataFrameColumn { public Int32DataFrameColumn Add(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int32DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public Int32DataFrameColumn ReverseAdd(int value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public Int32DataFrameColumn Subtract(int value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public Int32DataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public Int32DataFrameColumn Multiply(int value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public Int32DataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public Int32DataFrameColumn Divide(int value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public Int32DataFrameColumn ReverseDivide(int value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public Int32DataFrameColumn Modulo(int value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public Int32DataFrameColumn ReverseModulo(int value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int32DataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int32DataFrameColumn Add(short value, bool inPlace = false) { - int convertedValue = (int)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn ReverseAdd(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(short value, bool inPlace = false) { - int convertedValue = (int)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn ReverseSubtract(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(short value, bool inPlace = false) { - int convertedValue = (int)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn ReverseMultiply(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(short value, bool inPlace = false) { - int convertedValue = (int)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn ReverseDivide(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int32DataFrameColumn ReverseModulo(short value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int32DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - int convertedValue = (int)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (int)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class Int64DataFrameColumn { public Int64DataFrameColumn Add(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(int value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(int value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(int value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(int value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(int value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(long value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public Int64DataFrameColumn ReverseAdd(long value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public Int64DataFrameColumn Subtract(long value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public Int64DataFrameColumn ReverseSubtract(long value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public Int64DataFrameColumn Multiply(long value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public Int64DataFrameColumn ReverseMultiply(long value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public Int64DataFrameColumn Divide(long value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public Int64DataFrameColumn ReverseDivide(long value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public Int64DataFrameColumn Modulo(long value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public Int64DataFrameColumn ReverseModulo(long value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public Int64DataFrameColumn Add(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(short value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(short value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(short value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(short value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(short value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - long convertedValue = (long)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (long)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class SByteDataFrameColumn { public Int32DataFrameColumn Add(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } } public partial class Int16DataFrameColumn { public Int32DataFrameColumn Add(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(uint value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(ulong value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } } public partial class UInt32DataFrameColumn { public UInt32DataFrameColumn Add(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public UInt32DataFrameColumn Subtract(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public UInt32DataFrameColumn Multiply(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public UInt32DataFrameColumn Divide(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public UInt32DataFrameColumn Modulo(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(int value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(sbyte value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(short value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public UInt32DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public UInt32DataFrameColumn Subtract(uint value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public UInt32DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public UInt32DataFrameColumn Multiply(uint value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public UInt32DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public UInt32DataFrameColumn Divide(uint value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public UInt32DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public UInt32DataFrameColumn Modulo(uint value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public UInt32DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public UInt64DataFrameColumn Add(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn ReverseAdd(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseAddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn ReverseSubtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseSubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn ReverseMultiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseMultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn ReverseDivide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseDivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn ReverseModulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt32DataFrameColumn Add(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public UInt32DataFrameColumn Subtract(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public UInt32DataFrameColumn Multiply(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public UInt32DataFrameColumn Divide(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public UInt32DataFrameColumn Modulo(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt32DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - uint convertedValue = (uint)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (uint)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class UInt64DataFrameColumn { public UInt64DataFrameColumn Add(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(int value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(sbyte value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(short value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt64DataFrameColumn Add(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } public UInt64DataFrameColumn Add(ulong value, bool inPlace = false) { - return AddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public UInt64DataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { - return ReverseAddImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); } public UInt64DataFrameColumn Subtract(ulong value, bool inPlace = false) { - return SubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public UInt64DataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { - return ReverseSubtractImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); } public UInt64DataFrameColumn Multiply(ulong value, bool inPlace = false) { - return MultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public UInt64DataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { - return ReverseMultiplyImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); } public UInt64DataFrameColumn Divide(ulong value, bool inPlace = false) { - return DivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public UInt64DataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { - return ReverseDivideImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); } public UInt64DataFrameColumn Modulo(ulong value, bool inPlace = false) { - return ModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public UInt64DataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { - return ReverseModuloImplementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); } public UInt64DataFrameColumn Add(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return AddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseAddImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return SubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseSubtractImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return MultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseMultiplyImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return DivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseDivideImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt64DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { - ulong convertedValue = (ulong)value; - return ReverseModuloImplementation(convertedValue, inPlace); + var convertedValue = (ulong)value; + return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); } } public partial class UInt16DataFrameColumn { public Int32DataFrameColumn Add(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(byte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.AddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn ReverseAdd(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseAddImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.SubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn ReverseSubtract(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseSubtractImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.MultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn ReverseMultiply(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseMultiplyImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.DivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn ReverseDivide(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseDivideImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn ReverseModulo(decimal value) { - DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ReverseModuloImplementation(value, inPlace: true); + var decimalColumn = CloneAsDecimalColumn(); + return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.AddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn ReverseAdd(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseAddImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.SubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn ReverseSubtract(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseSubtractImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.MultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn ReverseMultiply(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseMultiplyImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.DivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn ReverseDivide(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseDivideImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn ReverseModulo(double value) { - DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ReverseModuloImplementation(value, inPlace: true); + var doubleColumn = CloneAsDoubleColumn(); + return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.AddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn ReverseAdd(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseAddImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.SubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn ReverseSubtract(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseSubtractImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.MultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn ReverseMultiply(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseMultiplyImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.DivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn ReverseDivide(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseDivideImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn ReverseModulo(float value) { - SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ReverseModuloImplementation(value, inPlace: true); + var floatColumn = CloneAsSingleColumn(); + return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(int value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.AddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn ReverseAdd(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseAddImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.SubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn ReverseSubtract(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseSubtractImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.MultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn ReverseMultiply(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseMultiplyImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.DivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn ReverseDivide(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseDivideImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn ReverseModulo(long value) { - Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ReverseModuloImplementation(value, inPlace: true); + var longColumn = CloneAsInt64Column(); + return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(sbyte value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(short value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.AddImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt32DataFrameColumn ReverseAdd(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseAddImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public UInt32DataFrameColumn Subtract(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.SubtractImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt32DataFrameColumn ReverseSubtract(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseSubtractImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public UInt32DataFrameColumn Multiply(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.MultiplyImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt32DataFrameColumn ReverseMultiply(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseMultiplyImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public UInt32DataFrameColumn Divide(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.DivideImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt32DataFrameColumn ReverseDivide(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseDivideImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public UInt32DataFrameColumn Modulo(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ModuloImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn ReverseModulo(uint value) { - UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ReverseModuloImplementation(value, inPlace: true); + var uintColumn = CloneAsUInt32Column(); + return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public UInt64DataFrameColumn Add(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.AddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn ReverseAdd(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseAddImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.SubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn ReverseSubtract(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseSubtractImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.MultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn ReverseMultiply(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseMultiplyImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.DivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn ReverseDivide(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseDivideImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn ReverseModulo(ulong value) { - UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ReverseModuloImplementation(value, inPlace: true); + var ulongColumn = CloneAsUInt64Column(); + return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.AddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn ReverseAdd(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseAddImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.SubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn ReverseSubtract(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseSubtractImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.MultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn ReverseMultiply(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseMultiplyImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.DivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn ReverseDivide(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseDivideImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn ReverseModulo(ushort value) { - Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ReverseModuloImplementation(value, inPlace: true); + var intColumn = CloneAsInt32Column(); + return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); } } public partial class BooleanDataFrameColumn diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt index 49a5899042..0b89e27bdb 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt @@ -91,8 +91,8 @@ void GenerateAllBinaryCombinations() { // Cases such as byte + byte resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + var other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace: true); <# } @@ -107,14 +107,14 @@ void GenerateAllBinaryCombinations() if (otherColumnTypeLevel > columnTypeLevel) { #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, column, inPlace: true); <# } else { #> - <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); + var other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); return HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace); <# } @@ -123,8 +123,8 @@ void GenerateAllBinaryCombinations() { // Cases such as byte + short resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - <#=fullReturnType#> other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + var other<#=returnType#>Column = column.CloneAs<#=capitalizedReturnType#>Column(); return <#=returnType#>Column.HandleOperationImplementation(BinaryOperation.<#=methodName#>, other<#=returnType#>Column, inPlace: true); <# } @@ -197,15 +197,15 @@ void GenerateAllBinaryScalarCombinationsForMethod() if (fullReturnType == fullColumnType) { #> - return <#=methodName#>Implementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace); <# } else { // Cases such as byte + byte resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } } @@ -219,15 +219,15 @@ void GenerateAllBinaryScalarCombinationsForMethod() if (valueTypeLevel > columnTypeLevel) { #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } else { #> - <#=returnType#> convertedValue = (<#=returnType#>)value; - return <#=methodName#>Implementation(convertedValue, inPlace); + var convertedValue = (<#=returnType#>)value; + return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, convertedValue, inPlace); <# } } @@ -235,8 +235,8 @@ void GenerateAllBinaryScalarCombinationsForMethod() { // Cases such as byte + short resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } } @@ -279,15 +279,15 @@ void GenerateAllBinaryScalarCombinationsForMethod() if (fullReturnType == fullColumnType) { #> - return <#=methodName#>Implementation(value, inPlace); + return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace); <# } else { // Cases such as byte + byte resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } } @@ -301,15 +301,15 @@ void GenerateAllBinaryScalarCombinationsForMethod() if (valueTypeLevel > columnTypeLevel) { #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } else { #> - <#=returnType#> convertedValue = (<#=returnType#>)value; - return <#=methodName#>Implementation(convertedValue, inPlace); + var convertedValue = (<#=returnType#>)value; + return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, convertedValue, inPlace); <# } } @@ -317,8 +317,8 @@ void GenerateAllBinaryScalarCombinationsForMethod() { // Cases such as byte + short resulting in int. Needs 2 clones #> - <#=fullReturnType#> <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.<#=methodName#>Implementation(value, inPlace: true); + var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); + return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); <# } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs index 47a96813dc..a2aa41f4cd 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs @@ -13,792 +13,155 @@ namespace Microsoft.Data.Analysis { public partial class DecimalDataFrameColumn { + //Binary Operations internal DecimalDataFrameColumn HandleOperationImplementation(BinaryOperation operation, DecimalDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DecimalDataFrameColumn newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal DecimalDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, decimal right) + { + var newColumn = (DecimalDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class DoubleDataFrameColumn { + //Binary Operations internal DoubleDataFrameColumn HandleOperationImplementation(BinaryOperation operation, DoubleDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - DoubleDataFrameColumn newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal DoubleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, double right) + { + var newColumn = (DoubleDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class SingleDataFrameColumn { + //Binary Operations internal SingleDataFrameColumn HandleOperationImplementation(BinaryOperation operation, SingleDataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - SingleDataFrameColumn newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal SingleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, float right) + { + var newColumn = (SingleDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class Int32DataFrameColumn { + //Binary Operations internal Int32DataFrameColumn HandleOperationImplementation(BinaryOperation operation, Int32DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int32DataFrameColumn newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal Int32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, int right) + { + var newColumn = (Int32DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class Int64DataFrameColumn { + //Binary Operations internal Int64DataFrameColumn HandleOperationImplementation(BinaryOperation operation, Int64DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - Int64DataFrameColumn newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal Int64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, long right) + { + var newColumn = (Int64DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class UInt32DataFrameColumn { + //Binary Operations internal UInt32DataFrameColumn HandleOperationImplementation(BinaryOperation operation, UInt32DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt32DataFrameColumn newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } + + //Binary Scalar Operations + internal UInt32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, uint right) + { + var newColumn = (UInt32DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); + return newColumn; + } } public partial class UInt64DataFrameColumn { + //Binary Operations internal UInt64DataFrameColumn HandleOperationImplementation(BinaryOperation operation, UInt64DataFrameColumn column, bool inPlace = false) { if (column.Length != Length) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - UInt64DataFrameColumn newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn AddImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn AddImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn AddImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn AddImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn AddImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn AddImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn AddImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.Add(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ReverseAddImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ReverseAddImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ReverseAddImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ReverseAddImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ReverseAddImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ReverseAddImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ReverseAddImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.ReverseAdd(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn SubtractImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn SubtractImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn SubtractImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn SubtractImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn SubtractImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn SubtractImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn SubtractImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.Subtract(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ReverseSubtractImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ReverseSubtractImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ReverseSubtractImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ReverseSubtractImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ReverseSubtractImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ReverseSubtractImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ReverseSubtractImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.ReverseSubtract(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn MultiplyImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn MultiplyImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn MultiplyImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn MultiplyImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn MultiplyImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn MultiplyImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn MultiplyImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.Multiply(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ReverseMultiplyImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ReverseMultiplyImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ReverseMultiplyImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ReverseMultiplyImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ReverseMultiplyImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ReverseMultiplyImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ReverseMultiplyImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.ReverseMultiply(value); - return newColumn; - } - } - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn DivideImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn DivideImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn DivideImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn DivideImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn DivideImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn DivideImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn DivideImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.Divide(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ReverseDivideImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ReverseDivideImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ReverseDivideImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ReverseDivideImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ReverseDivideImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ReverseDivideImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ReverseDivideImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.ReverseDivide(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ModuloImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ModuloImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ModuloImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ModuloImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ModuloImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ModuloImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ModuloImplementation(ulong value, bool inPlace = false) - { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.Modulo(value); - return newColumn; - } - } - - public partial class DecimalDataFrameColumn - { - internal DecimalDataFrameColumn ReverseModuloImplementation(decimal value, bool inPlace = false) - { - DecimalDataFrameColumn newColumn = inPlace ? this : CloneAsDecimalColumn(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class DoubleDataFrameColumn - { - internal DoubleDataFrameColumn ReverseModuloImplementation(double value, bool inPlace = false) - { - DoubleDataFrameColumn newColumn = inPlace ? this : CloneAsDoubleColumn(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class SingleDataFrameColumn - { - internal SingleDataFrameColumn ReverseModuloImplementation(float value, bool inPlace = false) - { - SingleDataFrameColumn newColumn = inPlace ? this : CloneAsSingleColumn(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class Int32DataFrameColumn - { - internal Int32DataFrameColumn ReverseModuloImplementation(int value, bool inPlace = false) - { - Int32DataFrameColumn newColumn = inPlace ? this : CloneAsInt32Column(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class Int64DataFrameColumn - { - internal Int64DataFrameColumn ReverseModuloImplementation(long value, bool inPlace = false) - { - Int64DataFrameColumn newColumn = inPlace ? this : CloneAsInt64Column(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class UInt32DataFrameColumn - { - internal UInt32DataFrameColumn ReverseModuloImplementation(uint value, bool inPlace = false) - { - UInt32DataFrameColumn newColumn = inPlace ? this : CloneAsUInt32Column(); - newColumn.ColumnContainer.ReverseModulo(value); - return newColumn; - } - } - - public partial class UInt64DataFrameColumn - { - internal UInt64DataFrameColumn ReverseModuloImplementation(ulong value, bool inPlace = false) + //Binary Scalar Operations + internal UInt64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, ulong right) { - UInt64DataFrameColumn newColumn = inPlace ? this : CloneAsUInt64Column(); - newColumn.ColumnContainer.ReverseModulo(value); + var newColumn = (UInt64DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt index 976bbfffde..70c0008c4a 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt @@ -56,6 +56,7 @@ void GenerateAllBinaryCombinationsForMethods() #> public partial class <#=fullColumnType#> { + //Binary Operations <# if (supportedInPlace(columnType, otherColumnType)) { @@ -75,62 +76,16 @@ void GenerateAllBinaryCombinationsForMethods() { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } - <#=fullReturnType#> newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); + var newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); newColumn.ColumnContainer.HandleOperation(operation, column.ColumnContainer); return newColumn; } - } -<# -} -} -#> -<# -// This method generates implementations where the arguments are of the same type. -void GenerateAllBinaryScalarCombinationsForMethod(string inputMethodName) -{ - foreach (TypeCombination types in BinaryOperationCombinations.binaryOperationCombinations) -{ - string returnType = types.ReturnColumnType; - string columnType = types.ThisColumnType; - string otherColumnType = types.OtherColumnType; - if (columnType != otherColumnType) - { - continue; - } - if (columnType != returnType) - { - continue; - } - Debug.Assert(returnType == otherColumnType); - - string fullColumnType = GetCapitalizedPrimitiveTypes(columnType) + "DataFrameColumn"; - string fullReturnType = fullColumnType; - string fullOtherColumnType = fullColumnType; - - string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); - string methodName = inputMethodName; - methodName += "Implementation"; -#> - public partial class <#=fullColumnType#> - { -<# - if (supportedInPlace(columnType, otherColumnType)) - { -#> - internal <#=fullReturnType#> <#=methodName#>(<#=otherColumnType#> value, bool inPlace = false) -<# - } - else - { -#> - internal <#=fullReturnType#> <#=methodName#>(<#=otherColumnType#> value) -<# - } -#> + //Binary Scalar Operations + internal <#=fullReturnType#> HandleOperationImplementation(BinaryScalarOperation operation, <#=otherColumnType#> right) { - <#=fullReturnType#> newColumn = inPlace ? this : CloneAs<#=capitalizedReturnType#>Column(); - newColumn.ColumnContainer.<#=inputMethodName#>(value); + var newColumn = (<#=fullReturnType#>)Clone(); + newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } } @@ -212,13 +167,8 @@ GenerateAllBinaryCombinationsForMethods(); foreach (MethodConfiguration method in methodConfiguration) { - // Don't generate method for Comparison, ComparisonScalar and Binary methods here - if (method.MethodType == MethodType.BinaryScalar && method.IsNumeric) - { - GenerateAllBinaryScalarCombinationsForMethod(method.MethodName); - GenerateAllBinaryScalarCombinationsForMethod("Reverse" + method.MethodName); - } - else if (method.MethodType == MethodType.Comparison) + // Don't generate Binary and BinaryScalar methods here + if (method.MethodType == MethodType.Comparison) { GenerateAllComparisonCombinationsForMethod(method.MethodName); } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs index 8a184063b8..6d2af3eb3d 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs @@ -14,6 +14,7 @@ namespace Microsoft.Data.Analysis public partial class PrimitiveDataFrameColumn : DataFrameColumn where T : unmanaged { + /// public override DataFrameColumn Add(DataFrameColumn column, bool inPlace = false) { @@ -64,6 +65,12 @@ public override DataFrameColumn Add(U value, bool inPlace = false) return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } + /// + public override DataFrameColumn ReverseAdd(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); + } + /// public override DataFrameColumn Subtract(DataFrameColumn column, bool inPlace = false) { @@ -114,6 +121,12 @@ public override DataFrameColumn Subtract(U value, bool inPlace = false) return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } + /// + public override DataFrameColumn ReverseSubtract(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); + } + /// public override DataFrameColumn Multiply(DataFrameColumn column, bool inPlace = false) { @@ -164,6 +177,12 @@ public override DataFrameColumn Multiply(U value, bool inPlace = false) return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } + /// + public override DataFrameColumn ReverseMultiply(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); + } + /// public override DataFrameColumn Divide(DataFrameColumn column, bool inPlace = false) { @@ -214,6 +233,12 @@ public override DataFrameColumn Divide(U value, bool inPlace = false) return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } + /// + public override DataFrameColumn ReverseDivide(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); + } + /// public override DataFrameColumn Modulo(DataFrameColumn column, bool inPlace = false) { @@ -264,6 +289,12 @@ public override DataFrameColumn Modulo(U value, bool inPlace = false) return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } + /// + public override DataFrameColumn ReverseModulo(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); + } + /// public override DataFrameColumn And(DataFrameColumn column, bool inPlace = false) { @@ -404,11 +435,13 @@ public override DataFrameColumn LeftShift(int value, bool inPlace = false) { return LeftShiftImplementation(value, inPlace); } + /// public override DataFrameColumn RightShift(int value, bool inPlace = false) { return RightShiftImplementation(value, inPlace); } + /// public override PrimitiveDataFrameColumn ElementwiseEquals(DataFrameColumn column) { @@ -713,7 +746,6 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(U value) return ElementwiseLessThanImplementation(value); } - internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) { switch (typeof(T)) @@ -777,6 +809,7 @@ internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) throw new NotSupportedException(); } } + internal DataFrameColumn RightShiftImplementation(int value, bool inPlace) { switch (typeof(T)) @@ -840,6 +873,7 @@ internal DataFrameColumn RightShiftImplementation(int value, bool inPlace) throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -915,6 +949,7 @@ internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(Primi throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(U value) { switch (typeof(T)) @@ -985,6 +1020,7 @@ internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(U val throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1060,6 +1096,7 @@ internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(Pr throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(U value) { switch (typeof(T)) @@ -1130,6 +1167,7 @@ internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(U throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1197,6 +1235,7 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementat throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(U value) { switch (typeof(T)) @@ -1259,6 +1298,7 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementat throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1326,6 +1366,7 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(U value) { switch (typeof(T)) @@ -1388,6 +1429,7 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1455,6 +1497,7 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation( throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(U value) { switch (typeof(T)) @@ -1517,6 +1560,7 @@ internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation( throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { @@ -1584,6 +1628,7 @@ internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(Pri throw new NotSupportedException(); } } + internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(U value) { switch (typeof(T)) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt index 680ab880f7..b16972263b 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt @@ -23,9 +23,11 @@ namespace Microsoft.Data.Analysis <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Binary || method.MethodType == MethodType.Comparison) {#> <# if (method.MethodType == MethodType.Binary) {#> + /// public override DataFrameColumn <#=method.MethodName#>(DataFrameColumn column, bool inPlace = false) <# } else { #> + /// public override PrimitiveDataFrameColumn <#=method.MethodName#>(DataFrameColumn column) <# } #> @@ -53,45 +55,50 @@ namespace Microsoft.Data.Analysis throw new NotSupportedException(); } } - <# } #> -<# if (method.MethodType == MethodType.BinaryScalar || method.MethodType == MethodType.ComparisonScalar) {#> <# if (method.MethodType == MethodType.BinaryScalar) {#> <# if (method.IsBitwise == true) { #> + /// public override PrimitiveDataFrameColumn <#=method.MethodName#>(bool value, bool inPlace = false) + { + return HandleBitwiseOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); + } <# } else { #> + /// public override DataFrameColumn <#=method.MethodName#>(U value, bool inPlace = false) -<# } #> -<# } else {#> - /// - public override PrimitiveDataFrameColumn <#=method.MethodName#>(U value) -<# } #> { -<# if (method.MethodType == MethodType.BinaryScalar) {#> -<# if (method.IsBitwise == true) { #> - return HandleBitwiseOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); -<# } else { #> DataFrameColumn column = value as DataFrameColumn; if (column != null) { return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); + } + + /// + public override DataFrameColumn Reverse<#=method.MethodName#>(U value, bool inPlace = false) + { + return HandleReverseOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); + } +<# } #> <# } #> -<# } else {#> +<# if (method.MethodType == MethodType.ComparisonScalar) {#> + + /// + public override PrimitiveDataFrameColumn <#=method.MethodName#>(U value) + { DataFrameColumn column = value as DataFrameColumn; if (column != null) { return <#=method.MethodName#>(column); } return <#=method.MethodName#>Implementation(value); -<# } #> } - <# } #> <# if (method.MethodType == MethodType.BinaryInt ) {#> + /// public override DataFrameColumn <#=method.MethodName#>(int value, bool inPlace = false) { @@ -99,17 +106,19 @@ namespace Microsoft.Data.Analysis } <# } #> <# } #> - <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> <# if (method.MethodType == MethodType.ComparisonScalar) {#> + internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value) <# } #> <# if (method.MethodType == MethodType.Comparison) {#> + internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column) where U : unmanaged <# } #> <# if (method.MethodType == MethodType.BinaryInt ) {#> + internal DataFrameColumn <#=method.MethodName#>Implementation(int value, bool inPlace) <# } #> { diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.cs deleted file mode 100644 index 3cc07217e3..0000000000 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.cs +++ /dev/null @@ -1,433 +0,0 @@ - -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -// Generated from PrimitiveDataFrameColumn.ReversedBinaryOperations.tt. Do not modify directly - -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; - -namespace Microsoft.Data.Analysis -{ - public partial class PrimitiveDataFrameColumn : DataFrameColumn - where T : unmanaged - { - - /// - public override DataFrameColumn ReverseAdd(U value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseAdd(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.ReverseAdd(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } - case PrimitiveDataFrameColumn byteColumn: - case PrimitiveDataFrameColumn charColumn: - case PrimitiveDataFrameColumn doubleColumn: - case PrimitiveDataFrameColumn floatColumn: - case PrimitiveDataFrameColumn intColumn: - case PrimitiveDataFrameColumn longColumn: - case PrimitiveDataFrameColumn sbyteColumn: - case PrimitiveDataFrameColumn shortColumn: - case PrimitiveDataFrameColumn uintColumn: - case PrimitiveDataFrameColumn ulongColumn: - case PrimitiveDataFrameColumn ushortColumn: - case PrimitiveDataFrameColumn DateTimeColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseAdd(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.ReverseAdd(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.ReverseAdd(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - /// - public override DataFrameColumn ReverseSubtract(U value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseSubtract(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.ReverseSubtract(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } - case PrimitiveDataFrameColumn byteColumn: - case PrimitiveDataFrameColumn charColumn: - case PrimitiveDataFrameColumn doubleColumn: - case PrimitiveDataFrameColumn floatColumn: - case PrimitiveDataFrameColumn intColumn: - case PrimitiveDataFrameColumn longColumn: - case PrimitiveDataFrameColumn sbyteColumn: - case PrimitiveDataFrameColumn shortColumn: - case PrimitiveDataFrameColumn uintColumn: - case PrimitiveDataFrameColumn ulongColumn: - case PrimitiveDataFrameColumn ushortColumn: - case PrimitiveDataFrameColumn DateTimeColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseSubtract(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.ReverseSubtract(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.ReverseSubtract(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - /// - public override DataFrameColumn ReverseMultiply(U value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseMultiply(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.ReverseMultiply(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } - case PrimitiveDataFrameColumn byteColumn: - case PrimitiveDataFrameColumn charColumn: - case PrimitiveDataFrameColumn doubleColumn: - case PrimitiveDataFrameColumn floatColumn: - case PrimitiveDataFrameColumn intColumn: - case PrimitiveDataFrameColumn longColumn: - case PrimitiveDataFrameColumn sbyteColumn: - case PrimitiveDataFrameColumn shortColumn: - case PrimitiveDataFrameColumn uintColumn: - case PrimitiveDataFrameColumn ulongColumn: - case PrimitiveDataFrameColumn ushortColumn: - case PrimitiveDataFrameColumn DateTimeColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseMultiply(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.ReverseMultiply(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.ReverseMultiply(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - /// - public override DataFrameColumn ReverseDivide(U value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseDivide(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.ReverseDivide(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } - case PrimitiveDataFrameColumn byteColumn: - case PrimitiveDataFrameColumn charColumn: - case PrimitiveDataFrameColumn doubleColumn: - case PrimitiveDataFrameColumn floatColumn: - case PrimitiveDataFrameColumn intColumn: - case PrimitiveDataFrameColumn longColumn: - case PrimitiveDataFrameColumn sbyteColumn: - case PrimitiveDataFrameColumn shortColumn: - case PrimitiveDataFrameColumn uintColumn: - case PrimitiveDataFrameColumn ulongColumn: - case PrimitiveDataFrameColumn ushortColumn: - case PrimitiveDataFrameColumn DateTimeColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseDivide(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.ReverseDivide(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.ReverseDivide(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - /// - public override DataFrameColumn ReverseModulo(U value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseModulo(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.ReverseModulo(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } - case PrimitiveDataFrameColumn byteColumn: - case PrimitiveDataFrameColumn charColumn: - case PrimitiveDataFrameColumn doubleColumn: - case PrimitiveDataFrameColumn floatColumn: - case PrimitiveDataFrameColumn intColumn: - case PrimitiveDataFrameColumn longColumn: - case PrimitiveDataFrameColumn sbyteColumn: - case PrimitiveDataFrameColumn shortColumn: - case PrimitiveDataFrameColumn uintColumn: - case PrimitiveDataFrameColumn ulongColumn: - case PrimitiveDataFrameColumn ushortColumn: - case PrimitiveDataFrameColumn DateTimeColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.ReverseModulo(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.ReverseModulo(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.ReverseModulo(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } - } - /// - public override PrimitiveDataFrameColumn ReverseAnd(bool value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - PrimitiveDataFrameColumn retColumn = inPlace ? boolColumn : boolColumn.Clone(); - retColumn._columnContainer.ReverseAnd(value); - return retColumn; - default: - throw new NotSupportedException(); - } - } - /// - public override PrimitiveDataFrameColumn ReverseOr(bool value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - PrimitiveDataFrameColumn retColumn = inPlace ? boolColumn : boolColumn.Clone(); - retColumn._columnContainer.ReverseOr(value); - return retColumn; - default: - throw new NotSupportedException(); - } - } - /// - public override PrimitiveDataFrameColumn ReverseXor(bool value, bool inPlace = false) - { - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - PrimitiveDataFrameColumn retColumn = inPlace ? boolColumn : boolColumn.Clone(); - retColumn._columnContainer.ReverseXor(value); - return retColumn; - default: - throw new NotSupportedException(); - } - } - } -} diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.tt deleted file mode 100644 index 6bb592486e..0000000000 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.ReversedBinaryOperations.tt +++ /dev/null @@ -1,116 +0,0 @@ -<#@ template debug="false" hostspecific="false" language="C#" #> -<#@ assembly name="System.Core" #> -<#@ import namespace="System.Linq" #> -<#@ import namespace="System.Text" #> -<#@ import namespace="System.Collections.Generic" #> -<#@ output extension=".cs" #> -<#@ include file="ColumnArithmeticTemplate.ttinclude" #> -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -// Generated from PrimitiveDataFrameColumn.ReversedBinaryOperations.tt. Do not modify directly - -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; - -namespace Microsoft.Data.Analysis -{ - public partial class PrimitiveDataFrameColumn : DataFrameColumn - where T : unmanaged - { - -<# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.BinaryScalar) {#> -<# if (method.IsBitwise == true) { #> - /// - public override PrimitiveDataFrameColumn Reverse<#=method.MethodName#>(bool value, bool inPlace = false) -<# } else { #> - /// - public override DataFrameColumn Reverse<#=method.MethodName#>(U value, bool inPlace = false) -<# } #> - { -<# if (method.IsBitwise == true) { #> - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - PrimitiveDataFrameColumn retColumn = inPlace ? boolColumn : boolColumn.Clone(); - retColumn._columnContainer.Reverse<#=method.MethodName#>(value); - return retColumn; - default: - throw new NotSupportedException(); - } -<# } else { #> - switch (this) - { - case PrimitiveDataFrameColumn boolColumn: - throw new NotSupportedException(); - case PrimitiveDataFrameColumn decimalColumn: - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.Reverse<#=method.MethodName#>(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); - clonedDecimalColumn._columnContainer.Reverse<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value)); - return clonedDecimalColumn; - } -<# foreach (TypeConfiguration type in typeConfiguration) { #> -<# if (type.TypeName == "bool") { #> -<# } else if (type.TypeName == "decimal") { #> -<# } else { #> - case PrimitiveDataFrameColumn<<#=type.TypeName#>> <#=type.TypeName#>Column: -<# } #> -<# } #> - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); - newColumn._columnContainer.Reverse<#=method.MethodName#>(Unsafe.As(ref value)); - return newColumn; - } - else - { - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.Reverse<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; - } - else - { - PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); - clonedDoubleColumn._columnContainer.Reverse<#=method.MethodName#>(DoubleConverter.Instance.GetDouble(value)); - return clonedDoubleColumn; - } - } - default: - throw new NotSupportedException(); - } -<# } #> - } -<# } #> -<# } #> - } -} diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index ff2284edf9..647b61c376 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -1053,6 +1053,82 @@ internal DataFrameColumn HandleOperationImplementation(BinaryScalarOperation } } + internal DataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, U value, bool inPlace = false) + { + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + throw new NotSupportedException(); + case Type decimalType when decimalType == typeof(decimal): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); + newColumn._columnContainer.HandleReverseOperation(operation, Unsafe.As(ref value)); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); + } + PrimitiveDataFrameColumn clonedDecimalColumn = CloneAsDecimalColumn(); + clonedDecimalColumn._columnContainer.HandleReverseOperation(operation, DecimalConverter.Instance.GetDecimal(value)); + return clonedDecimalColumn; + } + case Type DateTimeType when DateTimeType == typeof(DateTime): + throw new NotSupportedException(); + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn newColumn = inPlace ? this : Clone(); + newColumn._columnContainer.HandleReverseOperation(operation, Unsafe.As(ref value)); + return newColumn; + } + else + { + if (inPlace) + { + throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); + } + if (typeof(U) == typeof(decimal)) + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + decimalColumn._columnContainer.HandleReverseOperation(operation, DecimalConverter.Instance.GetDecimal(value)); + return decimalColumn; + } + else + { + PrimitiveDataFrameColumn clonedDoubleColumn = CloneAsDoubleColumn(); + clonedDoubleColumn._columnContainer.HandleReverseOperation(operation, DoubleConverter.Instance.GetDouble(value)); + return clonedDoubleColumn; + } + } + default: + throw new NotSupportedException(); + } + } + internal PrimitiveDataFrameColumn HandleBitwiseOperationImplementation(BinaryScalarOperation operation, U value, bool inPlace) { switch (typeof(T)) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 415d5e472f..2634fd88a6 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -14,7 +14,7 @@ internal interface IPrimitiveDataFrameColumnArithmetic { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); void HandleOperation(BinaryScalarOperation operation, Span left, T right); - void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity); + void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); void LeftShift(PrimitiveColumnContainer column, int value); void RightShift(PrimitiveColumnContainer column, int value); @@ -85,7 +85,7 @@ public virtual void HandleOperation(BinaryScalarOperation operation, Span lef Xor(left, right); } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity) + public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right, Span rightValidity) { if (operation == BinaryScalarOperation.Divide) { @@ -108,6 +108,29 @@ public virtual void HandleOperation(BinaryScalarOperation operation, T left, Spa Xor(left, right); } + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + { + if (operation == BinaryScalarOperation.Divide) + { + Divide(left, right, rightValidity); + return; + } + else if (operation == BinaryScalarOperation.Add) + Add(left, right); + else if (operation == BinaryScalarOperation.Subtract) + Subtract(left, right); + else if (operation == BinaryScalarOperation.Multiply) + Multiply(left, right); + else if (operation == BinaryScalarOperation.Modulo) + Modulo(left, right); + else if (operation == BinaryScalarOperation.And) + And(left, right); + else if (operation == BinaryScalarOperation.Or) + Or(left, right); + else if (operation == BinaryScalarOperation.Xor) + Xor(left, right); + } + public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Add(Span left, T scalar) => throw new NotSupportedException(); public virtual void Add(T left, Span right) => throw new NotSupportedException(); @@ -119,7 +142,7 @@ public virtual void HandleOperation(BinaryScalarOperation operation, T left, Spa public virtual void Multiply(T left, Span right) => throw new NotSupportedException(); public virtual void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); public virtual void Divide(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Divide(T left, Span right, Span rightValidity) => throw new NotSupportedException(); + public virtual void Divide(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); public virtual void Modulo(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Modulo(Span left, T scalar) => throw new NotSupportedException(); public virtual void Modulo(T left, Span right) => throw new NotSupportedException(); @@ -374,7 +397,7 @@ public override void Divide(Span left, byte right) left[i] = (byte)(left[i] / right); } - public override void Divide(byte left, Span right, Span rightValidity) + public override void Divide(byte left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -734,7 +757,7 @@ public override void Divide(Span left, char right) left[i] = (char)(left[i] / right); } - public override void Divide(char left, Span right, Span rightValidity) + public override void Divide(char left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1094,7 +1117,7 @@ public override void Divide(Span left, decimal right) left[i] = (decimal)(left[i] / right); } - public override void Divide(decimal left, Span right, Span rightValidity) + public override void Divide(decimal left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1377,7 +1400,7 @@ public override void Divide(Span left, double right) left[i] = (double)(left[i] / right); } - public override void Divide(double left, Span right, Span rightValidity) + public override void Divide(double left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1660,7 +1683,7 @@ public override void Divide(Span left, float right) left[i] = (float)(left[i] / right); } - public override void Divide(float left, Span right, Span rightValidity) + public override void Divide(float left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1943,7 +1966,7 @@ public override void Divide(Span left, int right) left[i] = (int)(left[i] / right); } - public override void Divide(int left, Span right, Span rightValidity) + public override void Divide(int left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2303,7 +2326,7 @@ public override void Divide(Span left, long right) left[i] = (long)(left[i] / right); } - public override void Divide(long left, Span right, Span rightValidity) + public override void Divide(long left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2663,7 +2686,7 @@ public override void Divide(Span left, sbyte right) left[i] = (sbyte)(left[i] / right); } - public override void Divide(sbyte left, Span right, Span rightValidity) + public override void Divide(sbyte left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -3023,7 +3046,7 @@ public override void Divide(Span left, short right) left[i] = (short)(left[i] / right); } - public override void Divide(short left, Span right, Span rightValidity) + public override void Divide(short left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -3383,7 +3406,7 @@ public override void Divide(Span left, uint right) left[i] = (uint)(left[i] / right); } - public override void Divide(uint left, Span right, Span rightValidity) + public override void Divide(uint left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -3743,7 +3766,7 @@ public override void Divide(Span left, ulong right) left[i] = (ulong)(left[i] / right); } - public override void Divide(ulong left, Span right, Span rightValidity) + public override void Divide(ulong left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -4103,7 +4126,7 @@ public override void Divide(Span left, ushort right) left[i] = (ushort)(left[i] / right); } - public override void Divide(ushort left, Span right, Span rightValidity) + public override void Divide(ushort left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index b5e02d4264..04c1462d3a 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -21,7 +21,7 @@ namespace Microsoft.Data.Analysis { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); void HandleOperation(BinaryScalarOperation operation, Span left, T right); - void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity); + void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> @@ -77,7 +77,7 @@ namespace Microsoft.Data.Analysis <# } #> } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, Span rightValidity) + public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right, Span rightValidity) { if (operation == BinaryScalarOperation.Divide) { @@ -91,6 +91,23 @@ namespace Microsoft.Data.Analysis <#=method.MethodName#>(left, right); <# } #> <# } #> +<# } #> + } + + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + { + if (operation == BinaryScalarOperation.Divide) + { + Divide(left, right, rightValidity); + return; + } +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.BinaryScalar) { #> +<# if (method.MethodName != "Divide") { #> + else if (operation == BinaryScalarOperation.<#=method.MethodName#>) + <#=method.MethodName#>(left, right); +<# } #> +<# } #> <# } #> } @@ -112,7 +129,7 @@ namespace Microsoft.Data.Analysis <# else if (method.MethodType == MethodType.BinaryScalar) { #> public virtual void <#=method.MethodName#>(Span left, T scalar) => throw new NotSupportedException(); <# if (method.MethodName == "Divide") { #> - public virtual void <#=method.MethodName#>(T left, Span right, Span rightValidity) => throw new NotSupportedException(); + public virtual void <#=method.MethodName#>(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); <# } #> <# else { #> public virtual void <#=method.MethodName#>(T left, Span right) => throw new NotSupportedException(); @@ -182,7 +199,7 @@ namespace Microsoft.Data.Analysis } <# if (method.MethodName == "Divide") { #> - public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, Span rightValidity) + public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { From 59ddfe466a6a41aea6a3ae7ee844b89d1d2d1ae9 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 28 Sep 2023 11:43:32 +0300 Subject: [PATCH 37/44] Implement Binary Scalar Reverse Operarions --- ...umn.BinaryOperationAPIs.ExplodedColumns.cs | 1226 +++++++++-------- ...umn.BinaryOperationAPIs.ExplodedColumns.tt | 20 +- ...BinaryOperationImplementations.Exploded.cs | 84 +- ...BinaryOperationImplementations.Exploded.tt | 12 +- 4 files changed, 742 insertions(+), 600 deletions(-) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs index 61232620f7..2aecbaeed2 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs @@ -11,6 +11,7 @@ namespace Microsoft.Data.Analysis { + public partial class ByteDataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) @@ -309,6 +310,7 @@ public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } + public partial class DecimalDataFrameColumn { public DecimalDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -532,6 +534,7 @@ public DecimalDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace return HandleOperationImplementation(BinaryOperation.Modulo, otherdecimalColumn, inPlace); } } + public partial class DoubleDataFrameColumn { public DoubleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -780,6 +783,7 @@ public DoubleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otherdoubleColumn, inPlace); } } + public partial class SingleDataFrameColumn { public SingleDataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -1028,6 +1032,7 @@ public SingleDataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otherfloatColumn, inPlace); } } + public partial class Int32DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -1311,6 +1316,7 @@ public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace); } } + public partial class Int64DataFrameColumn { public Int64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -1559,6 +1565,7 @@ public Int64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otherlongColumn, inPlace); } } + public partial class SByteDataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) @@ -1867,6 +1874,7 @@ public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } + public partial class Int16DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) @@ -2175,6 +2183,7 @@ public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } + public partial class UInt32DataFrameColumn { public UInt32DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -2463,6 +2472,7 @@ public UInt32DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otheruintColumn, inPlace); } } + public partial class UInt64DataFrameColumn { public UInt64DataFrameColumn Add(ByteDataFrameColumn column, bool inPlace = false) @@ -2726,6 +2736,7 @@ public UInt64DataFrameColumn Modulo(UInt16DataFrameColumn column, bool inPlace = return HandleOperationImplementation(BinaryOperation.Modulo, otherulongColumn, inPlace); } } + public partial class UInt16DataFrameColumn { public Int32DataFrameColumn Add(ByteDataFrameColumn column) @@ -3024,6 +3035,7 @@ public Int32DataFrameColumn Modulo(UInt16DataFrameColumn column) return intColumn.HandleOperationImplementation(BinaryOperation.Modulo, otherintColumn, inPlace: true); } } + public partial class ByteDataFrameColumn { public Int32DataFrameColumn Add(byte value) @@ -3034,7 +3046,7 @@ public Int32DataFrameColumn Add(byte value) public Int32DataFrameColumn ReverseAdd(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { @@ -3044,7 +3056,7 @@ public Int32DataFrameColumn Subtract(byte value) public Int32DataFrameColumn ReverseSubtract(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { @@ -3054,7 +3066,7 @@ public Int32DataFrameColumn Multiply(byte value) public Int32DataFrameColumn ReverseMultiply(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { @@ -3064,7 +3076,7 @@ public Int32DataFrameColumn Divide(byte value) public Int32DataFrameColumn ReverseDivide(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { @@ -3074,7 +3086,7 @@ public Int32DataFrameColumn Modulo(byte value) public Int32DataFrameColumn ReverseModulo(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { @@ -3084,7 +3096,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -3094,7 +3106,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -3104,7 +3116,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -3114,7 +3126,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -3124,7 +3136,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -3134,7 +3146,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -3144,7 +3156,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -3154,7 +3166,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -3164,7 +3176,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -3174,7 +3186,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -3184,7 +3196,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -3194,7 +3206,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -3204,7 +3216,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -3214,7 +3226,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -3224,7 +3236,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { @@ -3234,7 +3246,7 @@ public Int32DataFrameColumn Add(int value) public Int32DataFrameColumn ReverseAdd(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { @@ -3244,7 +3256,7 @@ public Int32DataFrameColumn Subtract(int value) public Int32DataFrameColumn ReverseSubtract(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { @@ -3254,7 +3266,7 @@ public Int32DataFrameColumn Multiply(int value) public Int32DataFrameColumn ReverseMultiply(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { @@ -3264,7 +3276,7 @@ public Int32DataFrameColumn Divide(int value) public Int32DataFrameColumn ReverseDivide(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { @@ -3274,7 +3286,7 @@ public Int32DataFrameColumn Modulo(int value) public Int32DataFrameColumn ReverseModulo(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { @@ -3284,7 +3296,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -3294,7 +3306,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -3304,7 +3316,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -3314,7 +3326,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -3324,7 +3336,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { @@ -3334,7 +3346,7 @@ public Int32DataFrameColumn Add(sbyte value) public Int32DataFrameColumn ReverseAdd(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { @@ -3344,7 +3356,7 @@ public Int32DataFrameColumn Subtract(sbyte value) public Int32DataFrameColumn ReverseSubtract(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { @@ -3354,7 +3366,7 @@ public Int32DataFrameColumn Multiply(sbyte value) public Int32DataFrameColumn ReverseMultiply(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { @@ -3364,7 +3376,7 @@ public Int32DataFrameColumn Divide(sbyte value) public Int32DataFrameColumn ReverseDivide(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { @@ -3374,7 +3386,7 @@ public Int32DataFrameColumn Modulo(sbyte value) public Int32DataFrameColumn ReverseModulo(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { @@ -3384,7 +3396,7 @@ public Int32DataFrameColumn Add(short value) public Int32DataFrameColumn ReverseAdd(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { @@ -3394,7 +3406,7 @@ public Int32DataFrameColumn Subtract(short value) public Int32DataFrameColumn ReverseSubtract(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { @@ -3404,7 +3416,7 @@ public Int32DataFrameColumn Multiply(short value) public Int32DataFrameColumn ReverseMultiply(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { @@ -3414,7 +3426,7 @@ public Int32DataFrameColumn Divide(short value) public Int32DataFrameColumn ReverseDivide(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { @@ -3424,7 +3436,7 @@ public Int32DataFrameColumn Modulo(short value) public Int32DataFrameColumn ReverseModulo(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value) { @@ -3434,7 +3446,7 @@ public UInt32DataFrameColumn Add(uint value) public UInt32DataFrameColumn ReverseAdd(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt32DataFrameColumn Subtract(uint value) { @@ -3444,7 +3456,7 @@ public UInt32DataFrameColumn Subtract(uint value) public UInt32DataFrameColumn ReverseSubtract(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt32DataFrameColumn Multiply(uint value) { @@ -3454,7 +3466,7 @@ public UInt32DataFrameColumn Multiply(uint value) public UInt32DataFrameColumn ReverseMultiply(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt32DataFrameColumn Divide(uint value) { @@ -3464,7 +3476,7 @@ public UInt32DataFrameColumn Divide(uint value) public UInt32DataFrameColumn ReverseDivide(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt32DataFrameColumn Modulo(uint value) { @@ -3474,7 +3486,7 @@ public UInt32DataFrameColumn Modulo(uint value) public UInt32DataFrameColumn ReverseModulo(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn Add(ulong value) { @@ -3484,7 +3496,7 @@ public UInt64DataFrameColumn Add(ulong value) public UInt64DataFrameColumn ReverseAdd(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { @@ -3494,7 +3506,7 @@ public UInt64DataFrameColumn Subtract(ulong value) public UInt64DataFrameColumn ReverseSubtract(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { @@ -3504,7 +3516,7 @@ public UInt64DataFrameColumn Multiply(ulong value) public UInt64DataFrameColumn ReverseMultiply(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { @@ -3514,7 +3526,7 @@ public UInt64DataFrameColumn Divide(ulong value) public UInt64DataFrameColumn ReverseDivide(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { @@ -3524,7 +3536,7 @@ public UInt64DataFrameColumn Modulo(ulong value) public UInt64DataFrameColumn ReverseModulo(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { @@ -3534,7 +3546,7 @@ public Int32DataFrameColumn Add(ushort value) public Int32DataFrameColumn ReverseAdd(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { @@ -3544,7 +3556,7 @@ public Int32DataFrameColumn Subtract(ushort value) public Int32DataFrameColumn ReverseSubtract(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { @@ -3554,7 +3566,7 @@ public Int32DataFrameColumn Multiply(ushort value) public Int32DataFrameColumn ReverseMultiply(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { @@ -3564,7 +3576,7 @@ public Int32DataFrameColumn Divide(ushort value) public Int32DataFrameColumn ReverseDivide(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { @@ -3574,9 +3586,10 @@ public Int32DataFrameColumn Modulo(ushort value) public Int32DataFrameColumn ReverseModulo(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } } + public partial class DecimalDataFrameColumn { public DecimalDataFrameColumn Add(byte value, bool inPlace = false) @@ -3587,7 +3600,7 @@ public DecimalDataFrameColumn Add(byte value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -3597,7 +3610,7 @@ public DecimalDataFrameColumn Subtract(byte value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -3607,7 +3620,7 @@ public DecimalDataFrameColumn Multiply(byte value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(byte value, bool inPlace = false) { @@ -3617,7 +3630,7 @@ public DecimalDataFrameColumn Divide(byte value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -3627,7 +3640,7 @@ public DecimalDataFrameColumn Modulo(byte value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value, bool inPlace = false) { @@ -3635,7 +3648,7 @@ public DecimalDataFrameColumn Add(decimal value, bool inPlace = false) } public DecimalDataFrameColumn ReverseAdd(decimal value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public DecimalDataFrameColumn Subtract(decimal value, bool inPlace = false) { @@ -3643,7 +3656,7 @@ public DecimalDataFrameColumn Subtract(decimal value, bool inPlace = false) } public DecimalDataFrameColumn ReverseSubtract(decimal value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public DecimalDataFrameColumn Multiply(decimal value, bool inPlace = false) { @@ -3651,7 +3664,7 @@ public DecimalDataFrameColumn Multiply(decimal value, bool inPlace = false) } public DecimalDataFrameColumn ReverseMultiply(decimal value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public DecimalDataFrameColumn Divide(decimal value, bool inPlace = false) { @@ -3659,7 +3672,7 @@ public DecimalDataFrameColumn Divide(decimal value, bool inPlace = false) } public DecimalDataFrameColumn ReverseDivide(decimal value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public DecimalDataFrameColumn Modulo(decimal value, bool inPlace = false) { @@ -3667,7 +3680,7 @@ public DecimalDataFrameColumn Modulo(decimal value, bool inPlace = false) } public DecimalDataFrameColumn ReverseModulo(decimal value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public DecimalDataFrameColumn Add(int value, bool inPlace = false) { @@ -3677,7 +3690,7 @@ public DecimalDataFrameColumn Add(int value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(int value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(int value, bool inPlace = false) { @@ -3687,7 +3700,7 @@ public DecimalDataFrameColumn Subtract(int value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(int value, bool inPlace = false) { @@ -3697,7 +3710,7 @@ public DecimalDataFrameColumn Multiply(int value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(int value, bool inPlace = false) { @@ -3707,7 +3720,7 @@ public DecimalDataFrameColumn Divide(int value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(int value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(int value, bool inPlace = false) { @@ -3717,7 +3730,7 @@ public DecimalDataFrameColumn Modulo(int value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(int value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(long value, bool inPlace = false) { @@ -3727,7 +3740,7 @@ public DecimalDataFrameColumn Add(long value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(long value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(long value, bool inPlace = false) { @@ -3737,7 +3750,7 @@ public DecimalDataFrameColumn Subtract(long value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(long value, bool inPlace = false) { @@ -3747,7 +3760,7 @@ public DecimalDataFrameColumn Multiply(long value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(long value, bool inPlace = false) { @@ -3757,7 +3770,7 @@ public DecimalDataFrameColumn Divide(long value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(long value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(long value, bool inPlace = false) { @@ -3767,7 +3780,7 @@ public DecimalDataFrameColumn Modulo(long value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(long value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(sbyte value, bool inPlace = false) { @@ -3777,7 +3790,7 @@ public DecimalDataFrameColumn Add(sbyte value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(sbyte value, bool inPlace = false) { @@ -3787,7 +3800,7 @@ public DecimalDataFrameColumn Subtract(sbyte value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(sbyte value, bool inPlace = false) { @@ -3797,7 +3810,7 @@ public DecimalDataFrameColumn Multiply(sbyte value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(sbyte value, bool inPlace = false) { @@ -3807,7 +3820,7 @@ public DecimalDataFrameColumn Divide(sbyte value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(sbyte value, bool inPlace = false) { @@ -3817,7 +3830,7 @@ public DecimalDataFrameColumn Modulo(sbyte value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(short value, bool inPlace = false) { @@ -3827,7 +3840,7 @@ public DecimalDataFrameColumn Add(short value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(short value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(short value, bool inPlace = false) { @@ -3837,7 +3850,7 @@ public DecimalDataFrameColumn Subtract(short value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(short value, bool inPlace = false) { @@ -3847,7 +3860,7 @@ public DecimalDataFrameColumn Multiply(short value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(short value, bool inPlace = false) { @@ -3857,7 +3870,7 @@ public DecimalDataFrameColumn Divide(short value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(short value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(short value, bool inPlace = false) { @@ -3867,7 +3880,7 @@ public DecimalDataFrameColumn Modulo(short value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(short value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(uint value, bool inPlace = false) { @@ -3877,7 +3890,7 @@ public DecimalDataFrameColumn Add(uint value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -3887,7 +3900,7 @@ public DecimalDataFrameColumn Subtract(uint value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -3897,7 +3910,7 @@ public DecimalDataFrameColumn Multiply(uint value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(uint value, bool inPlace = false) { @@ -3907,7 +3920,7 @@ public DecimalDataFrameColumn Divide(uint value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -3917,7 +3930,7 @@ public DecimalDataFrameColumn Modulo(uint value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(ulong value, bool inPlace = false) { @@ -3927,7 +3940,7 @@ public DecimalDataFrameColumn Add(ulong value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(ulong value, bool inPlace = false) { @@ -3937,7 +3950,7 @@ public DecimalDataFrameColumn Subtract(ulong value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(ulong value, bool inPlace = false) { @@ -3947,7 +3960,7 @@ public DecimalDataFrameColumn Multiply(ulong value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(ulong value, bool inPlace = false) { @@ -3957,7 +3970,7 @@ public DecimalDataFrameColumn Divide(ulong value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(ulong value, bool inPlace = false) { @@ -3967,7 +3980,7 @@ public DecimalDataFrameColumn Modulo(ulong value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(ushort value, bool inPlace = false) { @@ -3977,7 +3990,7 @@ public DecimalDataFrameColumn Add(ushort value, bool inPlace = false) public DecimalDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DecimalDataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -3987,7 +4000,7 @@ public DecimalDataFrameColumn Subtract(ushort value, bool inPlace = false) public DecimalDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DecimalDataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -3997,7 +4010,7 @@ public DecimalDataFrameColumn Multiply(ushort value, bool inPlace = false) public DecimalDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DecimalDataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -4007,7 +4020,7 @@ public DecimalDataFrameColumn Divide(ushort value, bool inPlace = false) public DecimalDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DecimalDataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -4017,9 +4030,10 @@ public DecimalDataFrameColumn Modulo(ushort value, bool inPlace = false) public DecimalDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (decimal)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class DoubleDataFrameColumn { public DoubleDataFrameColumn Add(byte value, bool inPlace = false) @@ -4030,7 +4044,7 @@ public DoubleDataFrameColumn Add(byte value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -4040,7 +4054,7 @@ public DoubleDataFrameColumn Subtract(byte value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -4050,7 +4064,7 @@ public DoubleDataFrameColumn Multiply(byte value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(byte value, bool inPlace = false) { @@ -4060,7 +4074,7 @@ public DoubleDataFrameColumn Divide(byte value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -4070,7 +4084,7 @@ public DoubleDataFrameColumn Modulo(byte value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(double value, bool inPlace = false) { @@ -4078,7 +4092,7 @@ public DoubleDataFrameColumn Add(double value, bool inPlace = false) } public DoubleDataFrameColumn ReverseAdd(double value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public DoubleDataFrameColumn Subtract(double value, bool inPlace = false) { @@ -4086,7 +4100,7 @@ public DoubleDataFrameColumn Subtract(double value, bool inPlace = false) } public DoubleDataFrameColumn ReverseSubtract(double value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public DoubleDataFrameColumn Multiply(double value, bool inPlace = false) { @@ -4094,7 +4108,7 @@ public DoubleDataFrameColumn Multiply(double value, bool inPlace = false) } public DoubleDataFrameColumn ReverseMultiply(double value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public DoubleDataFrameColumn Divide(double value, bool inPlace = false) { @@ -4102,7 +4116,7 @@ public DoubleDataFrameColumn Divide(double value, bool inPlace = false) } public DoubleDataFrameColumn ReverseDivide(double value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public DoubleDataFrameColumn Modulo(double value, bool inPlace = false) { @@ -4110,7 +4124,7 @@ public DoubleDataFrameColumn Modulo(double value, bool inPlace = false) } public DoubleDataFrameColumn ReverseModulo(double value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public DoubleDataFrameColumn Add(float value, bool inPlace = false) { @@ -4120,7 +4134,7 @@ public DoubleDataFrameColumn Add(float value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(float value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(float value, bool inPlace = false) { @@ -4130,7 +4144,7 @@ public DoubleDataFrameColumn Subtract(float value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(float value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(float value, bool inPlace = false) { @@ -4140,7 +4154,7 @@ public DoubleDataFrameColumn Multiply(float value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(float value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(float value, bool inPlace = false) { @@ -4150,7 +4164,7 @@ public DoubleDataFrameColumn Divide(float value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(float value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(float value, bool inPlace = false) { @@ -4160,7 +4174,7 @@ public DoubleDataFrameColumn Modulo(float value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(float value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(int value, bool inPlace = false) { @@ -4170,7 +4184,7 @@ public DoubleDataFrameColumn Add(int value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(int value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(int value, bool inPlace = false) { @@ -4180,7 +4194,7 @@ public DoubleDataFrameColumn Subtract(int value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(int value, bool inPlace = false) { @@ -4190,7 +4204,7 @@ public DoubleDataFrameColumn Multiply(int value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(int value, bool inPlace = false) { @@ -4200,7 +4214,7 @@ public DoubleDataFrameColumn Divide(int value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(int value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(int value, bool inPlace = false) { @@ -4210,7 +4224,7 @@ public DoubleDataFrameColumn Modulo(int value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(int value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(long value, bool inPlace = false) { @@ -4220,7 +4234,7 @@ public DoubleDataFrameColumn Add(long value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(long value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(long value, bool inPlace = false) { @@ -4230,7 +4244,7 @@ public DoubleDataFrameColumn Subtract(long value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(long value, bool inPlace = false) { @@ -4240,7 +4254,7 @@ public DoubleDataFrameColumn Multiply(long value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(long value, bool inPlace = false) { @@ -4250,7 +4264,7 @@ public DoubleDataFrameColumn Divide(long value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(long value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(long value, bool inPlace = false) { @@ -4260,7 +4274,7 @@ public DoubleDataFrameColumn Modulo(long value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(long value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(sbyte value, bool inPlace = false) { @@ -4270,7 +4284,7 @@ public DoubleDataFrameColumn Add(sbyte value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(sbyte value, bool inPlace = false) { @@ -4280,7 +4294,7 @@ public DoubleDataFrameColumn Subtract(sbyte value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(sbyte value, bool inPlace = false) { @@ -4290,7 +4304,7 @@ public DoubleDataFrameColumn Multiply(sbyte value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(sbyte value, bool inPlace = false) { @@ -4300,7 +4314,7 @@ public DoubleDataFrameColumn Divide(sbyte value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(sbyte value, bool inPlace = false) { @@ -4310,7 +4324,7 @@ public DoubleDataFrameColumn Modulo(sbyte value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(short value, bool inPlace = false) { @@ -4320,7 +4334,7 @@ public DoubleDataFrameColumn Add(short value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(short value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(short value, bool inPlace = false) { @@ -4330,7 +4344,7 @@ public DoubleDataFrameColumn Subtract(short value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(short value, bool inPlace = false) { @@ -4340,7 +4354,7 @@ public DoubleDataFrameColumn Multiply(short value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(short value, bool inPlace = false) { @@ -4350,7 +4364,7 @@ public DoubleDataFrameColumn Divide(short value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(short value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(short value, bool inPlace = false) { @@ -4360,7 +4374,7 @@ public DoubleDataFrameColumn Modulo(short value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(short value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(uint value, bool inPlace = false) { @@ -4370,7 +4384,7 @@ public DoubleDataFrameColumn Add(uint value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -4380,7 +4394,7 @@ public DoubleDataFrameColumn Subtract(uint value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -4390,7 +4404,7 @@ public DoubleDataFrameColumn Multiply(uint value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(uint value, bool inPlace = false) { @@ -4400,7 +4414,7 @@ public DoubleDataFrameColumn Divide(uint value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -4410,7 +4424,7 @@ public DoubleDataFrameColumn Modulo(uint value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(ulong value, bool inPlace = false) { @@ -4420,7 +4434,7 @@ public DoubleDataFrameColumn Add(ulong value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(ulong value, bool inPlace = false) { @@ -4430,7 +4444,7 @@ public DoubleDataFrameColumn Subtract(ulong value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(ulong value, bool inPlace = false) { @@ -4440,7 +4454,7 @@ public DoubleDataFrameColumn Multiply(ulong value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(ulong value, bool inPlace = false) { @@ -4450,7 +4464,7 @@ public DoubleDataFrameColumn Divide(ulong value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(ulong value, bool inPlace = false) { @@ -4460,7 +4474,7 @@ public DoubleDataFrameColumn Modulo(ulong value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(ushort value, bool inPlace = false) { @@ -4470,7 +4484,7 @@ public DoubleDataFrameColumn Add(ushort value, bool inPlace = false) public DoubleDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public DoubleDataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -4480,7 +4494,7 @@ public DoubleDataFrameColumn Subtract(ushort value, bool inPlace = false) public DoubleDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public DoubleDataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -4490,7 +4504,7 @@ public DoubleDataFrameColumn Multiply(ushort value, bool inPlace = false) public DoubleDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public DoubleDataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -4500,7 +4514,7 @@ public DoubleDataFrameColumn Divide(ushort value, bool inPlace = false) public DoubleDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public DoubleDataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -4510,9 +4524,10 @@ public DoubleDataFrameColumn Modulo(ushort value, bool inPlace = false) public DoubleDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (double)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class SingleDataFrameColumn { public SingleDataFrameColumn Add(byte value, bool inPlace = false) @@ -4523,7 +4538,7 @@ public SingleDataFrameColumn Add(byte value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -4533,7 +4548,7 @@ public SingleDataFrameColumn Subtract(byte value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -4543,7 +4558,7 @@ public SingleDataFrameColumn Multiply(byte value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(byte value, bool inPlace = false) { @@ -4553,7 +4568,7 @@ public SingleDataFrameColumn Divide(byte value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -4563,7 +4578,7 @@ public SingleDataFrameColumn Modulo(byte value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DoubleDataFrameColumn Add(double value) { @@ -4573,7 +4588,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -4583,7 +4598,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -4593,7 +4608,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -4603,7 +4618,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -4613,7 +4628,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value, bool inPlace = false) { @@ -4621,7 +4636,7 @@ public SingleDataFrameColumn Add(float value, bool inPlace = false) } public SingleDataFrameColumn ReverseAdd(float value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public SingleDataFrameColumn Subtract(float value, bool inPlace = false) { @@ -4629,7 +4644,7 @@ public SingleDataFrameColumn Subtract(float value, bool inPlace = false) } public SingleDataFrameColumn ReverseSubtract(float value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public SingleDataFrameColumn Multiply(float value, bool inPlace = false) { @@ -4637,7 +4652,7 @@ public SingleDataFrameColumn Multiply(float value, bool inPlace = false) } public SingleDataFrameColumn ReverseMultiply(float value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public SingleDataFrameColumn Divide(float value, bool inPlace = false) { @@ -4645,7 +4660,7 @@ public SingleDataFrameColumn Divide(float value, bool inPlace = false) } public SingleDataFrameColumn ReverseDivide(float value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public SingleDataFrameColumn Modulo(float value, bool inPlace = false) { @@ -4653,7 +4668,7 @@ public SingleDataFrameColumn Modulo(float value, bool inPlace = false) } public SingleDataFrameColumn ReverseModulo(float value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public SingleDataFrameColumn Add(int value, bool inPlace = false) { @@ -4663,7 +4678,7 @@ public SingleDataFrameColumn Add(int value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(int value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(int value, bool inPlace = false) { @@ -4673,7 +4688,7 @@ public SingleDataFrameColumn Subtract(int value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(int value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(int value, bool inPlace = false) { @@ -4683,7 +4698,7 @@ public SingleDataFrameColumn Multiply(int value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(int value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(int value, bool inPlace = false) { @@ -4693,7 +4708,7 @@ public SingleDataFrameColumn Divide(int value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(int value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(int value, bool inPlace = false) { @@ -4703,7 +4718,7 @@ public SingleDataFrameColumn Modulo(int value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(int value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(long value, bool inPlace = false) { @@ -4713,7 +4728,7 @@ public SingleDataFrameColumn Add(long value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(long value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(long value, bool inPlace = false) { @@ -4723,7 +4738,7 @@ public SingleDataFrameColumn Subtract(long value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(long value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(long value, bool inPlace = false) { @@ -4733,7 +4748,7 @@ public SingleDataFrameColumn Multiply(long value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(long value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(long value, bool inPlace = false) { @@ -4743,7 +4758,7 @@ public SingleDataFrameColumn Divide(long value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(long value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(long value, bool inPlace = false) { @@ -4753,7 +4768,7 @@ public SingleDataFrameColumn Modulo(long value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(long value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(sbyte value, bool inPlace = false) { @@ -4763,7 +4778,7 @@ public SingleDataFrameColumn Add(sbyte value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(sbyte value, bool inPlace = false) { @@ -4773,7 +4788,7 @@ public SingleDataFrameColumn Subtract(sbyte value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(sbyte value, bool inPlace = false) { @@ -4783,7 +4798,7 @@ public SingleDataFrameColumn Multiply(sbyte value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(sbyte value, bool inPlace = false) { @@ -4793,7 +4808,7 @@ public SingleDataFrameColumn Divide(sbyte value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(sbyte value, bool inPlace = false) { @@ -4803,7 +4818,7 @@ public SingleDataFrameColumn Modulo(sbyte value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(short value, bool inPlace = false) { @@ -4813,7 +4828,7 @@ public SingleDataFrameColumn Add(short value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(short value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(short value, bool inPlace = false) { @@ -4823,7 +4838,7 @@ public SingleDataFrameColumn Subtract(short value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(short value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(short value, bool inPlace = false) { @@ -4833,7 +4848,7 @@ public SingleDataFrameColumn Multiply(short value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(short value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(short value, bool inPlace = false) { @@ -4843,7 +4858,7 @@ public SingleDataFrameColumn Divide(short value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(short value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(short value, bool inPlace = false) { @@ -4853,7 +4868,7 @@ public SingleDataFrameColumn Modulo(short value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(short value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(uint value, bool inPlace = false) { @@ -4863,7 +4878,7 @@ public SingleDataFrameColumn Add(uint value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(uint value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -4873,7 +4888,7 @@ public SingleDataFrameColumn Subtract(uint value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -4883,7 +4898,7 @@ public SingleDataFrameColumn Multiply(uint value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(uint value, bool inPlace = false) { @@ -4893,7 +4908,7 @@ public SingleDataFrameColumn Divide(uint value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(uint value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -4903,7 +4918,7 @@ public SingleDataFrameColumn Modulo(uint value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(uint value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(ulong value, bool inPlace = false) { @@ -4913,7 +4928,7 @@ public SingleDataFrameColumn Add(ulong value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(ulong value, bool inPlace = false) { @@ -4923,7 +4938,7 @@ public SingleDataFrameColumn Subtract(ulong value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(ulong value, bool inPlace = false) { @@ -4933,7 +4948,7 @@ public SingleDataFrameColumn Multiply(ulong value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(ulong value, bool inPlace = false) { @@ -4943,7 +4958,7 @@ public SingleDataFrameColumn Divide(ulong value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(ulong value, bool inPlace = false) { @@ -4953,7 +4968,7 @@ public SingleDataFrameColumn Modulo(ulong value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public SingleDataFrameColumn Add(ushort value, bool inPlace = false) { @@ -4963,7 +4978,7 @@ public SingleDataFrameColumn Add(ushort value, bool inPlace = false) public SingleDataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public SingleDataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -4973,7 +4988,7 @@ public SingleDataFrameColumn Subtract(ushort value, bool inPlace = false) public SingleDataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public SingleDataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -4983,7 +4998,7 @@ public SingleDataFrameColumn Multiply(ushort value, bool inPlace = false) public SingleDataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public SingleDataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -4993,7 +5008,7 @@ public SingleDataFrameColumn Divide(ushort value, bool inPlace = false) public SingleDataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public SingleDataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -5003,9 +5018,10 @@ public SingleDataFrameColumn Modulo(ushort value, bool inPlace = false) public SingleDataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (float)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class Int32DataFrameColumn { public Int32DataFrameColumn Add(byte value, bool inPlace = false) @@ -5016,7 +5032,7 @@ public Int32DataFrameColumn Add(byte value, bool inPlace = false) public Int32DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -5026,7 +5042,7 @@ public Int32DataFrameColumn Subtract(byte value, bool inPlace = false) public Int32DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -5036,7 +5052,7 @@ public Int32DataFrameColumn Multiply(byte value, bool inPlace = false) public Int32DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(byte value, bool inPlace = false) { @@ -5046,7 +5062,7 @@ public Int32DataFrameColumn Divide(byte value, bool inPlace = false) public Int32DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -5056,7 +5072,7 @@ public Int32DataFrameColumn Modulo(byte value, bool inPlace = false) public Int32DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { @@ -5066,7 +5082,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -5076,7 +5092,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -5086,7 +5102,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -5096,7 +5112,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -5106,7 +5122,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -5116,7 +5132,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -5126,7 +5142,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -5136,7 +5152,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -5146,7 +5162,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -5156,7 +5172,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -5166,7 +5182,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -5176,7 +5192,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -5186,7 +5202,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -5196,7 +5212,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -5206,7 +5222,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value, bool inPlace = false) { @@ -5214,7 +5230,7 @@ public Int32DataFrameColumn Add(int value, bool inPlace = false) } public Int32DataFrameColumn ReverseAdd(int value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public Int32DataFrameColumn Subtract(int value, bool inPlace = false) { @@ -5222,7 +5238,7 @@ public Int32DataFrameColumn Subtract(int value, bool inPlace = false) } public Int32DataFrameColumn ReverseSubtract(int value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public Int32DataFrameColumn Multiply(int value, bool inPlace = false) { @@ -5230,7 +5246,7 @@ public Int32DataFrameColumn Multiply(int value, bool inPlace = false) } public Int32DataFrameColumn ReverseMultiply(int value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public Int32DataFrameColumn Divide(int value, bool inPlace = false) { @@ -5238,7 +5254,7 @@ public Int32DataFrameColumn Divide(int value, bool inPlace = false) } public Int32DataFrameColumn ReverseDivide(int value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public Int32DataFrameColumn Modulo(int value, bool inPlace = false) { @@ -5246,7 +5262,7 @@ public Int32DataFrameColumn Modulo(int value, bool inPlace = false) } public Int32DataFrameColumn ReverseModulo(int value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public Int64DataFrameColumn Add(long value) { @@ -5256,7 +5272,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -5266,7 +5282,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -5276,7 +5292,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -5286,7 +5302,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -5296,7 +5312,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value, bool inPlace = false) { @@ -5306,7 +5322,7 @@ public Int32DataFrameColumn Add(sbyte value, bool inPlace = false) public Int32DataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(sbyte value, bool inPlace = false) { @@ -5316,7 +5332,7 @@ public Int32DataFrameColumn Subtract(sbyte value, bool inPlace = false) public Int32DataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(sbyte value, bool inPlace = false) { @@ -5326,7 +5342,7 @@ public Int32DataFrameColumn Multiply(sbyte value, bool inPlace = false) public Int32DataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(sbyte value, bool inPlace = false) { @@ -5336,7 +5352,7 @@ public Int32DataFrameColumn Divide(sbyte value, bool inPlace = false) public Int32DataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(sbyte value, bool inPlace = false) { @@ -5346,7 +5362,7 @@ public Int32DataFrameColumn Modulo(sbyte value, bool inPlace = false) public Int32DataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int32DataFrameColumn Add(short value, bool inPlace = false) { @@ -5356,7 +5372,7 @@ public Int32DataFrameColumn Add(short value, bool inPlace = false) public Int32DataFrameColumn ReverseAdd(short value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(short value, bool inPlace = false) { @@ -5366,7 +5382,7 @@ public Int32DataFrameColumn Subtract(short value, bool inPlace = false) public Int32DataFrameColumn ReverseSubtract(short value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(short value, bool inPlace = false) { @@ -5376,7 +5392,7 @@ public Int32DataFrameColumn Multiply(short value, bool inPlace = false) public Int32DataFrameColumn ReverseMultiply(short value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(short value, bool inPlace = false) { @@ -5386,7 +5402,7 @@ public Int32DataFrameColumn Divide(short value, bool inPlace = false) public Int32DataFrameColumn ReverseDivide(short value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(short value, bool inPlace = false) { @@ -5396,7 +5412,7 @@ public Int32DataFrameColumn Modulo(short value, bool inPlace = false) public Int32DataFrameColumn ReverseModulo(short value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(uint value) { @@ -5406,7 +5422,7 @@ public Int64DataFrameColumn Add(uint value) public Int64DataFrameColumn ReverseAdd(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { @@ -5416,7 +5432,7 @@ public Int64DataFrameColumn Subtract(uint value) public Int64DataFrameColumn ReverseSubtract(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { @@ -5426,7 +5442,7 @@ public Int64DataFrameColumn Multiply(uint value) public Int64DataFrameColumn ReverseMultiply(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { @@ -5436,7 +5452,7 @@ public Int64DataFrameColumn Divide(uint value) public Int64DataFrameColumn ReverseDivide(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { @@ -5446,7 +5462,7 @@ public Int64DataFrameColumn Modulo(uint value) public Int64DataFrameColumn ReverseModulo(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { @@ -5456,7 +5472,7 @@ public SingleDataFrameColumn Add(ulong value) public SingleDataFrameColumn ReverseAdd(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { @@ -5466,7 +5482,7 @@ public SingleDataFrameColumn Subtract(ulong value) public SingleDataFrameColumn ReverseSubtract(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { @@ -5476,7 +5492,7 @@ public SingleDataFrameColumn Multiply(ulong value) public SingleDataFrameColumn ReverseMultiply(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { @@ -5486,7 +5502,7 @@ public SingleDataFrameColumn Divide(ulong value) public SingleDataFrameColumn ReverseDivide(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { @@ -5496,7 +5512,7 @@ public SingleDataFrameColumn Modulo(ulong value) public SingleDataFrameColumn ReverseModulo(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value, bool inPlace = false) { @@ -5506,7 +5522,7 @@ public Int32DataFrameColumn Add(ushort value, bool inPlace = false) public Int32DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int32DataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -5516,7 +5532,7 @@ public Int32DataFrameColumn Subtract(ushort value, bool inPlace = false) public Int32DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int32DataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -5526,7 +5542,7 @@ public Int32DataFrameColumn Multiply(ushort value, bool inPlace = false) public Int32DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int32DataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -5536,7 +5552,7 @@ public Int32DataFrameColumn Divide(ushort value, bool inPlace = false) public Int32DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int32DataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -5546,9 +5562,10 @@ public Int32DataFrameColumn Modulo(ushort value, bool inPlace = false) public Int32DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (int)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class Int64DataFrameColumn { public Int64DataFrameColumn Add(byte value, bool inPlace = false) @@ -5559,7 +5576,7 @@ public Int64DataFrameColumn Add(byte value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -5569,7 +5586,7 @@ public Int64DataFrameColumn Subtract(byte value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -5579,7 +5596,7 @@ public Int64DataFrameColumn Multiply(byte value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(byte value, bool inPlace = false) { @@ -5589,7 +5606,7 @@ public Int64DataFrameColumn Divide(byte value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -5599,7 +5616,7 @@ public Int64DataFrameColumn Modulo(byte value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { @@ -5609,7 +5626,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -5619,7 +5636,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -5629,7 +5646,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -5639,7 +5656,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -5649,7 +5666,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -5659,7 +5676,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -5669,7 +5686,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -5679,7 +5696,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -5689,7 +5706,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -5699,7 +5716,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -5709,7 +5726,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -5719,7 +5736,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -5729,7 +5746,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -5739,7 +5756,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -5749,7 +5766,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(int value, bool inPlace = false) { @@ -5759,7 +5776,7 @@ public Int64DataFrameColumn Add(int value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(int value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(int value, bool inPlace = false) { @@ -5769,7 +5786,7 @@ public Int64DataFrameColumn Subtract(int value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(int value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(int value, bool inPlace = false) { @@ -5779,7 +5796,7 @@ public Int64DataFrameColumn Multiply(int value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(int value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(int value, bool inPlace = false) { @@ -5789,7 +5806,7 @@ public Int64DataFrameColumn Divide(int value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(int value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(int value, bool inPlace = false) { @@ -5799,7 +5816,7 @@ public Int64DataFrameColumn Modulo(int value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(int value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(long value, bool inPlace = false) { @@ -5807,7 +5824,7 @@ public Int64DataFrameColumn Add(long value, bool inPlace = false) } public Int64DataFrameColumn ReverseAdd(long value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public Int64DataFrameColumn Subtract(long value, bool inPlace = false) { @@ -5815,7 +5832,7 @@ public Int64DataFrameColumn Subtract(long value, bool inPlace = false) } public Int64DataFrameColumn ReverseSubtract(long value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public Int64DataFrameColumn Multiply(long value, bool inPlace = false) { @@ -5823,7 +5840,7 @@ public Int64DataFrameColumn Multiply(long value, bool inPlace = false) } public Int64DataFrameColumn ReverseMultiply(long value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public Int64DataFrameColumn Divide(long value, bool inPlace = false) { @@ -5831,7 +5848,7 @@ public Int64DataFrameColumn Divide(long value, bool inPlace = false) } public Int64DataFrameColumn ReverseDivide(long value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public Int64DataFrameColumn Modulo(long value, bool inPlace = false) { @@ -5839,7 +5856,7 @@ public Int64DataFrameColumn Modulo(long value, bool inPlace = false) } public Int64DataFrameColumn ReverseModulo(long value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public Int64DataFrameColumn Add(sbyte value, bool inPlace = false) { @@ -5849,7 +5866,7 @@ public Int64DataFrameColumn Add(sbyte value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(sbyte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(sbyte value, bool inPlace = false) { @@ -5859,7 +5876,7 @@ public Int64DataFrameColumn Subtract(sbyte value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(sbyte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(sbyte value, bool inPlace = false) { @@ -5869,7 +5886,7 @@ public Int64DataFrameColumn Multiply(sbyte value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(sbyte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(sbyte value, bool inPlace = false) { @@ -5879,7 +5896,7 @@ public Int64DataFrameColumn Divide(sbyte value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(sbyte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(sbyte value, bool inPlace = false) { @@ -5889,7 +5906,7 @@ public Int64DataFrameColumn Modulo(sbyte value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(sbyte value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(short value, bool inPlace = false) { @@ -5899,7 +5916,7 @@ public Int64DataFrameColumn Add(short value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(short value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(short value, bool inPlace = false) { @@ -5909,7 +5926,7 @@ public Int64DataFrameColumn Subtract(short value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(short value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(short value, bool inPlace = false) { @@ -5919,7 +5936,7 @@ public Int64DataFrameColumn Multiply(short value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(short value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(short value, bool inPlace = false) { @@ -5929,7 +5946,7 @@ public Int64DataFrameColumn Divide(short value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(short value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(short value, bool inPlace = false) { @@ -5939,7 +5956,7 @@ public Int64DataFrameColumn Modulo(short value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(short value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(uint value, bool inPlace = false) { @@ -5949,7 +5966,7 @@ public Int64DataFrameColumn Add(uint value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -5959,7 +5976,7 @@ public Int64DataFrameColumn Subtract(uint value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -5969,7 +5986,7 @@ public Int64DataFrameColumn Multiply(uint value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(uint value, bool inPlace = false) { @@ -5979,7 +5996,7 @@ public Int64DataFrameColumn Divide(uint value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -5989,7 +6006,7 @@ public Int64DataFrameColumn Modulo(uint value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public Int64DataFrameColumn Add(ushort value, bool inPlace = false) { @@ -5999,7 +6016,7 @@ public Int64DataFrameColumn Add(ushort value, bool inPlace = false) public Int64DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public Int64DataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -6009,7 +6026,7 @@ public Int64DataFrameColumn Subtract(ushort value, bool inPlace = false) public Int64DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public Int64DataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -6019,7 +6036,7 @@ public Int64DataFrameColumn Multiply(ushort value, bool inPlace = false) public Int64DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public Int64DataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -6029,7 +6046,7 @@ public Int64DataFrameColumn Divide(ushort value, bool inPlace = false) public Int64DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public Int64DataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -6039,9 +6056,10 @@ public Int64DataFrameColumn Modulo(ushort value, bool inPlace = false) public Int64DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (long)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class SByteDataFrameColumn { public Int32DataFrameColumn Add(byte value) @@ -6052,7 +6070,7 @@ public Int32DataFrameColumn Add(byte value) public Int32DataFrameColumn ReverseAdd(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { @@ -6062,7 +6080,7 @@ public Int32DataFrameColumn Subtract(byte value) public Int32DataFrameColumn ReverseSubtract(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { @@ -6072,7 +6090,7 @@ public Int32DataFrameColumn Multiply(byte value) public Int32DataFrameColumn ReverseMultiply(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { @@ -6082,7 +6100,7 @@ public Int32DataFrameColumn Divide(byte value) public Int32DataFrameColumn ReverseDivide(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { @@ -6092,7 +6110,7 @@ public Int32DataFrameColumn Modulo(byte value) public Int32DataFrameColumn ReverseModulo(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { @@ -6102,7 +6120,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -6112,7 +6130,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -6122,7 +6140,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -6132,7 +6150,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -6142,7 +6160,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -6152,7 +6170,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -6162,7 +6180,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -6172,7 +6190,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -6182,7 +6200,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -6192,7 +6210,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -6202,7 +6220,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -6212,7 +6230,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -6222,7 +6240,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -6232,7 +6250,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -6242,7 +6260,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { @@ -6252,7 +6270,7 @@ public Int32DataFrameColumn Add(int value) public Int32DataFrameColumn ReverseAdd(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { @@ -6262,7 +6280,7 @@ public Int32DataFrameColumn Subtract(int value) public Int32DataFrameColumn ReverseSubtract(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { @@ -6272,7 +6290,7 @@ public Int32DataFrameColumn Multiply(int value) public Int32DataFrameColumn ReverseMultiply(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { @@ -6282,7 +6300,7 @@ public Int32DataFrameColumn Divide(int value) public Int32DataFrameColumn ReverseDivide(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { @@ -6292,7 +6310,7 @@ public Int32DataFrameColumn Modulo(int value) public Int32DataFrameColumn ReverseModulo(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { @@ -6302,7 +6320,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -6312,7 +6330,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -6322,7 +6340,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -6332,7 +6350,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -6342,7 +6360,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { @@ -6352,7 +6370,7 @@ public Int32DataFrameColumn Add(sbyte value) public Int32DataFrameColumn ReverseAdd(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { @@ -6362,7 +6380,7 @@ public Int32DataFrameColumn Subtract(sbyte value) public Int32DataFrameColumn ReverseSubtract(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { @@ -6372,7 +6390,7 @@ public Int32DataFrameColumn Multiply(sbyte value) public Int32DataFrameColumn ReverseMultiply(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { @@ -6382,7 +6400,7 @@ public Int32DataFrameColumn Divide(sbyte value) public Int32DataFrameColumn ReverseDivide(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { @@ -6392,7 +6410,7 @@ public Int32DataFrameColumn Modulo(sbyte value) public Int32DataFrameColumn ReverseModulo(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { @@ -6402,7 +6420,7 @@ public Int32DataFrameColumn Add(short value) public Int32DataFrameColumn ReverseAdd(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { @@ -6412,7 +6430,7 @@ public Int32DataFrameColumn Subtract(short value) public Int32DataFrameColumn ReverseSubtract(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { @@ -6422,7 +6440,7 @@ public Int32DataFrameColumn Multiply(short value) public Int32DataFrameColumn ReverseMultiply(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { @@ -6432,7 +6450,7 @@ public Int32DataFrameColumn Divide(short value) public Int32DataFrameColumn ReverseDivide(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { @@ -6442,7 +6460,7 @@ public Int32DataFrameColumn Modulo(short value) public Int32DataFrameColumn ReverseModulo(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(uint value) { @@ -6452,7 +6470,7 @@ public Int64DataFrameColumn Add(uint value) public Int64DataFrameColumn ReverseAdd(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { @@ -6462,7 +6480,7 @@ public Int64DataFrameColumn Subtract(uint value) public Int64DataFrameColumn ReverseSubtract(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { @@ -6472,7 +6490,7 @@ public Int64DataFrameColumn Multiply(uint value) public Int64DataFrameColumn ReverseMultiply(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { @@ -6482,7 +6500,7 @@ public Int64DataFrameColumn Divide(uint value) public Int64DataFrameColumn ReverseDivide(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { @@ -6492,7 +6510,7 @@ public Int64DataFrameColumn Modulo(uint value) public Int64DataFrameColumn ReverseModulo(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { @@ -6502,7 +6520,7 @@ public SingleDataFrameColumn Add(ulong value) public SingleDataFrameColumn ReverseAdd(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { @@ -6512,7 +6530,7 @@ public SingleDataFrameColumn Subtract(ulong value) public SingleDataFrameColumn ReverseSubtract(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { @@ -6522,7 +6540,7 @@ public SingleDataFrameColumn Multiply(ulong value) public SingleDataFrameColumn ReverseMultiply(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { @@ -6532,7 +6550,7 @@ public SingleDataFrameColumn Divide(ulong value) public SingleDataFrameColumn ReverseDivide(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { @@ -6542,7 +6560,7 @@ public SingleDataFrameColumn Modulo(ulong value) public SingleDataFrameColumn ReverseModulo(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { @@ -6552,7 +6570,7 @@ public Int32DataFrameColumn Add(ushort value) public Int32DataFrameColumn ReverseAdd(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { @@ -6562,7 +6580,7 @@ public Int32DataFrameColumn Subtract(ushort value) public Int32DataFrameColumn ReverseSubtract(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { @@ -6572,7 +6590,7 @@ public Int32DataFrameColumn Multiply(ushort value) public Int32DataFrameColumn ReverseMultiply(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { @@ -6582,7 +6600,7 @@ public Int32DataFrameColumn Divide(ushort value) public Int32DataFrameColumn ReverseDivide(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { @@ -6592,9 +6610,10 @@ public Int32DataFrameColumn Modulo(ushort value) public Int32DataFrameColumn ReverseModulo(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } } + public partial class Int16DataFrameColumn { public Int32DataFrameColumn Add(byte value) @@ -6605,7 +6624,7 @@ public Int32DataFrameColumn Add(byte value) public Int32DataFrameColumn ReverseAdd(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { @@ -6615,7 +6634,7 @@ public Int32DataFrameColumn Subtract(byte value) public Int32DataFrameColumn ReverseSubtract(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { @@ -6625,7 +6644,7 @@ public Int32DataFrameColumn Multiply(byte value) public Int32DataFrameColumn ReverseMultiply(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { @@ -6635,7 +6654,7 @@ public Int32DataFrameColumn Divide(byte value) public Int32DataFrameColumn ReverseDivide(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { @@ -6645,7 +6664,7 @@ public Int32DataFrameColumn Modulo(byte value) public Int32DataFrameColumn ReverseModulo(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { @@ -6655,7 +6674,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -6665,7 +6684,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -6675,7 +6694,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -6685,7 +6704,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -6695,7 +6714,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -6705,7 +6724,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -6715,7 +6734,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -6725,7 +6744,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -6735,7 +6754,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -6745,7 +6764,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -6755,7 +6774,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -6765,7 +6784,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -6775,7 +6794,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -6785,7 +6804,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -6795,7 +6814,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { @@ -6805,7 +6824,7 @@ public Int32DataFrameColumn Add(int value) public Int32DataFrameColumn ReverseAdd(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { @@ -6815,7 +6834,7 @@ public Int32DataFrameColumn Subtract(int value) public Int32DataFrameColumn ReverseSubtract(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { @@ -6825,7 +6844,7 @@ public Int32DataFrameColumn Multiply(int value) public Int32DataFrameColumn ReverseMultiply(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { @@ -6835,7 +6854,7 @@ public Int32DataFrameColumn Divide(int value) public Int32DataFrameColumn ReverseDivide(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { @@ -6845,7 +6864,7 @@ public Int32DataFrameColumn Modulo(int value) public Int32DataFrameColumn ReverseModulo(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { @@ -6855,7 +6874,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -6865,7 +6884,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -6875,7 +6894,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -6885,7 +6904,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -6895,7 +6914,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { @@ -6905,7 +6924,7 @@ public Int32DataFrameColumn Add(sbyte value) public Int32DataFrameColumn ReverseAdd(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { @@ -6915,7 +6934,7 @@ public Int32DataFrameColumn Subtract(sbyte value) public Int32DataFrameColumn ReverseSubtract(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { @@ -6925,7 +6944,7 @@ public Int32DataFrameColumn Multiply(sbyte value) public Int32DataFrameColumn ReverseMultiply(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { @@ -6935,7 +6954,7 @@ public Int32DataFrameColumn Divide(sbyte value) public Int32DataFrameColumn ReverseDivide(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { @@ -6945,7 +6964,7 @@ public Int32DataFrameColumn Modulo(sbyte value) public Int32DataFrameColumn ReverseModulo(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { @@ -6955,7 +6974,7 @@ public Int32DataFrameColumn Add(short value) public Int32DataFrameColumn ReverseAdd(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { @@ -6965,7 +6984,7 @@ public Int32DataFrameColumn Subtract(short value) public Int32DataFrameColumn ReverseSubtract(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { @@ -6975,7 +6994,7 @@ public Int32DataFrameColumn Multiply(short value) public Int32DataFrameColumn ReverseMultiply(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { @@ -6985,7 +7004,7 @@ public Int32DataFrameColumn Divide(short value) public Int32DataFrameColumn ReverseDivide(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { @@ -6995,7 +7014,7 @@ public Int32DataFrameColumn Modulo(short value) public Int32DataFrameColumn ReverseModulo(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(uint value) { @@ -7005,7 +7024,7 @@ public Int64DataFrameColumn Add(uint value) public Int64DataFrameColumn ReverseAdd(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(uint value) { @@ -7015,7 +7034,7 @@ public Int64DataFrameColumn Subtract(uint value) public Int64DataFrameColumn ReverseSubtract(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(uint value) { @@ -7025,7 +7044,7 @@ public Int64DataFrameColumn Multiply(uint value) public Int64DataFrameColumn ReverseMultiply(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(uint value) { @@ -7035,7 +7054,7 @@ public Int64DataFrameColumn Divide(uint value) public Int64DataFrameColumn ReverseDivide(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(uint value) { @@ -7045,7 +7064,7 @@ public Int64DataFrameColumn Modulo(uint value) public Int64DataFrameColumn ReverseModulo(uint value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(ulong value) { @@ -7055,7 +7074,7 @@ public SingleDataFrameColumn Add(ulong value) public SingleDataFrameColumn ReverseAdd(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(ulong value) { @@ -7065,7 +7084,7 @@ public SingleDataFrameColumn Subtract(ulong value) public SingleDataFrameColumn ReverseSubtract(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(ulong value) { @@ -7075,7 +7094,7 @@ public SingleDataFrameColumn Multiply(ulong value) public SingleDataFrameColumn ReverseMultiply(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(ulong value) { @@ -7085,7 +7104,7 @@ public SingleDataFrameColumn Divide(ulong value) public SingleDataFrameColumn ReverseDivide(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(ulong value) { @@ -7095,7 +7114,7 @@ public SingleDataFrameColumn Modulo(ulong value) public SingleDataFrameColumn ReverseModulo(ulong value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { @@ -7105,7 +7124,7 @@ public Int32DataFrameColumn Add(ushort value) public Int32DataFrameColumn ReverseAdd(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { @@ -7115,7 +7134,7 @@ public Int32DataFrameColumn Subtract(ushort value) public Int32DataFrameColumn ReverseSubtract(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { @@ -7125,7 +7144,7 @@ public Int32DataFrameColumn Multiply(ushort value) public Int32DataFrameColumn ReverseMultiply(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { @@ -7135,7 +7154,7 @@ public Int32DataFrameColumn Divide(ushort value) public Int32DataFrameColumn ReverseDivide(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { @@ -7145,9 +7164,10 @@ public Int32DataFrameColumn Modulo(ushort value) public Int32DataFrameColumn ReverseModulo(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } } + public partial class UInt32DataFrameColumn { public UInt32DataFrameColumn Add(byte value, bool inPlace = false) @@ -7158,7 +7178,7 @@ public UInt32DataFrameColumn Add(byte value, bool inPlace = false) public UInt32DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt32DataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -7168,7 +7188,7 @@ public UInt32DataFrameColumn Subtract(byte value, bool inPlace = false) public UInt32DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt32DataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -7178,7 +7198,7 @@ public UInt32DataFrameColumn Multiply(byte value, bool inPlace = false) public UInt32DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt32DataFrameColumn Divide(byte value, bool inPlace = false) { @@ -7188,7 +7208,7 @@ public UInt32DataFrameColumn Divide(byte value, bool inPlace = false) public UInt32DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt32DataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -7198,7 +7218,7 @@ public UInt32DataFrameColumn Modulo(byte value, bool inPlace = false) public UInt32DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { @@ -7208,7 +7228,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -7218,7 +7238,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -7228,7 +7248,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -7238,7 +7258,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -7248,7 +7268,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -7258,7 +7278,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -7268,7 +7288,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -7278,7 +7298,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -7288,7 +7308,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -7298,7 +7318,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -7308,7 +7328,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -7318,7 +7338,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -7328,7 +7348,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -7338,7 +7358,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -7348,7 +7368,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(int value) { @@ -7358,7 +7378,7 @@ public Int64DataFrameColumn Add(int value) public Int64DataFrameColumn ReverseAdd(int value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(int value) { @@ -7368,7 +7388,7 @@ public Int64DataFrameColumn Subtract(int value) public Int64DataFrameColumn ReverseSubtract(int value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(int value) { @@ -7378,7 +7398,7 @@ public Int64DataFrameColumn Multiply(int value) public Int64DataFrameColumn ReverseMultiply(int value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(int value) { @@ -7388,7 +7408,7 @@ public Int64DataFrameColumn Divide(int value) public Int64DataFrameColumn ReverseDivide(int value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(int value) { @@ -7398,7 +7418,7 @@ public Int64DataFrameColumn Modulo(int value) public Int64DataFrameColumn ReverseModulo(int value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { @@ -7408,7 +7428,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -7418,7 +7438,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -7428,7 +7448,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -7438,7 +7458,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -7448,7 +7468,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(sbyte value) { @@ -7458,7 +7478,7 @@ public Int64DataFrameColumn Add(sbyte value) public Int64DataFrameColumn ReverseAdd(sbyte value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(sbyte value) { @@ -7468,7 +7488,7 @@ public Int64DataFrameColumn Subtract(sbyte value) public Int64DataFrameColumn ReverseSubtract(sbyte value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(sbyte value) { @@ -7478,7 +7498,7 @@ public Int64DataFrameColumn Multiply(sbyte value) public Int64DataFrameColumn ReverseMultiply(sbyte value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(sbyte value) { @@ -7488,7 +7508,7 @@ public Int64DataFrameColumn Divide(sbyte value) public Int64DataFrameColumn ReverseDivide(sbyte value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(sbyte value) { @@ -7498,7 +7518,7 @@ public Int64DataFrameColumn Modulo(sbyte value) public Int64DataFrameColumn ReverseModulo(sbyte value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(short value) { @@ -7508,7 +7528,7 @@ public Int64DataFrameColumn Add(short value) public Int64DataFrameColumn ReverseAdd(short value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(short value) { @@ -7518,7 +7538,7 @@ public Int64DataFrameColumn Subtract(short value) public Int64DataFrameColumn ReverseSubtract(short value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(short value) { @@ -7528,7 +7548,7 @@ public Int64DataFrameColumn Multiply(short value) public Int64DataFrameColumn ReverseMultiply(short value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(short value) { @@ -7538,7 +7558,7 @@ public Int64DataFrameColumn Divide(short value) public Int64DataFrameColumn ReverseDivide(short value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(short value) { @@ -7548,7 +7568,7 @@ public Int64DataFrameColumn Modulo(short value) public Int64DataFrameColumn ReverseModulo(short value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value, bool inPlace = false) { @@ -7556,7 +7576,7 @@ public UInt32DataFrameColumn Add(uint value, bool inPlace = false) } public UInt32DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public UInt32DataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -7564,7 +7584,7 @@ public UInt32DataFrameColumn Subtract(uint value, bool inPlace = false) } public UInt32DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public UInt32DataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -7572,7 +7592,7 @@ public UInt32DataFrameColumn Multiply(uint value, bool inPlace = false) } public UInt32DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public UInt32DataFrameColumn Divide(uint value, bool inPlace = false) { @@ -7580,7 +7600,7 @@ public UInt32DataFrameColumn Divide(uint value, bool inPlace = false) } public UInt32DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public UInt32DataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -7588,7 +7608,7 @@ public UInt32DataFrameColumn Modulo(uint value, bool inPlace = false) } public UInt32DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public UInt64DataFrameColumn Add(ulong value) { @@ -7598,7 +7618,7 @@ public UInt64DataFrameColumn Add(ulong value) public UInt64DataFrameColumn ReverseAdd(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { @@ -7608,7 +7628,7 @@ public UInt64DataFrameColumn Subtract(ulong value) public UInt64DataFrameColumn ReverseSubtract(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { @@ -7618,7 +7638,7 @@ public UInt64DataFrameColumn Multiply(ulong value) public UInt64DataFrameColumn ReverseMultiply(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { @@ -7628,7 +7648,7 @@ public UInt64DataFrameColumn Divide(ulong value) public UInt64DataFrameColumn ReverseDivide(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { @@ -7638,7 +7658,7 @@ public UInt64DataFrameColumn Modulo(ulong value) public UInt64DataFrameColumn ReverseModulo(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn Add(ushort value, bool inPlace = false) { @@ -7648,7 +7668,7 @@ public UInt32DataFrameColumn Add(ushort value, bool inPlace = false) public UInt32DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt32DataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -7658,7 +7678,7 @@ public UInt32DataFrameColumn Subtract(ushort value, bool inPlace = false) public UInt32DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt32DataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -7668,7 +7688,7 @@ public UInt32DataFrameColumn Multiply(ushort value, bool inPlace = false) public UInt32DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt32DataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -7678,7 +7698,7 @@ public UInt32DataFrameColumn Divide(ushort value, bool inPlace = false) public UInt32DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt32DataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -7688,9 +7708,10 @@ public UInt32DataFrameColumn Modulo(ushort value, bool inPlace = false) public UInt32DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (uint)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class UInt64DataFrameColumn { public UInt64DataFrameColumn Add(byte value, bool inPlace = false) @@ -7701,7 +7722,7 @@ public UInt64DataFrameColumn Add(byte value, bool inPlace = false) public UInt64DataFrameColumn ReverseAdd(byte value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(byte value, bool inPlace = false) { @@ -7711,7 +7732,7 @@ public UInt64DataFrameColumn Subtract(byte value, bool inPlace = false) public UInt64DataFrameColumn ReverseSubtract(byte value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(byte value, bool inPlace = false) { @@ -7721,7 +7742,7 @@ public UInt64DataFrameColumn Multiply(byte value, bool inPlace = false) public UInt64DataFrameColumn ReverseMultiply(byte value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(byte value, bool inPlace = false) { @@ -7731,7 +7752,7 @@ public UInt64DataFrameColumn Divide(byte value, bool inPlace = false) public UInt64DataFrameColumn ReverseDivide(byte value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(byte value, bool inPlace = false) { @@ -7741,7 +7762,7 @@ public UInt64DataFrameColumn Modulo(byte value, bool inPlace = false) public UInt64DataFrameColumn ReverseModulo(byte value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public DecimalDataFrameColumn Add(decimal value) { @@ -7751,7 +7772,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -7761,7 +7782,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -7771,7 +7792,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -7781,7 +7802,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -7791,7 +7812,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -7801,7 +7822,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -7811,7 +7832,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -7821,7 +7842,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -7831,7 +7852,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -7841,7 +7862,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -7851,7 +7872,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -7861,7 +7882,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -7871,7 +7892,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -7881,7 +7902,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -7891,7 +7912,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(int value) { @@ -7901,7 +7922,7 @@ public SingleDataFrameColumn Add(int value) public SingleDataFrameColumn ReverseAdd(int value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(int value) { @@ -7911,7 +7932,7 @@ public SingleDataFrameColumn Subtract(int value) public SingleDataFrameColumn ReverseSubtract(int value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(int value) { @@ -7921,7 +7942,7 @@ public SingleDataFrameColumn Multiply(int value) public SingleDataFrameColumn ReverseMultiply(int value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(int value) { @@ -7931,7 +7952,7 @@ public SingleDataFrameColumn Divide(int value) public SingleDataFrameColumn ReverseDivide(int value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(int value) { @@ -7941,7 +7962,7 @@ public SingleDataFrameColumn Modulo(int value) public SingleDataFrameColumn ReverseModulo(int value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(sbyte value) { @@ -7951,7 +7972,7 @@ public SingleDataFrameColumn Add(sbyte value) public SingleDataFrameColumn ReverseAdd(sbyte value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(sbyte value) { @@ -7961,7 +7982,7 @@ public SingleDataFrameColumn Subtract(sbyte value) public SingleDataFrameColumn ReverseSubtract(sbyte value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(sbyte value) { @@ -7971,7 +7992,7 @@ public SingleDataFrameColumn Multiply(sbyte value) public SingleDataFrameColumn ReverseMultiply(sbyte value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(sbyte value) { @@ -7981,7 +8002,7 @@ public SingleDataFrameColumn Divide(sbyte value) public SingleDataFrameColumn ReverseDivide(sbyte value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(sbyte value) { @@ -7991,7 +8012,7 @@ public SingleDataFrameColumn Modulo(sbyte value) public SingleDataFrameColumn ReverseModulo(sbyte value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(short value) { @@ -8001,7 +8022,7 @@ public SingleDataFrameColumn Add(short value) public SingleDataFrameColumn ReverseAdd(short value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(short value) { @@ -8011,7 +8032,7 @@ public SingleDataFrameColumn Subtract(short value) public SingleDataFrameColumn ReverseSubtract(short value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(short value) { @@ -8021,7 +8042,7 @@ public SingleDataFrameColumn Multiply(short value) public SingleDataFrameColumn ReverseMultiply(short value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(short value) { @@ -8031,7 +8052,7 @@ public SingleDataFrameColumn Divide(short value) public SingleDataFrameColumn ReverseDivide(short value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(short value) { @@ -8041,7 +8062,7 @@ public SingleDataFrameColumn Modulo(short value) public SingleDataFrameColumn ReverseModulo(short value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn Add(uint value, bool inPlace = false) { @@ -8051,7 +8072,7 @@ public UInt64DataFrameColumn Add(uint value, bool inPlace = false) public UInt64DataFrameColumn ReverseAdd(uint value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(uint value, bool inPlace = false) { @@ -8061,7 +8082,7 @@ public UInt64DataFrameColumn Subtract(uint value, bool inPlace = false) public UInt64DataFrameColumn ReverseSubtract(uint value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(uint value, bool inPlace = false) { @@ -8071,7 +8092,7 @@ public UInt64DataFrameColumn Multiply(uint value, bool inPlace = false) public UInt64DataFrameColumn ReverseMultiply(uint value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(uint value, bool inPlace = false) { @@ -8081,7 +8102,7 @@ public UInt64DataFrameColumn Divide(uint value, bool inPlace = false) public UInt64DataFrameColumn ReverseDivide(uint value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(uint value, bool inPlace = false) { @@ -8091,7 +8112,7 @@ public UInt64DataFrameColumn Modulo(uint value, bool inPlace = false) public UInt64DataFrameColumn ReverseModulo(uint value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } public UInt64DataFrameColumn Add(ulong value, bool inPlace = false) { @@ -8099,7 +8120,7 @@ public UInt64DataFrameColumn Add(ulong value, bool inPlace = false) } public UInt64DataFrameColumn ReverseAdd(ulong value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } public UInt64DataFrameColumn Subtract(ulong value, bool inPlace = false) { @@ -8107,7 +8128,7 @@ public UInt64DataFrameColumn Subtract(ulong value, bool inPlace = false) } public UInt64DataFrameColumn ReverseSubtract(ulong value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } public UInt64DataFrameColumn Multiply(ulong value, bool inPlace = false) { @@ -8115,7 +8136,7 @@ public UInt64DataFrameColumn Multiply(ulong value, bool inPlace = false) } public UInt64DataFrameColumn ReverseMultiply(ulong value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } public UInt64DataFrameColumn Divide(ulong value, bool inPlace = false) { @@ -8123,7 +8144,7 @@ public UInt64DataFrameColumn Divide(ulong value, bool inPlace = false) } public UInt64DataFrameColumn ReverseDivide(ulong value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } public UInt64DataFrameColumn Modulo(ulong value, bool inPlace = false) { @@ -8131,7 +8152,7 @@ public UInt64DataFrameColumn Modulo(ulong value, bool inPlace = false) } public UInt64DataFrameColumn ReverseModulo(ulong value, bool inPlace = false) { - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } public UInt64DataFrameColumn Add(ushort value, bool inPlace = false) { @@ -8141,7 +8162,7 @@ public UInt64DataFrameColumn Add(ushort value, bool inPlace = false) public UInt64DataFrameColumn ReverseAdd(ushort value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Add, convertedValue, inPlace); } public UInt64DataFrameColumn Subtract(ushort value, bool inPlace = false) { @@ -8151,7 +8172,7 @@ public UInt64DataFrameColumn Subtract(ushort value, bool inPlace = false) public UInt64DataFrameColumn ReverseSubtract(ushort value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, convertedValue, inPlace); } public UInt64DataFrameColumn Multiply(ushort value, bool inPlace = false) { @@ -8161,7 +8182,7 @@ public UInt64DataFrameColumn Multiply(ushort value, bool inPlace = false) public UInt64DataFrameColumn ReverseMultiply(ushort value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, convertedValue, inPlace); } public UInt64DataFrameColumn Divide(ushort value, bool inPlace = false) { @@ -8171,7 +8192,7 @@ public UInt64DataFrameColumn Divide(ushort value, bool inPlace = false) public UInt64DataFrameColumn ReverseDivide(ushort value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, convertedValue, inPlace); } public UInt64DataFrameColumn Modulo(ushort value, bool inPlace = false) { @@ -8181,9 +8202,10 @@ public UInt64DataFrameColumn Modulo(ushort value, bool inPlace = false) public UInt64DataFrameColumn ReverseModulo(ushort value, bool inPlace = false) { var convertedValue = (ulong)value; - return HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, convertedValue, inPlace); } } + public partial class UInt16DataFrameColumn { public Int32DataFrameColumn Add(byte value) @@ -8194,7 +8216,7 @@ public Int32DataFrameColumn Add(byte value) public Int32DataFrameColumn ReverseAdd(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(byte value) { @@ -8204,7 +8226,7 @@ public Int32DataFrameColumn Subtract(byte value) public Int32DataFrameColumn ReverseSubtract(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(byte value) { @@ -8214,7 +8236,7 @@ public Int32DataFrameColumn Multiply(byte value) public Int32DataFrameColumn ReverseMultiply(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(byte value) { @@ -8224,7 +8246,7 @@ public Int32DataFrameColumn Divide(byte value) public Int32DataFrameColumn ReverseDivide(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(byte value) { @@ -8234,7 +8256,7 @@ public Int32DataFrameColumn Modulo(byte value) public Int32DataFrameColumn ReverseModulo(byte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DecimalDataFrameColumn Add(decimal value) { @@ -8244,7 +8266,7 @@ public DecimalDataFrameColumn Add(decimal value) public DecimalDataFrameColumn ReverseAdd(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DecimalDataFrameColumn Subtract(decimal value) { @@ -8254,7 +8276,7 @@ public DecimalDataFrameColumn Subtract(decimal value) public DecimalDataFrameColumn ReverseSubtract(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DecimalDataFrameColumn Multiply(decimal value) { @@ -8264,7 +8286,7 @@ public DecimalDataFrameColumn Multiply(decimal value) public DecimalDataFrameColumn ReverseMultiply(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DecimalDataFrameColumn Divide(decimal value) { @@ -8274,7 +8296,7 @@ public DecimalDataFrameColumn Divide(decimal value) public DecimalDataFrameColumn ReverseDivide(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DecimalDataFrameColumn Modulo(decimal value) { @@ -8284,7 +8306,7 @@ public DecimalDataFrameColumn Modulo(decimal value) public DecimalDataFrameColumn ReverseModulo(decimal value) { var decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return decimalColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public DoubleDataFrameColumn Add(double value) { @@ -8294,7 +8316,7 @@ public DoubleDataFrameColumn Add(double value) public DoubleDataFrameColumn ReverseAdd(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public DoubleDataFrameColumn Subtract(double value) { @@ -8304,7 +8326,7 @@ public DoubleDataFrameColumn Subtract(double value) public DoubleDataFrameColumn ReverseSubtract(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public DoubleDataFrameColumn Multiply(double value) { @@ -8314,7 +8336,7 @@ public DoubleDataFrameColumn Multiply(double value) public DoubleDataFrameColumn ReverseMultiply(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public DoubleDataFrameColumn Divide(double value) { @@ -8324,7 +8346,7 @@ public DoubleDataFrameColumn Divide(double value) public DoubleDataFrameColumn ReverseDivide(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public DoubleDataFrameColumn Modulo(double value) { @@ -8334,7 +8356,7 @@ public DoubleDataFrameColumn Modulo(double value) public DoubleDataFrameColumn ReverseModulo(double value) { var doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return doubleColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public SingleDataFrameColumn Add(float value) { @@ -8344,7 +8366,7 @@ public SingleDataFrameColumn Add(float value) public SingleDataFrameColumn ReverseAdd(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public SingleDataFrameColumn Subtract(float value) { @@ -8354,7 +8376,7 @@ public SingleDataFrameColumn Subtract(float value) public SingleDataFrameColumn ReverseSubtract(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public SingleDataFrameColumn Multiply(float value) { @@ -8364,7 +8386,7 @@ public SingleDataFrameColumn Multiply(float value) public SingleDataFrameColumn ReverseMultiply(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public SingleDataFrameColumn Divide(float value) { @@ -8374,7 +8396,7 @@ public SingleDataFrameColumn Divide(float value) public SingleDataFrameColumn ReverseDivide(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public SingleDataFrameColumn Modulo(float value) { @@ -8384,7 +8406,7 @@ public SingleDataFrameColumn Modulo(float value) public SingleDataFrameColumn ReverseModulo(float value) { var floatColumn = CloneAsSingleColumn(); - return floatColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return floatColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(int value) { @@ -8394,7 +8416,7 @@ public Int32DataFrameColumn Add(int value) public Int32DataFrameColumn ReverseAdd(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(int value) { @@ -8404,7 +8426,7 @@ public Int32DataFrameColumn Subtract(int value) public Int32DataFrameColumn ReverseSubtract(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(int value) { @@ -8414,7 +8436,7 @@ public Int32DataFrameColumn Multiply(int value) public Int32DataFrameColumn ReverseMultiply(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(int value) { @@ -8424,7 +8446,7 @@ public Int32DataFrameColumn Divide(int value) public Int32DataFrameColumn ReverseDivide(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(int value) { @@ -8434,7 +8456,7 @@ public Int32DataFrameColumn Modulo(int value) public Int32DataFrameColumn ReverseModulo(int value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int64DataFrameColumn Add(long value) { @@ -8444,7 +8466,7 @@ public Int64DataFrameColumn Add(long value) public Int64DataFrameColumn ReverseAdd(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int64DataFrameColumn Subtract(long value) { @@ -8454,7 +8476,7 @@ public Int64DataFrameColumn Subtract(long value) public Int64DataFrameColumn ReverseSubtract(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int64DataFrameColumn Multiply(long value) { @@ -8464,7 +8486,7 @@ public Int64DataFrameColumn Multiply(long value) public Int64DataFrameColumn ReverseMultiply(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int64DataFrameColumn Divide(long value) { @@ -8474,7 +8496,7 @@ public Int64DataFrameColumn Divide(long value) public Int64DataFrameColumn ReverseDivide(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int64DataFrameColumn Modulo(long value) { @@ -8484,7 +8506,7 @@ public Int64DataFrameColumn Modulo(long value) public Int64DataFrameColumn ReverseModulo(long value) { var longColumn = CloneAsInt64Column(); - return longColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return longColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(sbyte value) { @@ -8494,7 +8516,7 @@ public Int32DataFrameColumn Add(sbyte value) public Int32DataFrameColumn ReverseAdd(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(sbyte value) { @@ -8504,7 +8526,7 @@ public Int32DataFrameColumn Subtract(sbyte value) public Int32DataFrameColumn ReverseSubtract(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(sbyte value) { @@ -8514,7 +8536,7 @@ public Int32DataFrameColumn Multiply(sbyte value) public Int32DataFrameColumn ReverseMultiply(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(sbyte value) { @@ -8524,7 +8546,7 @@ public Int32DataFrameColumn Divide(sbyte value) public Int32DataFrameColumn ReverseDivide(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(sbyte value) { @@ -8534,7 +8556,7 @@ public Int32DataFrameColumn Modulo(sbyte value) public Int32DataFrameColumn ReverseModulo(sbyte value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(short value) { @@ -8544,7 +8566,7 @@ public Int32DataFrameColumn Add(short value) public Int32DataFrameColumn ReverseAdd(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(short value) { @@ -8554,7 +8576,7 @@ public Int32DataFrameColumn Subtract(short value) public Int32DataFrameColumn ReverseSubtract(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(short value) { @@ -8564,7 +8586,7 @@ public Int32DataFrameColumn Multiply(short value) public Int32DataFrameColumn ReverseMultiply(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(short value) { @@ -8574,7 +8596,7 @@ public Int32DataFrameColumn Divide(short value) public Int32DataFrameColumn ReverseDivide(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(short value) { @@ -8584,7 +8606,7 @@ public Int32DataFrameColumn Modulo(short value) public Int32DataFrameColumn ReverseModulo(short value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt32DataFrameColumn Add(uint value) { @@ -8594,7 +8616,7 @@ public UInt32DataFrameColumn Add(uint value) public UInt32DataFrameColumn ReverseAdd(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt32DataFrameColumn Subtract(uint value) { @@ -8604,7 +8626,7 @@ public UInt32DataFrameColumn Subtract(uint value) public UInt32DataFrameColumn ReverseSubtract(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt32DataFrameColumn Multiply(uint value) { @@ -8614,7 +8636,7 @@ public UInt32DataFrameColumn Multiply(uint value) public UInt32DataFrameColumn ReverseMultiply(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt32DataFrameColumn Divide(uint value) { @@ -8624,7 +8646,7 @@ public UInt32DataFrameColumn Divide(uint value) public UInt32DataFrameColumn ReverseDivide(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt32DataFrameColumn Modulo(uint value) { @@ -8634,7 +8656,7 @@ public UInt32DataFrameColumn Modulo(uint value) public UInt32DataFrameColumn ReverseModulo(uint value) { var uintColumn = CloneAsUInt32Column(); - return uintColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return uintColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public UInt64DataFrameColumn Add(ulong value) { @@ -8644,7 +8666,7 @@ public UInt64DataFrameColumn Add(ulong value) public UInt64DataFrameColumn ReverseAdd(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public UInt64DataFrameColumn Subtract(ulong value) { @@ -8654,7 +8676,7 @@ public UInt64DataFrameColumn Subtract(ulong value) public UInt64DataFrameColumn ReverseSubtract(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public UInt64DataFrameColumn Multiply(ulong value) { @@ -8664,7 +8686,7 @@ public UInt64DataFrameColumn Multiply(ulong value) public UInt64DataFrameColumn ReverseMultiply(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public UInt64DataFrameColumn Divide(ulong value) { @@ -8674,7 +8696,7 @@ public UInt64DataFrameColumn Divide(ulong value) public UInt64DataFrameColumn ReverseDivide(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public UInt64DataFrameColumn Modulo(ulong value) { @@ -8684,7 +8706,7 @@ public UInt64DataFrameColumn Modulo(ulong value) public UInt64DataFrameColumn ReverseModulo(ulong value) { var ulongColumn = CloneAsUInt64Column(); - return ulongColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return ulongColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } public Int32DataFrameColumn Add(ushort value) { @@ -8694,7 +8716,7 @@ public Int32DataFrameColumn Add(ushort value) public Int32DataFrameColumn ReverseAdd(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseAdd, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace: true); } public Int32DataFrameColumn Subtract(ushort value) { @@ -8704,7 +8726,7 @@ public Int32DataFrameColumn Subtract(ushort value) public Int32DataFrameColumn ReverseSubtract(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseSubtract, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace: true); } public Int32DataFrameColumn Multiply(ushort value) { @@ -8714,7 +8736,7 @@ public Int32DataFrameColumn Multiply(ushort value) public Int32DataFrameColumn ReverseMultiply(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseMultiply, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace: true); } public Int32DataFrameColumn Divide(ushort value) { @@ -8724,7 +8746,7 @@ public Int32DataFrameColumn Divide(ushort value) public Int32DataFrameColumn ReverseDivide(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseDivide, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace: true); } public Int32DataFrameColumn Modulo(ushort value) { @@ -8734,9 +8756,10 @@ public Int32DataFrameColumn Modulo(ushort value) public Int32DataFrameColumn ReverseModulo(ushort value) { var intColumn = CloneAsInt32Column(); - return intColumn.HandleOperationImplementation(BinaryScalarOperation.ReverseModulo, value, inPlace: true); + return intColumn.HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace: true); } } + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn And(BooleanDataFrameColumn column, bool inPlace = false) @@ -8750,15 +8773,17 @@ public BooleanDataFrameColumn And(BooleanDataFrameColumn column, bool inPlace = return retColumn; } } + public partial class BooleanDataFrameColumn { public new BooleanDataFrameColumn And(bool value, bool inPlace = false) { BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.And(value); + retColumn.ColumnContainer.HandleOperation(BinaryScalarOperation.And, value); return retColumn; } } + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn Or(BooleanDataFrameColumn column, bool inPlace = false) @@ -8772,15 +8797,17 @@ public BooleanDataFrameColumn Or(BooleanDataFrameColumn column, bool inPlace = f return retColumn; } } + public partial class BooleanDataFrameColumn { public new BooleanDataFrameColumn Or(bool value, bool inPlace = false) { BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.Or(value); + retColumn.ColumnContainer.HandleOperation(BinaryScalarOperation.Or, value); return retColumn; } } + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn Xor(BooleanDataFrameColumn column, bool inPlace = false) @@ -8794,16 +8821,18 @@ public BooleanDataFrameColumn Xor(BooleanDataFrameColumn column, bool inPlace = return retColumn; } } + public partial class BooleanDataFrameColumn { public new BooleanDataFrameColumn Xor(bool value, bool inPlace = false) { BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.Xor(value); + retColumn.ColumnContainer.HandleOperation(BinaryScalarOperation.Xor, value); return retColumn; } } + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(BooleanDataFrameColumn column) @@ -8831,6 +8860,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(BooleanDataFrameColumn column) return ElementwiseLessThanImplementation(column); } } + public partial class ByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -9158,6 +9188,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ushortColumn.ElementwiseLessThanImplementation(column); } } + public partial class DecimalDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -9425,6 +9456,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherdecimalColumn); } } + public partial class DoubleDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -9722,6 +9754,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherdoubleColumn); } } + public partial class SingleDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -10019,6 +10052,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherfloatColumn); } } + public partial class Int32DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -10346,6 +10380,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherintColumn); } } + public partial class Int64DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -10643,6 +10678,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherlongColumn); } } + public partial class SByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -10970,6 +11006,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ushortColumn.ElementwiseLessThanImplementation(column); } } + public partial class Int16DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -11297,6 +11334,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(othershortColumn); } } + public partial class UInt32DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -11624,6 +11662,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otheruintColumn); } } + public partial class UInt64DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -11921,6 +11960,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(otherulongColumn); } } + public partial class UInt16DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) @@ -12248,6 +12288,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) return ElementwiseLessThanImplementation(column); } } + public partial class DateTimeDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(DateTimeDataFrameColumn column) @@ -12275,6 +12316,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(DateTimeDataFrameColumn column return ElementwiseLessThanImplementation(column); } } + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(bool value) @@ -12302,6 +12344,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(bool value) return ElementwiseLessThanImplementation(value); } } + public partial class ByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -12629,6 +12672,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ushortColumn.ElementwiseLessThanImplementation(value); } } + public partial class DecimalDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -12896,6 +12940,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherdecimalValue); } } + public partial class DoubleDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -13193,6 +13238,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherdoubleValue); } } + public partial class SingleDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -13490,6 +13536,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherfloatValue); } } + public partial class Int32DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -13817,6 +13864,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherintValue); } } + public partial class Int64DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -14114,6 +14162,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherlongValue); } } + public partial class SByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -14441,6 +14490,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ushortColumn.ElementwiseLessThanImplementation(value); } } + public partial class Int16DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -14768,6 +14818,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(othershortValue); } } + public partial class UInt32DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -15095,6 +15146,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otheruintValue); } } + public partial class UInt64DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -15392,6 +15444,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(otherulongValue); } } + public partial class UInt16DataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) @@ -15719,6 +15772,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(ushort value) return ElementwiseLessThanImplementation(value); } } + public partial class DateTimeDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(DateTime value) @@ -15747,6 +15801,7 @@ public BooleanDataFrameColumn ElementwiseLessThan(DateTime value) } } + public partial class ByteDataFrameColumn { public new Int32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15756,6 +15811,7 @@ public partial class ByteDataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int32DataFrameColumn { public new Int32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15764,6 +15820,7 @@ public partial class Int32DataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int64DataFrameColumn { public new Int64DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15772,6 +15829,7 @@ public partial class Int64DataFrameColumn return new Int64DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class SByteDataFrameColumn { public new Int32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15781,6 +15839,7 @@ public partial class SByteDataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int16DataFrameColumn { public new Int32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15790,6 +15849,7 @@ public partial class Int16DataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt32DataFrameColumn { public new UInt32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15798,6 +15858,7 @@ public partial class UInt32DataFrameColumn return new UInt32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt64DataFrameColumn { public new UInt64DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15806,6 +15867,7 @@ public partial class UInt64DataFrameColumn return new UInt64DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt16DataFrameColumn { public new Int32DataFrameColumn LeftShift(int value, bool inPlace = false) @@ -15815,6 +15877,7 @@ public partial class UInt16DataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class ByteDataFrameColumn { public new Int32DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15824,6 +15887,7 @@ public partial class ByteDataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int32DataFrameColumn { public new Int32DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15832,6 +15896,7 @@ public partial class Int32DataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int64DataFrameColumn { public new Int64DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15840,6 +15905,7 @@ public partial class Int64DataFrameColumn return new Int64DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class SByteDataFrameColumn { public new Int32DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15849,6 +15915,7 @@ public partial class SByteDataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class Int16DataFrameColumn { public new Int32DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15858,6 +15925,7 @@ public partial class Int16DataFrameColumn return new Int32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt32DataFrameColumn { public new UInt32DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15866,6 +15934,7 @@ public partial class UInt32DataFrameColumn return new UInt32DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt64DataFrameColumn { public new UInt64DataFrameColumn RightShift(int value, bool inPlace = false) @@ -15874,6 +15943,7 @@ public partial class UInt64DataFrameColumn return new UInt64DataFrameColumn(result.Name, result.ColumnContainer); } } + public partial class UInt16DataFrameColumn { public new Int32DataFrameColumn RightShift(int value, bool inPlace = false) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt index 0b89e27bdb..f4b15ecaf6 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt @@ -42,6 +42,7 @@ void GenerateAllBinaryCombinations() visited.Add(outerColumnType); string fullOuterColumnType = GetCapitalizedPrimitiveTypes(outerColumnType) + "DataFrameColumn"; #> + public partial class <#=fullOuterColumnType#> { <# @@ -155,6 +156,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() visited.Add(outerColumnType); string fullOuterColumnType = GetCapitalizedPrimitiveTypes(outerColumnType) + "DataFrameColumn"; #> + public partial class <#=fullOuterColumnType#> { <# @@ -246,6 +248,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() } if (method.MethodType == MethodType.BinaryScalar && method.IsNumeric) { + string operationName = method.MethodName; string methodName = "Reverse" + method.MethodName; string returnType = types.ReturnColumnType; string columnType = types.ThisColumnType; @@ -279,7 +282,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() if (fullReturnType == fullColumnType) { #> - return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.<#=operationName#>, value, inPlace); <# } else @@ -287,7 +290,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() // Cases such as byte + byte resulting in int. Needs 2 clones #> var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); + return <#=returnType#>Column.HandleReverseOperationImplementation(BinaryScalarOperation.<#=operationName#>, value, inPlace: true); <# } } @@ -302,14 +305,14 @@ void GenerateAllBinaryScalarCombinationsForMethod() { #> var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); + return <#=returnType#>Column.HandleReverseOperationImplementation(BinaryScalarOperation.<#=operationName#>, value, inPlace: true); <# } else { #> var convertedValue = (<#=returnType#>)value; - return HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, convertedValue, inPlace); + return HandleReverseOperationImplementation(BinaryScalarOperation.<#=operationName#>, convertedValue, inPlace); <# } } @@ -318,7 +321,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() // Cases such as byte + short resulting in int. Needs 2 clones #> var <#=returnType#>Column = CloneAs<#=capitalizedReturnType#>Column(); - return <#=returnType#>Column.HandleOperationImplementation(BinaryScalarOperation.<#=methodName#>, value, inPlace: true); + return <#=returnType#>Column.HandleReverseOperationImplementation(BinaryScalarOperation.<#=operationName#>, value, inPlace: true); <# } } @@ -338,6 +341,7 @@ void GenerateAllBinaryScalarCombinationsForMethod() void GenerateAllBinaryBitwiseOperationsForMethod(string methodName) { #> + public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn <#=methodName#>(BooleanDataFrameColumn column, bool inPlace = false) @@ -358,12 +362,13 @@ void GenerateAllBinaryBitwiseOperationsForMethod(string methodName) void GenerateAllBinaryScalarBitwiseOperationsForMethod(string methodName) { #> + public partial class BooleanDataFrameColumn { public new BooleanDataFrameColumn <#=methodName#>(bool value, bool inPlace = false) { BooleanDataFrameColumn retColumn = inPlace ? this : CloneAsBooleanColumn(); - retColumn.ColumnContainer.<#=methodName#>(value); + retColumn.ColumnContainer.HandleOperation(BinaryScalarOperation.<#=methodName#>, value); return retColumn; } } @@ -399,6 +404,7 @@ void GenerateAllComparisonCombinationsForMethod() visited.Add(outerColumnType); string fullOuterColumnType = GetCapitalizedPrimitiveTypes(outerColumnType) + "DataFrameColumn"; #> + public partial class <#=fullOuterColumnType#> { <# @@ -479,6 +485,7 @@ void GenerateAllComparisonScalarCombinationsForMethod() visited.Add(outerColumnType); string fullOuterColumnType = GetCapitalizedPrimitiveTypes(outerColumnType) + "DataFrameColumn"; #> + public partial class <#=fullOuterColumnType#> { <# @@ -567,6 +574,7 @@ void GenerateAllBinaryShiftCombinationsForMethod(string methodName) string fullColumnType = GetCapitalizedPrimitiveTypes(type.TypeName) + "DataFrameColumn"; string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); #> + public partial class <#=fullColumnType#> { public new <#=fullReturnType#> <#=methodName#>(int value, bool inPlace = false) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs index a2aa41f4cd..f7978a87a9 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs @@ -11,6 +11,7 @@ namespace Microsoft.Data.Analysis { + public partial class DecimalDataFrameColumn { //Binary Operations @@ -26,13 +27,21 @@ internal DecimalDataFrameColumn HandleOperationImplementation(BinaryOperation op } //Binary Scalar Operations - internal DecimalDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, decimal right) + internal DecimalDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, decimal right, bool inPlace = false) { - var newColumn = (DecimalDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal DecimalDataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, decimal right, bool inPlace = false) + { + var newColumn = inPlace ? this : (DecimalDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class DoubleDataFrameColumn { //Binary Operations @@ -48,13 +57,21 @@ internal DoubleDataFrameColumn HandleOperationImplementation(BinaryOperation ope } //Binary Scalar Operations - internal DoubleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, double right) + internal DoubleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, double right, bool inPlace = false) { - var newColumn = (DoubleDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal DoubleDataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, double right, bool inPlace = false) + { + var newColumn = inPlace ? this : (DoubleDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class SingleDataFrameColumn { //Binary Operations @@ -70,13 +87,21 @@ internal SingleDataFrameColumn HandleOperationImplementation(BinaryOperation ope } //Binary Scalar Operations - internal SingleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, float right) + internal SingleDataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, float right, bool inPlace = false) { - var newColumn = (SingleDataFrameColumn)Clone(); + var newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal SingleDataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, float right, bool inPlace = false) + { + var newColumn = inPlace ? this : (SingleDataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class Int32DataFrameColumn { //Binary Operations @@ -92,13 +117,21 @@ internal Int32DataFrameColumn HandleOperationImplementation(BinaryOperation oper } //Binary Scalar Operations - internal Int32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, int right) + internal Int32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, int right, bool inPlace = false) { - var newColumn = (Int32DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal Int32DataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, int right, bool inPlace = false) + { + var newColumn = inPlace ? this : (Int32DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class Int64DataFrameColumn { //Binary Operations @@ -114,13 +147,21 @@ internal Int64DataFrameColumn HandleOperationImplementation(BinaryOperation oper } //Binary Scalar Operations - internal Int64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, long right) + internal Int64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, long right, bool inPlace = false) { - var newColumn = (Int64DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal Int64DataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, long right, bool inPlace = false) + { + var newColumn = inPlace ? this : (Int64DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class UInt32DataFrameColumn { //Binary Operations @@ -136,13 +177,21 @@ internal UInt32DataFrameColumn HandleOperationImplementation(BinaryOperation ope } //Binary Scalar Operations - internal UInt32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, uint right) + internal UInt32DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, uint right, bool inPlace = false) { - var newColumn = (UInt32DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal UInt32DataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, uint right, bool inPlace = false) + { + var newColumn = inPlace ? this : (UInt32DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } + public partial class UInt64DataFrameColumn { //Binary Operations @@ -158,12 +207,19 @@ internal UInt64DataFrameColumn HandleOperationImplementation(BinaryOperation ope } //Binary Scalar Operations - internal UInt64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, ulong right) + internal UInt64DataFrameColumn HandleOperationImplementation(BinaryScalarOperation operation, ulong right, bool inPlace = false) { - var newColumn = (UInt64DataFrameColumn)Clone(); + var newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal UInt64DataFrameColumn HandleReverseOperationImplementation(BinaryScalarOperation operation, ulong right, bool inPlace = false) + { + var newColumn = inPlace ? this : (UInt64DataFrameColumn)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } public partial class BooleanDataFrameColumn diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt index 70c0008c4a..c0931f039e 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt @@ -54,6 +54,7 @@ void GenerateAllBinaryCombinationsForMethods() string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); #> + public partial class <#=fullColumnType#> { //Binary Operations @@ -82,12 +83,19 @@ void GenerateAllBinaryCombinationsForMethods() } //Binary Scalar Operations - internal <#=fullReturnType#> HandleOperationImplementation(BinaryScalarOperation operation, <#=otherColumnType#> right) + internal <#=fullReturnType#> HandleOperationImplementation(BinaryScalarOperation operation, <#=otherColumnType#> right, bool inPlace = false) { - var newColumn = (<#=fullReturnType#>)Clone(); + var newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); newColumn.ColumnContainer.HandleOperation(operation, right); return newColumn; } + + internal <#=fullReturnType#> HandleReverseOperationImplementation(BinaryScalarOperation operation, <#=otherColumnType#> right, bool inPlace = false) + { + var newColumn = inPlace ? this : (<#=fullReturnType#>)Clone(); + newColumn.ColumnContainer.HandleReverseOperation(operation, right); + return newColumn; + } } <# } From aca4bef20a9eab9f4cf896750861d8a30666c980 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Thu, 28 Sep 2023 17:31:29 +0300 Subject: [PATCH 38/44] Add implementation for BinaryIntOperations --- .../ColumnArithmetic.OperationEnums.cs | 6 + .../ColumnArithmetic.OperationEnums.tt | 9 + ...imitiveColumnContainer.BinaryOperations.cs | 17 +- ...imitiveColumnContainer.BinaryOperations.tt | 23 +- .../PrimitiveColumnContainer.cs | 2 +- ...imitiveDataFrameColumn.BinaryOperations.cs | 132 +------- ...imitiveDataFrameColumn.BinaryOperations.tt | 72 +--- .../PrimitiveDataFrameColumn.cs | 82 ++++- .../PrimitiveDataFrameColumnArithmetic.cs | 317 ++++++------------ .../PrimitiveDataFrameColumnArithmetic.tt | 75 ++--- .../PerformanceTests.cs | 28 ++ 11 files changed, 272 insertions(+), 491 deletions(-) diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs index b4ec168714..f9f7768c2a 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs @@ -29,4 +29,10 @@ internal enum BinaryScalarOperation Or, Xor, } + + internal enum BinaryIntOperation + { + LeftShift, + RightShift, + } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt index 7b4632d4e6..fb62790f11 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt @@ -27,6 +27,15 @@ namespace Microsoft.Data.Analysis <# if (method.MethodType == MethodType.BinaryScalar) { #> <#=method.MethodName#>, <# } #> +<# } #> + } + + internal enum BinaryIntOperation + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.BinaryInt) { #> + <#=method.MethodName#>, +<# } #> <# } #> } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 711700f16a..69c7d6e9c9 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -60,16 +60,19 @@ public PrimitiveColumnContainer HandleReverseOperation(BinaryScalarOperation return this; } - public PrimitiveColumnContainer LeftShift(int value) + public PrimitiveColumnContainer HandleOperation(BinaryIntOperation operation, int right) { - PrimitiveDataFrameColumnArithmetic.Instance.LeftShift(this, value); - return this; - } - public PrimitiveColumnContainer RightShift(int value) - { - PrimitiveDataFrameColumnArithmetic.Instance.RightShift(this, value); + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, leftSpan, right); + } + return this; } + public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer right) { return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseEquals(this, right); diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt index 82ae925455..c9f6626b31 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt @@ -66,6 +66,19 @@ namespace Microsoft.Data.Analysis return this; } + public PrimitiveColumnContainer HandleOperation(BinaryIntOperation operation, int right) + { + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; + + arithmetic.HandleOperation(operation, leftSpan, right); + } + + return this; + } + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) @@ -77,16 +90,6 @@ namespace Microsoft.Data.Analysis { return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); } -<# } else if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> - public <#= method.GetSingleArgumentMethodSignature("PrimitiveColumnContainer", "T")#> - { -<# if (method.MethodType == MethodType.BinaryInt) { #> - PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, value); -<# } else { #> - PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, right); -<# } #> - return this; - } <# } #> <# } #> } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 13fe7709d5..59ce8a5ad1 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -319,7 +319,7 @@ public void AppendMany(T? value, long count) int originalBufferLength = mutableLastBuffer.Length; int allocatable = (int)Math.Min(remaining, ReadOnlyDataFrameBuffer.MaxCapacity - originalBufferLength); mutableLastBuffer.IncreaseSize(allocatable); - //Calculate how many bytes we have additionaly allocate to store allocatable number of bits (need to take into account unused bits inside already allocated bytes) + //Calculate how many bytes we have additionaly allocate to store allocatable number of bits (need to take into account unused bits inside already allocated bytes) int nullBufferAllocatable = (originalBufferLength + allocatable + 7) / 8 - lastNullBitMapBuffer.Length; lastNullBitMapBuffer.IncreaseSize(nullBufferAllocatable); diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs index 301a1254ff..f462d4e11f 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs @@ -433,13 +433,13 @@ public override PrimitiveDataFrameColumn Xor(bool value, bool inPlace = fa /// public override DataFrameColumn LeftShift(int value, bool inPlace = false) { - return LeftShiftImplementation(value, inPlace); + return HandleOperationImplementation(BinaryIntOperation.LeftShift, value, inPlace); } /// public override DataFrameColumn RightShift(int value, bool inPlace = false) { - return RightShiftImplementation(value, inPlace); + return HandleOperationImplementation(BinaryIntOperation.RightShift, value, inPlace); } /// @@ -746,134 +746,6 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(U value) return ElementwiseLessThanImplementation(value); } - internal DataFrameColumn LeftShiftImplementation(int value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - PrimitiveDataFrameColumn byteColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newbyteColumn = inPlace ? byteColumn : byteColumn.Clone(); - newbyteColumn._columnContainer.LeftShift(value); - return newbyteColumn; - case Type charType when charType == typeof(char): - PrimitiveDataFrameColumn charColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newcharColumn = inPlace ? charColumn : charColumn.Clone(); - newcharColumn._columnContainer.LeftShift(value); - return newcharColumn; - case Type decimalType when decimalType == typeof(decimal): - throw new NotSupportedException(); - case Type doubleType when doubleType == typeof(double): - throw new NotSupportedException(); - case Type floatType when floatType == typeof(float): - throw new NotSupportedException(); - case Type intType when intType == typeof(int): - PrimitiveDataFrameColumn intColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newintColumn = inPlace ? intColumn : intColumn.Clone(); - newintColumn._columnContainer.LeftShift(value); - return newintColumn; - case Type longType when longType == typeof(long): - PrimitiveDataFrameColumn longColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newlongColumn = inPlace ? longColumn : longColumn.Clone(); - newlongColumn._columnContainer.LeftShift(value); - return newlongColumn; - case Type sbyteType when sbyteType == typeof(sbyte): - PrimitiveDataFrameColumn sbyteColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newsbyteColumn = inPlace ? sbyteColumn : sbyteColumn.Clone(); - newsbyteColumn._columnContainer.LeftShift(value); - return newsbyteColumn; - case Type shortType when shortType == typeof(short): - PrimitiveDataFrameColumn shortColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newshortColumn = inPlace ? shortColumn : shortColumn.Clone(); - newshortColumn._columnContainer.LeftShift(value); - return newshortColumn; - case Type uintType when uintType == typeof(uint): - PrimitiveDataFrameColumn uintColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newuintColumn = inPlace ? uintColumn : uintColumn.Clone(); - newuintColumn._columnContainer.LeftShift(value); - return newuintColumn; - case Type ulongType when ulongType == typeof(ulong): - PrimitiveDataFrameColumn ulongColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newulongColumn = inPlace ? ulongColumn : ulongColumn.Clone(); - newulongColumn._columnContainer.LeftShift(value); - return newulongColumn; - case Type ushortType when ushortType == typeof(ushort): - PrimitiveDataFrameColumn ushortColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newushortColumn = inPlace ? ushortColumn : ushortColumn.Clone(); - newushortColumn._columnContainer.LeftShift(value); - return newushortColumn; - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - default: - throw new NotSupportedException(); - } - } - - internal DataFrameColumn RightShiftImplementation(int value, bool inPlace) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - PrimitiveDataFrameColumn byteColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newbyteColumn = inPlace ? byteColumn : byteColumn.Clone(); - newbyteColumn._columnContainer.RightShift(value); - return newbyteColumn; - case Type charType when charType == typeof(char): - PrimitiveDataFrameColumn charColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newcharColumn = inPlace ? charColumn : charColumn.Clone(); - newcharColumn._columnContainer.RightShift(value); - return newcharColumn; - case Type decimalType when decimalType == typeof(decimal): - throw new NotSupportedException(); - case Type doubleType when doubleType == typeof(double): - throw new NotSupportedException(); - case Type floatType when floatType == typeof(float): - throw new NotSupportedException(); - case Type intType when intType == typeof(int): - PrimitiveDataFrameColumn intColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newintColumn = inPlace ? intColumn : intColumn.Clone(); - newintColumn._columnContainer.RightShift(value); - return newintColumn; - case Type longType when longType == typeof(long): - PrimitiveDataFrameColumn longColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newlongColumn = inPlace ? longColumn : longColumn.Clone(); - newlongColumn._columnContainer.RightShift(value); - return newlongColumn; - case Type sbyteType when sbyteType == typeof(sbyte): - PrimitiveDataFrameColumn sbyteColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newsbyteColumn = inPlace ? sbyteColumn : sbyteColumn.Clone(); - newsbyteColumn._columnContainer.RightShift(value); - return newsbyteColumn; - case Type shortType when shortType == typeof(short): - PrimitiveDataFrameColumn shortColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newshortColumn = inPlace ? shortColumn : shortColumn.Clone(); - newshortColumn._columnContainer.RightShift(value); - return newshortColumn; - case Type uintType when uintType == typeof(uint): - PrimitiveDataFrameColumn uintColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newuintColumn = inPlace ? uintColumn : uintColumn.Clone(); - newuintColumn._columnContainer.RightShift(value); - return newuintColumn; - case Type ulongType when ulongType == typeof(ulong): - PrimitiveDataFrameColumn ulongColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newulongColumn = inPlace ? ulongColumn : ulongColumn.Clone(); - newulongColumn._columnContainer.RightShift(value); - return newulongColumn; - case Type ushortType when ushortType == typeof(ushort): - PrimitiveDataFrameColumn ushortColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newushortColumn = inPlace ? ushortColumn : ushortColumn.Clone(); - newushortColumn._columnContainer.RightShift(value); - return newushortColumn; - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - default: - throw new NotSupportedException(); - } - } - internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(PrimitiveDataFrameColumn column) where U : unmanaged { diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt index b56a02d614..acfaba6a73 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt @@ -102,12 +102,12 @@ namespace Microsoft.Data.Analysis /// public override DataFrameColumn <#=method.MethodName#>(int value, bool inPlace = false) { - return <#=method.MethodName#>Implementation(value, inPlace); + return HandleOperationImplementation(BinaryIntOperation.<#=method.MethodName#>, value, inPlace); } <# } #> <# } #> <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> +<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.BinaryInt) { #> <# if (method.MethodType == MethodType.ComparisonScalar) {#> internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value) @@ -116,10 +116,6 @@ namespace Microsoft.Data.Analysis internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column) where U : unmanaged -<# } #> -<# if (method.MethodType == MethodType.BinaryInt ) {#> - - internal DataFrameColumn <#=method.MethodName#>Implementation(int value, bool inPlace) <# } #> { <# if (method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.ComparisonScalar && method.MethodType != MethodType.BinaryInt) {#> @@ -128,24 +124,7 @@ namespace Microsoft.Data.Analysis throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); } <# } #> -<# if (method.MethodType == MethodType.BinaryInt ) {#> - switch (typeof(T)) - { -<# foreach (TypeConfiguration type in typeConfiguration) { #> - case Type <#=type.TypeName#>Type when <#=type.TypeName#>Type == typeof(<#=type.TypeName#>): -<# if (type.TypeName == "bool" || type.SupportsBitwise == false) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn<<#=type.TypeName#>> <#=type.TypeName#>Column = this as PrimitiveDataFrameColumn<<#=type.TypeName#>>; - PrimitiveDataFrameColumn<<#=type.TypeName#>> new<#=type.TypeName#>Column = inPlace ? <#=type.TypeName#>Column : <#=type.TypeName#>Column.Clone(); - new<#=type.TypeName#>Column._columnContainer.<#=method.MethodName#>(value); - return new<#=type.TypeName#>Column; -<# } #> -<# } #> - default: - throw new NotSupportedException(); - } -<# } else if (method.IsBitwise == true && method.IsNumeric == false) { #> +<# if (method.IsBitwise == true && method.IsNumeric == false) { #> switch (typeof(T)) { case Type boolType when boolType == typeof(bool): @@ -153,17 +132,10 @@ namespace Microsoft.Data.Analysis { throw new NotSupportedException(); } -<# if (method.MethodType == MethodType.BinaryScalar) {#> - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = <#=GenerateInPlaceStatement("typedColumn", "typedColumn.Clone()")#>; - retColumn._columnContainer.<#=method.MethodName#>(Unsafe.As(ref value)); - return retColumn as PrimitiveDataFrameColumn; -<# } else { #> PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; PrimitiveDataFrameColumn retColumn = <#=GenerateInPlaceStatement("typedColumn", "typedColumn.Clone()")#>; retColumn._columnContainer.<#=method.MethodName#>(column._columnContainer); return retColumn; -<# } #> <# foreach (TypeConfiguration type in typeConfiguration) { #> <# if (type.TypeName == "bool") { #> <# } else { #> @@ -190,10 +162,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn<<#=type.TypeName#>>)._columnContainer.<#=method.MethodName#>(Unsafe.As>(ref value))); <# } else if (method.MethodType == MethodType.Comparison) { #> return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.<#=method.MethodName#>(column._columnContainer)); -<# } else if (method.MethodType == MethodType.BinaryScalar) {#> - PrimitiveDataFrameColumn column = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn ret<#=type.TypeName#>Column = <#=GenerateInPlaceStatement("column", "column.Clone()")#>; - ret<#=type.TypeName#>Column._columnContainer.<#=method.MethodName#>(value); <# } else { #> PrimitiveDataFrameColumn column = this as PrimitiveDataFrameColumn; PrimitiveDataFrameColumn ret<#=type.TypeName#>Column = <#=GenerateInPlaceStatement("column", "column.Clone()")#>; @@ -217,11 +185,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(column._columnContainer)); <# } else if (method.IsBitwise == true ) { #> throw new NotSupportedException(); -<# } else if (method.MethodType == MethodType.BinaryScalar ) { #> - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; - newColumn._columnContainer.<#=method.MethodName#>(Unsafe.As(ref value)); - return newColumn; <# } else { #> PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; @@ -231,12 +194,6 @@ namespace Microsoft.Data.Analysis } else { -<# if (method.MethodType == MethodType.BinaryScalar) { #> - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } -<# } #> <# if (method.MethodType == MethodType.ComparisonScalar) { #> PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value))); @@ -245,10 +202,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDecimalColumn()._columnContainer)); <# } else if (method.IsBitwise == true) { #> throw new NotSupportedException(); -<# } else if (method.MethodType == MethodType.BinaryScalar) { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; <# } else { #> PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); decimalColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDecimalColumn()._columnContainer); @@ -284,11 +237,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(column._columnContainer)); <# } else if (method.IsBitwise == true ) { #> throw new NotSupportedException(); -<# } else if (method.MethodType == MethodType.BinaryScalar ) { #> - PrimitiveDataFrameColumn primitiveColumn = this; - PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; - newColumn._columnContainer.<#=method.MethodName#>(Unsafe.As(ref value)); - return newColumn; <# } else { #> PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; @@ -298,12 +246,6 @@ namespace Microsoft.Data.Analysis } else { -<# if (method.MethodType == MethodType.BinaryScalar) { #> - if (inPlace) - { - throw new ArgumentException(string.Format(Strings.MismatchedValueType, typeof(T)), nameof(value)); - } -<# } #> if (typeof(U) == typeof(decimal)) { <# if (method.MethodType == MethodType.ComparisonScalar) { #> @@ -314,10 +256,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>((column as PrimitiveDataFrameColumn)._columnContainer)); <# } else if (method.IsBitwise == true) { #> throw new NotSupportedException(); -<# } else if (method.MethodType == MethodType.BinaryScalar) { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value)); - return decimalColumn; <# } else { #> PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); decimalColumn._columnContainer.<#=method.MethodName#>((column as PrimitiveDataFrameColumn)._columnContainer); @@ -334,10 +272,6 @@ namespace Microsoft.Data.Analysis return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDoubleColumn()._columnContainer)); <# } else if (method.IsBitwise == true) { #> throw new NotSupportedException(); -<# } else if (method.MethodType == MethodType.BinaryScalar ) { #> - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.<#=method.MethodName#>(DoubleConverter.Instance.GetDouble(value)); - return doubleColumn; <# } else { #> PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); doubleColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDoubleColumn()._columnContainer); diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index d12ab5ac33..817fed9d0d 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -63,7 +63,7 @@ public IEnumerable> GetReadOnlyDataBuffers() { for (int i = 0; i < _columnContainer.Buffers.Count; i++) { - var buffer = _columnContainer.Buffers[i]; + ReadOnlyDataFrameBuffer buffer = _columnContainer.Buffers[i]; yield return buffer.ReadOnlyMemory; } } @@ -75,7 +75,7 @@ public IEnumerable> GetReadOnlyDataBuffers() /// IEnumerable public IEnumerable> GetReadOnlyNullBitMapBuffers() { - for (var i = 0; i < _columnContainer.NullBitMapBuffers.Count; i++) + for (int i = 0; i < _columnContainer.NullBitMapBuffers.Count; i++) { ReadOnlyDataFrameBuffer buffer = _columnContainer.NullBitMapBuffers[i]; yield return buffer.RawReadOnlyMemory; @@ -118,7 +118,7 @@ private IArrowType GetArrowType() private int GetNullCount(long startIndex, int numberOfRows) { - var nullCount = 0; + int nullCount = 0; for (long i = startIndex; i < numberOfRows; i++) { if (!IsValid(i)) @@ -129,15 +129,15 @@ private int GetNullCount(long startIndex, int numberOfRows) protected internal override Apache.Arrow.Array ToArrowArray(long startIndex, int numberOfRows) { - var arrayIndex = numberOfRows == 0 ? 0 : _columnContainer.GetArrayContainingRowIndex(startIndex); - var offset = (int)(startIndex - arrayIndex * ReadOnlyDataFrameBuffer.MaxCapacity); + int arrayIndex = numberOfRows == 0 ? 0 : _columnContainer.GetArrayContainingRowIndex(startIndex); + int offset = (int)(startIndex - arrayIndex * ReadOnlyDataFrameBuffer.MaxCapacity); if (numberOfRows != 0 && numberOfRows > _columnContainer.Buffers[arrayIndex].Length - offset) { throw new ArgumentException(Strings.SpansMultipleBuffers, nameof(numberOfRows)); } - var nullCount = GetNullCount(startIndex, numberOfRows); + int nullCount = GetNullCount(startIndex, numberOfRows); //DateTime requires convertion if (this.DataType == typeof(DateTime)) @@ -151,7 +151,7 @@ protected internal override Apache.Arrow.Array ToArrowArray(long startIndex, int ReadOnlySpan valueSpan = MemoryMarshal.Cast(valueBuffer.ReadOnlySpan); Date64Array.Builder builder = new Date64Array.Builder().Reserve(valueBuffer.Length); - for (var i = 0; i < valueBuffer.Length; i++) + for (int i = 0; i < valueBuffer.Length; i++) { if (BitUtility.GetBit(nullBuffer.ReadOnlySpan, i)) builder.Append(valueSpan[i]); @@ -213,8 +213,8 @@ protected override IReadOnlyList GetValues(long startIndex, int length) } var ret = new List(length); - var endIndex = Math.Min(Length, startIndex + length); - for (var i = startIndex; i < endIndex; i++) + long endIndex = Math.Min(Length, startIndex + length); + for (long i = startIndex; i < endIndex; i++) { ret.Add(this[i]); } @@ -1159,5 +1159,69 @@ internal PrimitiveDataFrameColumn HandleBitwiseOperationImplementation( throw new NotSupportedException(); } } + + internal DataFrameColumn HandleOperationImplementation(BinaryIntOperation operation, int value, bool inPlace) + { + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + throw new NotSupportedException(); + case Type byteType when byteType == typeof(byte): + PrimitiveDataFrameColumn byteColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newbyteColumn = inPlace ? byteColumn : byteColumn.Clone(); + newbyteColumn._columnContainer.HandleOperation(operation, value); + return newbyteColumn; + case Type charType when charType == typeof(char): + PrimitiveDataFrameColumn charColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newcharColumn = inPlace ? charColumn : charColumn.Clone(); + newcharColumn._columnContainer.HandleOperation(operation, value); + return newcharColumn; + case Type decimalType when decimalType == typeof(decimal): + throw new NotSupportedException(); + case Type doubleType when doubleType == typeof(double): + throw new NotSupportedException(); + case Type floatType when floatType == typeof(float): + throw new NotSupportedException(); + case Type intType when intType == typeof(int): + PrimitiveDataFrameColumn intColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newintColumn = inPlace ? intColumn : intColumn.Clone(); + newintColumn._columnContainer.HandleOperation(operation, value); + return newintColumn; + case Type longType when longType == typeof(long): + PrimitiveDataFrameColumn longColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newlongColumn = inPlace ? longColumn : longColumn.Clone(); + newlongColumn._columnContainer.HandleOperation(operation, value); + return newlongColumn; + case Type sbyteType when sbyteType == typeof(sbyte): + PrimitiveDataFrameColumn sbyteColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newsbyteColumn = inPlace ? sbyteColumn : sbyteColumn.Clone(); + newsbyteColumn._columnContainer.HandleOperation(operation, value); + return newsbyteColumn; + case Type shortType when shortType == typeof(short): + PrimitiveDataFrameColumn shortColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newshortColumn = inPlace ? shortColumn : shortColumn.Clone(); + newshortColumn._columnContainer.HandleOperation(operation, value); + return newshortColumn; + case Type uintType when uintType == typeof(uint): + PrimitiveDataFrameColumn uintColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newuintColumn = inPlace ? uintColumn : uintColumn.Clone(); + newuintColumn._columnContainer.HandleOperation(operation, value); + return newuintColumn; + case Type ulongType when ulongType == typeof(ulong): + PrimitiveDataFrameColumn ulongColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newulongColumn = inPlace ? ulongColumn : ulongColumn.Clone(); + newulongColumn._columnContainer.HandleOperation(operation, value); + return newulongColumn; + case Type ushortType when ushortType == typeof(ushort): + PrimitiveDataFrameColumn ushortColumn = this as PrimitiveDataFrameColumn; + PrimitiveDataFrameColumn newushortColumn = inPlace ? ushortColumn : ushortColumn.Clone(); + newushortColumn._columnContainer.HandleOperation(operation, value); + return newushortColumn; + case Type DateTimeType when DateTimeType == typeof(DateTime): + throw new NotSupportedException(); + default: + throw new NotSupportedException(); + } + } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 2634fd88a6..4af180d01c 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -13,11 +13,12 @@ internal interface IPrimitiveDataFrameColumnArithmetic where T : unmanaged { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + void HandleOperation(BinaryScalarOperation operation, Span left, T right); void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); - void LeftShift(PrimitiveColumnContainer column, int value); - void RightShift(PrimitiveColumnContainer column, int value); + void HandleOperation(BinaryIntOperation operation, Span left, int right); + PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right); PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, T scalar); PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right); @@ -64,32 +65,40 @@ public virtual void HandleOperation(BinaryOperation operation, Span left, Spa public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) { - if (operation == BinaryScalarOperation.Divide) - { - Divide(left, right); - return; + switch (operation) + { + case BinaryScalarOperation.Add: + Add(left, right); + break; + case BinaryScalarOperation.Subtract: + Subtract(left, right); + break; + case BinaryScalarOperation.Multiply: + Multiply(left, right); + break; + case BinaryScalarOperation.Divide: + Divide(left, right); + break; + case BinaryScalarOperation.Modulo: + Modulo(left, right); + break; + case BinaryScalarOperation.And: + And(left, right); + break; + case BinaryScalarOperation.Or: + Or(left, right); + break; + case BinaryScalarOperation.Xor: + Xor(left, right); + break; } - else if (operation == BinaryScalarOperation.Add) - Add(left, right); - else if (operation == BinaryScalarOperation.Subtract) - Subtract(left, right); - else if (operation == BinaryScalarOperation.Multiply) - Multiply(left, right); - else if (operation == BinaryScalarOperation.Modulo) - Modulo(left, right); - else if (operation == BinaryScalarOperation.And) - And(left, right); - else if (operation == BinaryScalarOperation.Or) - Or(left, right); - else if (operation == BinaryScalarOperation.Xor) - Xor(left, right); } - public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right, Span rightValidity) + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) { if (operation == BinaryScalarOperation.Divide) { - Divide(left, right); + Divide(left, right, rightValidity); return; } else if (operation == BinaryScalarOperation.Add) @@ -108,27 +117,17 @@ public virtual void HandleOperation(BinaryScalarOperation operation, Span lef Xor(left, right); } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + public virtual void HandleOperation(BinaryIntOperation operation, Span left, int right) { - if (operation == BinaryScalarOperation.Divide) + switch (operation) { - Divide(left, right, rightValidity); - return; + case BinaryIntOperation.LeftShift: + LeftShift(left, right); + break; + case BinaryIntOperation.RightShift: + RightShift(left, right); + break; } - else if (operation == BinaryScalarOperation.Add) - Add(left, right); - else if (operation == BinaryScalarOperation.Subtract) - Subtract(left, right); - else if (operation == BinaryScalarOperation.Multiply) - Multiply(left, right); - else if (operation == BinaryScalarOperation.Modulo) - Modulo(left, right); - else if (operation == BinaryScalarOperation.And) - And(left, right); - else if (operation == BinaryScalarOperation.Or) - Or(left, right); - else if (operation == BinaryScalarOperation.Xor) - Xor(left, right); } public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); @@ -155,8 +154,8 @@ public virtual void HandleOperation(BinaryScalarOperation operation, T left, Spa public virtual void Xor(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Xor(Span left, T scalar) => throw new NotSupportedException(); public virtual void Xor(T left, Span right) => throw new NotSupportedException(); - public virtual void LeftShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); - public virtual void RightShift(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); + public virtual void LeftShift(Span left, int right) => throw new NotSupportedException(); + public virtual void RightShift(Span left, int right) => throw new NotSupportedException(); public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); public virtual PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); @@ -474,30 +473,16 @@ public override void Xor(byte left, Span right) right[i] = (byte)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (byte)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (byte)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -834,30 +819,16 @@ public override void Xor(char left, Span right) right[i] = (char)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (char)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (char)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -2043,30 +2014,16 @@ public override void Xor(int left, Span right) right[i] = (int)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (int)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (int)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -2403,30 +2360,16 @@ public override void Xor(long left, Span right) right[i] = (long)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (long)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (long)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -2763,30 +2706,16 @@ public override void Xor(sbyte left, Span right) right[i] = (sbyte)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (sbyte)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (sbyte)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -3123,30 +3052,16 @@ public override void Xor(short left, Span right) right[i] = (short)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (short)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (short)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -3483,30 +3398,16 @@ public override void Xor(uint left, Span right) right[i] = (uint)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (uint)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (uint)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -3843,30 +3744,16 @@ public override void Xor(ulong left, Span right) right[i] = (ulong)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ulong)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ulong)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) @@ -4203,30 +4090,16 @@ public override void Xor(ushort left, Span right) right[i] = (ushort)(left ^ right[i]); } - public override void LeftShift(PrimitiveColumnContainer column, int value) + public override void LeftShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] << value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] << right); } - public override void RightShift(PrimitiveColumnContainer column, int value) + public override void RightShift(Span left, int right) { - for (int b = 0; b < column.Buffers.Count; b++) - { - var mutableBuffer = column.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; - for (int i = 0; i < span.Length; i++) - { - span[i] = (ushort)(span[i] >> value); - } - } + for (var i = 0; i < left.Length; i++) + left[i] = (ushort)(left[i] >> right); } public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 04c1462d3a..67a2ac2133 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -20,19 +20,18 @@ namespace Microsoft.Data.Analysis where T : unmanaged { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + void HandleOperation(BinaryScalarOperation operation, Span left, T right); void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); + void HandleOperation(BinaryIntOperation operation, Span left, int right); + <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); -<# } #> -<# else if (method.MethodType == MethodType.ComparisonScalar) { #> +<# } else if (method.MethodType == MethodType.ComparisonScalar) {#> PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); <# } #> -<# else if (method.MethodType == MethodType.BinaryInt) { #> - void <#=method.MethodName#>(PrimitiveColumnContainer column, int value); -<# } #> <# } #> } @@ -62,26 +61,23 @@ namespace Microsoft.Data.Analysis public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) { - if (operation == BinaryScalarOperation.Divide) + switch (operation) { - Divide(left, right); - return; - } <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.BinaryScalar) { #> -<# if (method.MethodName != "Divide") { #> - else if (operation == BinaryScalarOperation.<#=method.MethodName#>) - <#=method.MethodName#>(left, right); -<# } #> + case BinaryScalarOperation.<#=method.MethodName#>: + <#=method.MethodName#>(left, right); + break; <# } #> <# } #> + } } - public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right, Span rightValidity) + public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) { if (operation == BinaryScalarOperation.Divide) { - Divide(left, right); + Divide(left, right, rightValidity); return; } <# foreach (MethodConfiguration method in methodConfiguration) { #> @@ -94,21 +90,18 @@ namespace Microsoft.Data.Analysis <# } #> } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + public virtual void HandleOperation(BinaryIntOperation operation, Span left, int right) { - if (operation == BinaryScalarOperation.Divide) + switch (operation) { - Divide(left, right, rightValidity); - return; - } <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.BinaryScalar) { #> -<# if (method.MethodName != "Divide") { #> - else if (operation == BinaryScalarOperation.<#=method.MethodName#>) - <#=method.MethodName#>(left, right); -<# } #> +<# if (method.MethodType == MethodType.BinaryInt) { #> + case BinaryIntOperation.<#=method.MethodName#>: + <#=method.MethodName#>(left, right); + break; <# } #> <# } #> + } } <# foreach (MethodConfiguration method in methodConfiguration) { #> @@ -121,22 +114,18 @@ namespace Microsoft.Data.Analysis <# else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> public virtual void <#=method.MethodName#>(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); -<# } #> -<# else { #> +<# } else {#> public virtual void <#=method.MethodName#>(Span left, ReadOnlySpan right) => throw new NotSupportedException(); <# } #> -<# } #> -<# else if (method.MethodType == MethodType.BinaryScalar) { #> +<# } else if (method.MethodType == MethodType.BinaryScalar) { #> public virtual void <#=method.MethodName#>(Span left, T scalar) => throw new NotSupportedException(); <# if (method.MethodName == "Divide") { #> public virtual void <#=method.MethodName#>(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); -<# } #> -<# else { #> +<# } else { #> public virtual void <#=method.MethodName#>(T left, Span right) => throw new NotSupportedException(); <# } #> -<# } #> -<# else if (method.MethodType == MethodType.BinaryInt) { #> - public virtual void <#=method.MethodName#>(PrimitiveColumnContainer column, int value) => throw new NotSupportedException(); +<# } else if (method.MethodType == MethodType.BinaryInt) { #> + public virtual void <#=method.MethodName#>(Span left, int right) => throw new NotSupportedException(); <# } #> <# } #> @@ -164,12 +153,10 @@ namespace Microsoft.Data.Analysis <# if (method.MethodType == MethodType.Comparison) { #> public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) -<# } #> -<# else if (method.MethodType == MethodType.ComparisonScalar) { #> +<# } else if (method.MethodType == MethodType.ComparisonScalar) {#> public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) -<# } #> -<# else if (method.MethodType == MethodType.Binary) { #> +<# } else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { @@ -218,9 +205,13 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> - public override void <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, int value) + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, int right) + { + for (var i = 0; i < left.Length; i++) + left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); + } <# } #> -<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar) { #> +<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.BinaryInt) { #> { <# if (method.MethodType == MethodType.Comparison) { #> PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); @@ -243,9 +234,7 @@ namespace Microsoft.Data.Analysis <# } #> for (int i = 0; i < span.Length; i++) { -<# if (method.MethodType == MethodType.BinaryInt) { #> - span[i] = (<#=type.TypeName#>)(span[i] <#= method.Operator #> <#= method.Op2Name #>); -<# } else if (method.MethodType == MethodType.Comparison) { #> +<# if (method.MethodType == MethodType.Comparison) { #> ret[index++] = (span[i] <#= method.Operator #> otherSpan[i]); <# } else if (method.MethodType == MethodType.ComparisonScalar) { #> ret[index++] = (span[i] <#= method.Operator #> <#= method.Op2Name #>); diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index 7343200603..3cf02210aa 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -46,6 +46,7 @@ public void SetUp() _floatColumn2 = new SingleDataFrameColumn("Column2", values.Select(v => (float)v)); } + /* #region Addition [Benchmark] @@ -198,5 +199,32 @@ public void Divide_Double_Float() var column = _doubleColumn1 / _floatColumn2; } #endregion + */ + + #region ElementwiseEquals + [Benchmark] + public void ElementwiseEquals_Int32_Int32() + { + var column = _int32Column1.ElementwiseEquals(_int32Column2); + } + + [Benchmark] + public void ElementwiseEquals_Int16_Int16() + { + var column = _int32Column1.ElementwiseEquals(_int16Column2); + } + + [Benchmark] + public void ElementwiseEquals_Double_Double() + { + var column = _doubleColumn1.ElementwiseEquals(_doubleColumn2); + } + + [Benchmark] + public void ElementwiseEquals_Float_Float() + { + var column = _floatColumn1.ElementwiseEquals(_floatColumn2); + } + #endregion } } From 46d5cbac65190365c1e31e94c99059c153d64291 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 29 Sep 2023 16:53:16 +0300 Subject: [PATCH 39/44] Implement Comparison Operations --- .../ColumnArithmetic.OperationEnums.cs | 20 + .../ColumnArithmetic.OperationEnums.tt | 18 + .../IPrimitiveDataFrameColumnArithmetic.cs | 24 + .../Microsoft.Data.Analysis.csproj | 18 - ...imitiveColumnContainer.BinaryOperations.cs | 74 +- ...imitiveColumnContainer.BinaryOperations.tt | 96 - ...umn.BinaryOperationAPIs.ExplodedColumns.cs | 2808 ++++++++-------- ...umn.BinaryOperationAPIs.ExplodedColumns.tt | 12 +- ...BinaryOperationImplementations.Exploded.cs | 1201 +------ ...BinaryOperationImplementations.Exploded.tt | 65 +- ...imitiveDataFrameColumn.BinaryOperations.cs | 1015 +----- ...imitiveDataFrameColumn.BinaryOperations.tt | 207 +- .../PrimitiveDataFrameColumn.cs | 147 + .../PrimitiveDataFrameColumnArithmetic.cs | 2959 ++++++----------- .../PrimitiveDataFrameColumnArithmetic.tt | 115 +- 15 files changed, 2814 insertions(+), 5965 deletions(-) create mode 100644 src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs delete mode 100644 src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs index f9f7768c2a..79d1314520 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.cs @@ -35,4 +35,24 @@ internal enum BinaryIntOperation LeftShift, RightShift, } + + internal enum ComparisonOperation + { + ElementwiseEquals, + ElementwiseNotEquals, + ElementwiseGreaterThanOrEqual, + ElementwiseLessThanOrEqual, + ElementwiseGreaterThan, + ElementwiseLessThan, + } + + internal enum ComparisonScalarOperation + { + ElementwiseEquals, + ElementwiseNotEquals, + ElementwiseGreaterThanOrEqual, + ElementwiseLessThanOrEqual, + ElementwiseGreaterThan, + ElementwiseLessThan, + } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt index fb62790f11..273091a8e7 100644 --- a/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt +++ b/src/Microsoft.Data.Analysis/ColumnArithmetic.OperationEnums.tt @@ -36,6 +36,24 @@ namespace Microsoft.Data.Analysis <# if (method.MethodType == MethodType.BinaryInt) { #> <#=method.MethodName#>, <# } #> +<# } #> + } + + internal enum ComparisonOperation + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Comparison) { #> + <#=method.MethodName#>, +<# } #> +<# } #> + } + + internal enum ComparisonScalarOperation + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.ComparisonScalar) { #> + <#=method.MethodName#>, +<# } #> <# } #> } } \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs new file mode 100644 index 0000000000..e1cd977596 --- /dev/null +++ b/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs @@ -0,0 +1,24 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.Data.Analysis +{ + internal interface IPrimitiveDataFrameColumnArithmetic + where T : unmanaged + { + void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); + + Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right); + Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right); + + void HandleOperation(BinaryScalarOperation operation, Span left, T right); + void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); + + void HandleOperation(BinaryIntOperation operation, Span left, int right); + } +} diff --git a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj index ad69fc0a01..ed9f74ce97 100644 --- a/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj +++ b/src/Microsoft.Data.Analysis/Microsoft.Data.Analysis.csproj @@ -123,18 +123,10 @@ TextTemplatingFileGenerator PrimitiveDataFrameColumnComputations.cs - - TextTemplatingFileGenerator - PrimitiveColumnContainer.BinaryOperations.cs - TextTemplatingFileGenerator PrimitiveDataFrameColumnArithmetic.cs - - TextTemplatingFileGenerator - PrimitiveColumnContainer.BinaryOperations.cs - @@ -217,21 +209,11 @@ True PrimitiveDataFrameColumnComputations.tt - - True - True - PrimitiveColumnContainer.BinaryOperations.tt - True True PrimitiveDataFrameColumnArithmetic.tt - - True - True - PrimitiveColumnContainer.BinaryOperations.tt - True True diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 69c7d6e9c9..64bb8a161d 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -1,9 +1,8 @@ - -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -// Generated from PrimitiveColumnContainer.BinaryOperations.tt. Do not modify directly +using System; namespace Microsoft.Data.Analysis { @@ -73,53 +72,32 @@ public PrimitiveColumnContainer HandleOperation(BinaryIntOperation operation, return this; } - public PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer right) + public PrimitiveColumnContainer HandleOperation(ComparisonOperation operation, PrimitiveColumnContainer right) { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseEquals(this, right); - } - public PrimitiveColumnContainer ElementwiseEquals(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseEquals(this, scalar); - } - public PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseNotEquals(this, right); - } - public PrimitiveColumnContainer ElementwiseNotEquals(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseNotEquals(this, scalar); - } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThanOrEqual(this, right); - } - public PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThanOrEqual(this, scalar); - } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThanOrEqual(this, right); - } - public PrimitiveColumnContainer ElementwiseLessThanOrEqual(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThanOrEqual(this, scalar); - } - public PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThan(this, right); - } - public PrimitiveColumnContainer ElementwiseGreaterThan(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseGreaterThan(this, scalar); - } - public PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThan(this, right); + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers[i].ReadOnlySpan; + var rightSpan = right.Buffers[i].ReadOnlySpan; + + arithmetic.HandleOperation(operation, leftSpan, rightSpan); + + } + + return new PrimitiveColumnContainer(); } - public PrimitiveColumnContainer ElementwiseLessThan(T scalar) + + public PrimitiveColumnContainer HandleOperation(ComparisonScalarOperation operation, T right) { - return PrimitiveDataFrameColumnArithmetic.Instance.ElementwiseLessThan(this, scalar); + var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + for (int i = 0; i < this.Buffers.Count; i++) + { + var leftSpan = this.Buffers[i].ReadOnlySpan; + + arithmetic.HandleOperation(operation, leftSpan, right); + } + + return new PrimitiveColumnContainer(); } } -} \ No newline at end of file +} diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt deleted file mode 100644 index c9f6626b31..0000000000 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.tt +++ /dev/null @@ -1,96 +0,0 @@ -<#@ template debug="false" hostspecific="false" language="C#" #> -<#@ assembly name="System.Core" #> -<#@ import namespace="System.Linq" #> -<#@ import namespace="System.Text" #> -<#@ import namespace="System.Collections.Generic" #> -<#@ output extension=".cs" #> -<#@ include file="ColumnArithmeticTemplate.ttinclude" #> -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -// Generated from PrimitiveColumnContainer.BinaryOperations.tt. Do not modify directly - -namespace Microsoft.Data.Analysis -{ - internal partial class PrimitiveColumnContainer - where T : unmanaged - { - public PrimitiveColumnContainer HandleOperation(BinaryOperation operation, PrimitiveColumnContainer right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - long nullCount = 0; - for (int i = 0; i < this.Buffers.Count; i++) - { - var mutableBuffer = this.Buffers.GetOrCreateMutable(i); - var leftSpan = mutableBuffer.Span; - var rightSpan = right.Buffers[i].ReadOnlySpan; - - var leftValidity = this.NullBitMapBuffers.GetOrCreateMutable(i).Span; - var rightValidity = right.NullBitMapBuffers[i].ReadOnlySpan; - - arithmetic.HandleOperation(operation, leftSpan, leftValidity, rightSpan, rightValidity); - - //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(leftValidity, mutableBuffer.Length); - } - - NullCount = nullCount; - return this; - } - - public PrimitiveColumnContainer HandleOperation(BinaryScalarOperation operation, T right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - for (int i = 0; i < this.Buffers.Count; i++) - { - var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; - - arithmetic.HandleOperation(operation, leftSpan, right); - } - - return this; - } - - public PrimitiveColumnContainer HandleReverseOperation(BinaryScalarOperation operation, T left) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - for (int i = 0; i < this.Buffers.Count; i++) - { - var rightSpan = this.Buffers.GetOrCreateMutable(i).Span; - var rightValidity = this.NullBitMapBuffers[i].ReadOnlySpan; - - arithmetic.HandleOperation(operation, left, rightSpan, rightValidity); - } - - return this; - } - - public PrimitiveColumnContainer HandleOperation(BinaryIntOperation operation, int right) - { - var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; - for (int i = 0; i < this.Buffers.Count; i++) - { - var leftSpan = this.Buffers.GetOrCreateMutable(i).Span; - - arithmetic.HandleOperation(operation, leftSpan, right); - } - - return this; - } - -<# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.Comparison) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer right) - { - return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, right); - } -<# } else if (method.MethodType == MethodType.ComparisonScalar ) { #> - public PrimitiveColumnContainer <#=method.MethodName#>(T scalar) - { - return PrimitiveDataFrameColumnArithmetic.Instance.<#=method.MethodName#>(this, scalar); - } -<# } #> -<# } #> - } -} \ No newline at end of file diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs index 2aecbaeed2..f879536391 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.cs @@ -8837,27 +8837,27 @@ public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(BooleanDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(BooleanDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(BooleanDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(BooleanDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(BooleanDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(BooleanDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } } @@ -8865,327 +8865,327 @@ public partial class ByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseEqualsImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseNotEqualsImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseLessThanOrEqualImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseGreaterThanImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { ByteDataFrameColumn otherbyteColumn = column.CloneAsByteColumn(); - return ElementwiseLessThanImplementation(otherbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherbyteColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseEqualsImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseNotEqualsImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanOrEqualImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseEqualsImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseNotEqualsImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanOrEqualImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } } @@ -9194,266 +9194,266 @@ public partial class DecimalDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseNotEqualsImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseGreaterThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdecimalColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { DecimalDataFrameColumn otherdecimalColumn = column.CloneAsDecimalColumn(); - return ElementwiseLessThanImplementation(otherdecimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdecimalColumn); } } @@ -9462,296 +9462,296 @@ public partial class DoubleDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseNotEqualsImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseGreaterThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherdoubleColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { DoubleDataFrameColumn otherdoubleColumn = column.CloneAsDoubleColumn(); - return ElementwiseLessThanImplementation(otherdoubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherdoubleColumn); } } @@ -9760,296 +9760,296 @@ public partial class SingleDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseNotEqualsImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanOrEqualImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseGreaterThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherfloatColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { SingleDataFrameColumn otherfloatColumn = column.CloneAsSingleColumn(); - return ElementwiseLessThanImplementation(otherfloatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherfloatColumn); } } @@ -10058,326 +10058,326 @@ public partial class Int32DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseNotEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseNotEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseNotEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseNotEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseNotEqualsImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseGreaterThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { Int32DataFrameColumn otherintColumn = column.CloneAsInt32Column(); - return ElementwiseLessThanImplementation(otherintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherintColumn); } } @@ -10386,296 +10386,296 @@ public partial class Int64DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseNotEqualsImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherlongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseGreaterThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherlongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { Int64DataFrameColumn otherlongColumn = column.CloneAsInt64Column(); - return ElementwiseLessThanImplementation(otherlongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherlongColumn); } } @@ -10684,326 +10684,326 @@ public partial class SByteDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseEqualsImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseNotEqualsImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseGreaterThanOrEqualImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseLessThanOrEqualImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseGreaterThanImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { SByteDataFrameColumn othersbyteColumn = column.CloneAsSByteColumn(); - return ElementwiseLessThanImplementation(othersbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, othersbyteColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseEqualsImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseNotEqualsImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanOrEqualImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanImplementation(column); + return shortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseEqualsImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseNotEqualsImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanOrEqualImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanImplementation(column); + return ushortColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } } @@ -11012,326 +11012,326 @@ public partial class Int16DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseNotEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, othershortColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseNotEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, othershortColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseNotEqualsImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanOrEqualImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, othershortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseGreaterThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, othershortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { Int16DataFrameColumn othershortColumn = column.CloneAsInt16Column(); - return ElementwiseLessThanImplementation(othershortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, othershortColumn); } } @@ -11340,326 +11340,326 @@ public partial class UInt32DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseNotEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseNotEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseNotEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseNotEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseNotEqualsImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanOrEqualImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otheruintColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseGreaterThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otheruintColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { UInt32DataFrameColumn otheruintColumn = column.CloneAsUInt32Column(); - return ElementwiseLessThanImplementation(otheruintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otheruintColumn); } } @@ -11668,296 +11668,296 @@ public partial class UInt64DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseNotEqualsImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanOrEqualImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherulongColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseGreaterThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherulongColumn); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { UInt64DataFrameColumn otherulongColumn = column.CloneAsUInt64Column(); - return ElementwiseLessThanImplementation(otherulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherulongColumn); } } @@ -11966,326 +11966,326 @@ public partial class UInt16DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseNotEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(ByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DecimalDataFrameColumn column) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(column); + return decimalColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DoubleDataFrameColumn column) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(column); + return doubleColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(SingleDataFrameColumn column) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(column); + return floatColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int32DataFrameColumn column) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(column); + return intColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(Int64DataFrameColumn column) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(column); + return longColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseNotEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(SByteDataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseEquals(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseNotEquals(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseNotEqualsImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanOrEqualImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, otherushortColumn); } public BooleanDataFrameColumn ElementwiseGreaterThan(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseGreaterThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseLessThan(Int16DataFrameColumn column) { UInt16DataFrameColumn otherushortColumn = column.CloneAsUInt16Column(); - return ElementwiseLessThanImplementation(otherushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, otherushortColumn); } public BooleanDataFrameColumn ElementwiseEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt32DataFrameColumn column) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(column); + return uintColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt64DataFrameColumn column) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(column); + return ulongColumn.HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } public BooleanDataFrameColumn ElementwiseEquals(UInt16DataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(UInt16DataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(UInt16DataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(UInt16DataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(UInt16DataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(UInt16DataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } } @@ -12293,27 +12293,27 @@ public partial class DateTimeDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(DateTimeDataFrameColumn column) { - return ElementwiseEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, column); } public BooleanDataFrameColumn ElementwiseNotEquals(DateTimeDataFrameColumn column) { - return ElementwiseNotEqualsImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, column); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DateTimeDataFrameColumn column) { - return ElementwiseGreaterThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DateTimeDataFrameColumn column) { - return ElementwiseLessThanOrEqualImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, column); } public BooleanDataFrameColumn ElementwiseGreaterThan(DateTimeDataFrameColumn column) { - return ElementwiseGreaterThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, column); } public BooleanDataFrameColumn ElementwiseLessThan(DateTimeDataFrameColumn column) { - return ElementwiseLessThanImplementation(column); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, column); } } @@ -12321,27 +12321,27 @@ public partial class BooleanDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(bool value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(bool value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(bool value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(bool value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(bool value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(bool value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } } @@ -12349,327 +12349,327 @@ public partial class ByteDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(byte value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseEqualsImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherbyteValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseNotEqualsImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherbyteValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseGreaterThanOrEqualImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherbyteValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseLessThanOrEqualImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherbyteValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseGreaterThanImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherbyteValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { byte otherbyteValue = (byte)value; - return ElementwiseLessThanImplementation(otherbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherbyteValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseEqualsImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseNotEqualsImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanOrEqualImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseEqualsImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseNotEqualsImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanOrEqualImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } } @@ -12678,266 +12678,266 @@ public partial class DecimalDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseNotEqualsImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanOrEqualImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseGreaterThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdecimalValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { decimal otherdecimalValue = (decimal)value; - return ElementwiseLessThanImplementation(otherdecimalValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdecimalValue); } } @@ -12946,296 +12946,296 @@ public partial class DoubleDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(double value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(int value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(long value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseNotEqualsImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanOrEqualImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseGreaterThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherdoubleValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { double otherdoubleValue = (double)value; - return ElementwiseLessThanImplementation(otherdoubleValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherdoubleValue); } } @@ -13244,296 +13244,296 @@ public partial class SingleDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(long value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { float otherfloatValue = (float)value; - return ElementwiseEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { float otherfloatValue = (float)value; - return ElementwiseNotEqualsImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { float otherfloatValue = (float)value; - return ElementwiseLessThanOrEqualImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherfloatValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { float otherfloatValue = (float)value; - return ElementwiseGreaterThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherfloatValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { float otherfloatValue = (float)value; - return ElementwiseLessThanImplementation(otherfloatValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherfloatValue); } } @@ -13542,326 +13542,326 @@ public partial class Int32DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { int otherintValue = (int)value; - return ElementwiseEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { int otherintValue = (int)value; - return ElementwiseNotEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { int otherintValue = (int)value; - return ElementwiseGreaterThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { int otherintValue = (int)value; - return ElementwiseLessThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { int otherintValue = (int)value; - return ElementwiseGreaterThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { int otherintValue = (int)value; - return ElementwiseLessThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherintValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { int otherintValue = (int)value; - return ElementwiseEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { int otherintValue = (int)value; - return ElementwiseNotEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { int otherintValue = (int)value; - return ElementwiseGreaterThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { int otherintValue = (int)value; - return ElementwiseLessThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { int otherintValue = (int)value; - return ElementwiseGreaterThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { int otherintValue = (int)value; - return ElementwiseLessThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherintValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { int otherintValue = (int)value; - return ElementwiseEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { int otherintValue = (int)value; - return ElementwiseNotEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { int otherintValue = (int)value; - return ElementwiseGreaterThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { int otherintValue = (int)value; - return ElementwiseLessThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { int otherintValue = (int)value; - return ElementwiseGreaterThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { int otherintValue = (int)value; - return ElementwiseLessThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherintValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { int otherintValue = (int)value; - return ElementwiseEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { int otherintValue = (int)value; - return ElementwiseNotEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { int otherintValue = (int)value; - return ElementwiseGreaterThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { int otherintValue = (int)value; - return ElementwiseLessThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { int otherintValue = (int)value; - return ElementwiseGreaterThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { int otherintValue = (int)value; - return ElementwiseLessThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherintValue); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { int otherintValue = (int)value; - return ElementwiseEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { int otherintValue = (int)value; - return ElementwiseNotEqualsImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { int otherintValue = (int)value; - return ElementwiseGreaterThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { int otherintValue = (int)value; - return ElementwiseLessThanOrEqualImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { int otherintValue = (int)value; - return ElementwiseGreaterThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherintValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { int otherintValue = (int)value; - return ElementwiseLessThanImplementation(otherintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherintValue); } } @@ -13870,296 +13870,296 @@ public partial class Int64DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseEquals(long value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { long otherlongValue = (long)value; - return ElementwiseEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { long otherlongValue = (long)value; - return ElementwiseNotEqualsImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { long otherlongValue = (long)value; - return ElementwiseLessThanOrEqualImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherlongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { long otherlongValue = (long)value; - return ElementwiseGreaterThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherlongValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { long otherlongValue = (long)value; - return ElementwiseLessThanImplementation(otherlongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherlongValue); } } @@ -14168,326 +14168,326 @@ public partial class SByteDataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseEqualsImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, othersbyteValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseNotEqualsImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, othersbyteValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseGreaterThanOrEqualImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, othersbyteValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseLessThanOrEqualImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, othersbyteValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseGreaterThanImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, othersbyteValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { sbyte othersbyteValue = (sbyte)value; - return ElementwiseLessThanImplementation(othersbyteValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, othersbyteValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseEqualsImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseNotEqualsImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanOrEqualImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseGreaterThanImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { Int16DataFrameColumn shortColumn = CloneAsInt16Column(); - return shortColumn.ElementwiseLessThanImplementation(value); + return shortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseEqualsImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseNotEqualsImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanOrEqualImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseGreaterThanImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { UInt16DataFrameColumn ushortColumn = CloneAsUInt16Column(); - return ushortColumn.ElementwiseLessThanImplementation(value); + return ushortColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } } @@ -14496,326 +14496,326 @@ public partial class Int16DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { short othershortValue = (short)value; - return ElementwiseEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { short othershortValue = (short)value; - return ElementwiseNotEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { short othershortValue = (short)value; - return ElementwiseGreaterThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { short othershortValue = (short)value; - return ElementwiseLessThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { short othershortValue = (short)value; - return ElementwiseGreaterThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { short othershortValue = (short)value; - return ElementwiseLessThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, othershortValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { short othershortValue = (short)value; - return ElementwiseEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { short othershortValue = (short)value; - return ElementwiseNotEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { short othershortValue = (short)value; - return ElementwiseGreaterThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { short othershortValue = (short)value; - return ElementwiseLessThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { short othershortValue = (short)value; - return ElementwiseGreaterThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { short othershortValue = (short)value; - return ElementwiseLessThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, othershortValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { short othershortValue = (short)value; - return ElementwiseEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { short othershortValue = (short)value; - return ElementwiseNotEqualsImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { short othershortValue = (short)value; - return ElementwiseGreaterThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { short othershortValue = (short)value; - return ElementwiseLessThanOrEqualImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, othershortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { short othershortValue = (short)value; - return ElementwiseGreaterThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, othershortValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { short othershortValue = (short)value; - return ElementwiseLessThanImplementation(othershortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, othershortValue); } } @@ -14824,326 +14824,326 @@ public partial class UInt32DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { uint otheruintValue = (uint)value; - return ElementwiseEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { uint otheruintValue = (uint)value; - return ElementwiseNotEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { uint otheruintValue = (uint)value; - return ElementwiseEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { uint otheruintValue = (uint)value; - return ElementwiseNotEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseNotEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { uint otheruintValue = (uint)value; - return ElementwiseEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { uint otheruintValue = (uint)value; - return ElementwiseNotEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseNotEqualsImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanOrEqualImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otheruintValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseGreaterThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otheruintValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { uint otheruintValue = (uint)value; - return ElementwiseLessThanImplementation(otheruintValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otheruintValue); } } @@ -15152,296 +15152,296 @@ public partial class UInt64DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseNotEqualsImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanOrEqualImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherulongValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseGreaterThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherulongValue); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { ulong otherulongValue = (ulong)value; - return ElementwiseLessThanImplementation(otherulongValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherulongValue); } } @@ -15450,326 +15450,326 @@ public partial class UInt16DataFrameColumn public BooleanDataFrameColumn ElementwiseEquals(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseNotEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThan(byte value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseNotEqualsImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanOrEqualImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseGreaterThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(decimal value) { DecimalDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return decimalColumn.ElementwiseLessThanImplementation(value); + return decimalColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseNotEqualsImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanOrEqualImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseGreaterThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(double value) { DoubleDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return doubleColumn.ElementwiseLessThanImplementation(value); + return doubleColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseNotEqualsImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanOrEqualImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseGreaterThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(float value) { SingleDataFrameColumn floatColumn = CloneAsSingleColumn(); - return floatColumn.ElementwiseLessThanImplementation(value); + return floatColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseNotEqualsImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanOrEqualImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseGreaterThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(int value) { Int32DataFrameColumn intColumn = CloneAsInt32Column(); - return intColumn.ElementwiseLessThanImplementation(value); + return intColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseNotEqualsImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanOrEqualImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseGreaterThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(long value) { Int64DataFrameColumn longColumn = CloneAsInt64Column(); - return longColumn.ElementwiseLessThanImplementation(value); + return longColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseNotEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThan(sbyte value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseEquals(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseNotEquals(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseNotEqualsImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanOrEqualImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, otherushortValue); } public BooleanDataFrameColumn ElementwiseGreaterThan(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseGreaterThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseLessThan(short value) { ushort otherushortValue = (ushort)value; - return ElementwiseLessThanImplementation(otherushortValue); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, otherushortValue); } public BooleanDataFrameColumn ElementwiseEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseNotEqualsImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanOrEqualImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseGreaterThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(uint value) { UInt32DataFrameColumn uintColumn = CloneAsUInt32Column(); - return uintColumn.ElementwiseLessThanImplementation(value); + return uintColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseNotEqualsImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanOrEqualImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseGreaterThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ulong value) { UInt64DataFrameColumn ulongColumn = CloneAsUInt64Column(); - return ulongColumn.ElementwiseLessThanImplementation(value); + return ulongColumn.HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } public BooleanDataFrameColumn ElementwiseEquals(ushort value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(ushort value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(ushort value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(ushort value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(ushort value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(ushort value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } } @@ -15777,27 +15777,27 @@ public partial class DateTimeDataFrameColumn { public BooleanDataFrameColumn ElementwiseEquals(DateTime value) { - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } public BooleanDataFrameColumn ElementwiseNotEquals(DateTime value) { - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } public BooleanDataFrameColumn ElementwiseGreaterThanOrEqual(DateTime value) { - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseLessThanOrEqual(DateTime value) { - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } public BooleanDataFrameColumn ElementwiseGreaterThan(DateTime value) { - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } public BooleanDataFrameColumn ElementwiseLessThan(DateTime value) { - return ElementwiseLessThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt index f4b15ecaf6..a6efa5cb4a 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationAPIs.ExplodedColumns.tt @@ -434,7 +434,7 @@ foreach (MethodConfiguration method in methodConfiguration) if (columnType == otherColumnType) { #> - return <#=methodName#>Implementation(column); + return HandleOperationImplementation(ComparisonOperation.<#=methodName#>, column); <# } else @@ -445,14 +445,14 @@ foreach (MethodConfiguration method in methodConfiguration) { #> <#=fullOtherColumnType#> <#=otherColumnType#>Column = CloneAs<#=capitalizedOtherColumnType#>Column(); - return <#=otherColumnType#>Column.<#=methodName#>Implementation(column); + return <#=otherColumnType#>Column.HandleOperationImplementation(ComparisonOperation.<#=methodName#>, column); <# } else { #> <#=fullColumnType#> other<#=columnType#>Column = column.CloneAs<#=capitalizedColumnType#>Column(); - return <#=methodName#>Implementation(other<#=columnType#>Column); + return HandleOperationImplementation(ComparisonOperation.<#=methodName#>, other<#=columnType#>Column); <# } #> @@ -514,7 +514,7 @@ foreach (MethodConfiguration method in methodConfiguration) if (columnType == otherColumnType) { #> - return <#=methodName#>Implementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.<#=methodName#>, value); <# } else @@ -525,14 +525,14 @@ foreach (MethodConfiguration method in methodConfiguration) { #> <#=fullOtherColumnType#> <#=otherColumnType#>Column = CloneAs<#=capitalizedOtherColumnType#>Column(); - return <#=otherColumnType#>Column.<#=methodName#>Implementation(value); + return <#=otherColumnType#>Column.HandleOperationImplementation(ComparisonScalarOperation.<#=methodName#>, value); <# } else { #> <#=columnType#> other<#=columnType#>Value = (<#=columnType#>)value; - return <#=methodName#>Implementation(other<#=columnType#>Value); + return HandleOperationImplementation(ComparisonScalarOperation.<#=methodName#>, other<#=columnType#>Value); <# } #> diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs index f7978a87a9..a91a63f3f7 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.cs @@ -224,1249 +224,170 @@ internal UInt64DataFrameColumn HandleReverseOperationImplementation(BinaryScalar public partial class BooleanDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(BooleanDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, BooleanDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(ByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(DecimalDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(Int32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(Int64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(SByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(Int16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(UInt32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(UInt64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(UInt16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(DateTimeDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(column.ColumnContainer)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(bool value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(byte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(decimal value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(double value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(float value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(int value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(long value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(sbyte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(short value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(uint value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(ulong value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(ushort value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseEqualsImplementation(DateTime value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseEquals(value)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(BooleanDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(ByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(DecimalDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(Int32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(Int64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(SByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(Int16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(UInt32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(UInt64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(UInt16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(DateTimeDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(column.ColumnContainer)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(bool value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(byte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(decimal value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(double value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(float value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(int value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(long value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(sbyte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(short value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(uint value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(ulong value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(ushort value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseNotEqualsImplementation(DateTime value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseNotEquals(value)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(BooleanDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(ByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(DecimalDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(Int32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(Int64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(SByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(Int16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(UInt32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(UInt64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(UInt16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(DateTimeDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(column.ColumnContainer)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(bool value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(byte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(decimal value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(double value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(float value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(int value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(long value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(sbyte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(short value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(uint value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(ulong value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(ushort value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(DateTime value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThanOrEqual(value)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(BooleanDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(ByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(DecimalDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(Int32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(Int64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(SByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(Int16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(UInt32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(UInt64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(UInt16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(DateTimeDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(column.ColumnContainer)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(bool value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(byte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(decimal value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(double value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(float value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(int value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(long value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(sbyte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(short value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(uint value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(ulong value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(ushort value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanOrEqualImplementation(DateTime value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThanOrEqual(value)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(BooleanDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, bool value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } public partial class ByteDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(ByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(DecimalDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(Int32DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, ByteDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(Int64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(SByteDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(Int16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(UInt32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(UInt64DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(UInt16DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(DateTimeDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(column.ColumnContainer)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(bool value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(byte value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, byte value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } public partial class DecimalDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(decimal value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class DoubleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(double value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(float value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(int value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(long value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(sbyte value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(short value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(uint value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(ulong value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(ushort value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseGreaterThanImplementation(DateTime value) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseGreaterThan(value)); - } - } - - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(BooleanDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); - } - } - - public partial class ByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(ByteDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, DecimalDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(DecimalDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, decimal value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } public partial class DoubleDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(DoubleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); - } - } - - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(SingleDataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); - } - } - - public partial class Int32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(Int32DataFrameColumn column) - { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); - } - } - - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(Int64DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, DoubleDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class SByteDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(SByteDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, double value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class Int16DataFrameColumn + public partial class SingleDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(Int16DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, SingleDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class UInt32DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(UInt32DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, float value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class UInt64DataFrameColumn + public partial class Int32DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(UInt64DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, Int32DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class UInt16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(UInt16DataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, int value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class DateTimeDataFrameColumn + public partial class Int64DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(DateTimeDataFrameColumn column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, Int64DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class BooleanDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(bool value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, long value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class ByteDataFrameColumn + public partial class SByteDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(byte value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, SByteDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class DecimalDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(decimal value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, sbyte value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class DoubleDataFrameColumn + public partial class Int16DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(double value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, Int16DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class SingleDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(float value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, short value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class Int32DataFrameColumn + public partial class UInt32DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(int value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, UInt32DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class Int64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(long value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, uint value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class SByteDataFrameColumn + public partial class UInt64DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(sbyte value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, UInt64DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class Int16DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(short value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, ulong value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class UInt32DataFrameColumn + public partial class UInt16DataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(uint value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, UInt16DataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class UInt64DataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(ulong value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, ushort value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } - public partial class UInt16DataFrameColumn + public partial class DateTimeDataFrameColumn { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(ushort value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, DateTimeDataFrameColumn column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } - public partial class DateTimeDataFrameColumn - { - internal BooleanDataFrameColumn ElementwiseLessThanImplementation(DateTime value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, DateTime value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.ElementwiseLessThan(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt index c0931f039e..f3dfc830d8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperationImplementations.Exploded.tt @@ -51,8 +51,6 @@ void GenerateAllBinaryCombinationsForMethods() string fullColumnType = GetCapitalizedPrimitiveTypes(columnType) + "DataFrameColumn"; string fullReturnType = fullColumnType; string fullOtherColumnType = fullColumnType; - - string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); #> public partial class <#=fullColumnType#> @@ -102,68 +100,31 @@ void GenerateAllBinaryCombinationsForMethods() } #> <# -void GenerateAllComparisonCombinationsForMethod(string inputMethodName) +void GenerateAllComparisonCombinationsForMethods() { foreach (TypeCombination types in ComparisonOperationCombinations.comparisonOperationCombinations) { - string returnType = types.ReturnColumnType; string columnType = types.ThisColumnType; string otherColumnType = types.OtherColumnType; if (columnType != otherColumnType) { continue; } - Debug.Assert(returnType == otherColumnType); - + string fullColumnType = GetCapitalizedPrimitiveTypes(columnType) + "DataFrameColumn"; - string fullReturnType = GetCapitalizedPrimitiveTypes(returnType) + "DataFrameColumn"; string fullOtherColumnType = GetCapitalizedPrimitiveTypes(otherColumnType) + "DataFrameColumn"; - - string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); - string methodName = inputMethodName; - methodName += "Implementation"; - #> public partial class <#=fullColumnType#> { - internal <#=fullReturnType#> <#=methodName#>(<#=fullOtherColumnType#> column) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, <#=fullOtherColumnType#> column) { - return new BooleanDataFrameColumn(Name, ColumnContainer.<#=inputMethodName#>(column.ColumnContainer)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, column.ColumnContainer)); } - } -<# - } - } -#> -<# -void GenerateAllComparisonScalarCombinationsForMethod(string inputMethodName) -{ - foreach (TypeCombination types in ComparisonOperationCombinations.comparisonOperationCombinations) - { - string returnType = types.ReturnColumnType; - string columnType = types.ThisColumnType; - string otherColumnType = types.OtherColumnType; - if (columnType != otherColumnType) - { - continue; - } - Debug.Assert(returnType == otherColumnType); - - string fullColumnType = GetCapitalizedPrimitiveTypes(columnType) + "DataFrameColumn"; - string fullReturnType = GetCapitalizedPrimitiveTypes(returnType) + "DataFrameColumn"; - - string capitalizedReturnType = GetCapitalizedPrimitiveTypes(returnType); - string methodName = inputMethodName; - methodName += "Implementation"; - -#> - public partial class <#=fullColumnType#> - { - internal <#=fullReturnType#> <#=methodName#>(<#=otherColumnType#> value) + internal BooleanDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, <#=otherColumnType#> value) { - return new BooleanDataFrameColumn(Name, ColumnContainer.<#=inputMethodName#>(value)); + return new BooleanDataFrameColumn(Name, ColumnContainer.HandleOperation(operation, value)); } } <# @@ -172,18 +133,6 @@ void GenerateAllComparisonScalarCombinationsForMethod(string inputMethodName) #> <# GenerateAllBinaryCombinationsForMethods(); - -foreach (MethodConfiguration method in methodConfiguration) -{ - // Don't generate Binary and BinaryScalar methods here - if (method.MethodType == MethodType.Comparison) - { - GenerateAllComparisonCombinationsForMethod(method.MethodName); - } - else if (method.MethodType == MethodType.ComparisonScalar) - { - GenerateAllComparisonScalarCombinationsForMethod(method.MethodName); - } -} +GenerateAllComparisonCombinationsForMethods(); #> } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs index f462d4e11f..40e395e61c 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.cs @@ -14,7 +14,6 @@ namespace Microsoft.Data.Analysis public partial class PrimitiveDataFrameColumn : DataFrameColumn where T : unmanaged { - /// public override DataFrameColumn Add(DataFrameColumn column, bool inPlace = false) { @@ -60,7 +59,7 @@ public override DataFrameColumn Add(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.Add, column, inPlace); + return Add(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } @@ -70,7 +69,6 @@ public override DataFrameColumn ReverseAdd(U value, bool inPlace = false) { return HandleReverseOperationImplementation(BinaryScalarOperation.Add, value, inPlace); } - /// public override DataFrameColumn Subtract(DataFrameColumn column, bool inPlace = false) { @@ -116,7 +114,7 @@ public override DataFrameColumn Subtract(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.Subtract, column, inPlace); + return Subtract(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } @@ -126,7 +124,6 @@ public override DataFrameColumn ReverseSubtract(U value, bool inPlace = false { return HandleReverseOperationImplementation(BinaryScalarOperation.Subtract, value, inPlace); } - /// public override DataFrameColumn Multiply(DataFrameColumn column, bool inPlace = false) { @@ -172,7 +169,7 @@ public override DataFrameColumn Multiply(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.Multiply, column, inPlace); + return Multiply(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } @@ -182,7 +179,6 @@ public override DataFrameColumn ReverseMultiply(U value, bool inPlace = false { return HandleReverseOperationImplementation(BinaryScalarOperation.Multiply, value, inPlace); } - /// public override DataFrameColumn Divide(DataFrameColumn column, bool inPlace = false) { @@ -228,7 +224,7 @@ public override DataFrameColumn Divide(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.Divide, column, inPlace); + return Divide(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } @@ -238,7 +234,6 @@ public override DataFrameColumn ReverseDivide(U value, bool inPlace = false) { return HandleReverseOperationImplementation(BinaryScalarOperation.Divide, value, inPlace); } - /// public override DataFrameColumn Modulo(DataFrameColumn column, bool inPlace = false) { @@ -284,7 +279,7 @@ public override DataFrameColumn Modulo(U value, bool inPlace = false) DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.Modulo, column, inPlace); + return Modulo(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } @@ -294,7 +289,6 @@ public override DataFrameColumn ReverseModulo(U value, bool inPlace = false) { return HandleReverseOperationImplementation(BinaryScalarOperation.Modulo, value, inPlace); } - /// public override DataFrameColumn And(DataFrameColumn column, bool inPlace = false) { @@ -339,7 +333,6 @@ public override PrimitiveDataFrameColumn And(bool value, bool inPlace = fa { return HandleBitwiseOperationImplementation(BinaryScalarOperation.And, value, inPlace); } - /// public override DataFrameColumn Or(DataFrameColumn column, bool inPlace = false) { @@ -384,7 +377,6 @@ public override PrimitiveDataFrameColumn Or(bool value, bool inPlace = fal { return HandleBitwiseOperationImplementation(BinaryScalarOperation.Or, value, inPlace); } - /// public override DataFrameColumn Xor(DataFrameColumn column, bool inPlace = false) { @@ -448,33 +440,33 @@ public override PrimitiveDataFrameColumn ElementwiseEquals(DataFrameColumn switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseEqualsImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseEqualsImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseEqualsImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseEqualsImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseEqualsImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseEqualsImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseEqualsImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseEqualsImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseEqualsImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseEqualsImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseEqualsImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseEqualsImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseEqualsImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseEqualsImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseEquals, DateTimeColumn); case null: return ElementwiseIsNull(); @@ -491,7 +483,7 @@ public override PrimitiveDataFrameColumn ElementwiseEquals(U value) { return ElementwiseEquals(column); } - return ElementwiseEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseEquals, value); } /// @@ -500,33 +492,33 @@ public override PrimitiveDataFrameColumn ElementwiseNotEquals(DataFrameCol switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseNotEqualsImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseNotEqualsImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseNotEqualsImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseNotEqualsImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseNotEqualsImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseNotEqualsImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseNotEqualsImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseNotEqualsImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseNotEqualsImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseNotEqualsImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseNotEqualsImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseNotEqualsImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseNotEqualsImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseNotEqualsImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseNotEquals, DateTimeColumn); case null: return ElementwiseIsNotNull(); @@ -543,7 +535,7 @@ public override PrimitiveDataFrameColumn ElementwiseNotEquals(U value) { return ElementwiseNotEquals(column); } - return ElementwiseNotEqualsImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseNotEquals, value); } /// @@ -552,33 +544,33 @@ public override PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqual(Dat switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseGreaterThanOrEqualImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseGreaterThanOrEqualImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseGreaterThanOrEqualImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseGreaterThanOrEqualImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseGreaterThanOrEqualImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseGreaterThanOrEqualImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseGreaterThanOrEqualImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseGreaterThanOrEqualImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseGreaterThanOrEqualImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseGreaterThanOrEqualImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseGreaterThanOrEqualImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseGreaterThanOrEqualImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseGreaterThanOrEqualImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseGreaterThanOrEqualImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThanOrEqual, DateTimeColumn); default: throw new NotSupportedException(); @@ -593,7 +585,7 @@ public override PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqual( { return ElementwiseGreaterThanOrEqual(column); } - return ElementwiseGreaterThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThanOrEqual, value); } /// @@ -602,33 +594,33 @@ public override PrimitiveDataFrameColumn ElementwiseLessThanOrEqual(DataFr switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseLessThanOrEqualImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseLessThanOrEqualImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseLessThanOrEqualImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseLessThanOrEqualImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseLessThanOrEqualImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseLessThanOrEqualImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseLessThanOrEqualImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseLessThanOrEqualImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseLessThanOrEqualImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseLessThanOrEqualImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseLessThanOrEqualImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseLessThanOrEqualImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseLessThanOrEqualImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseLessThanOrEqualImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThanOrEqual, DateTimeColumn); default: throw new NotSupportedException(); @@ -643,7 +635,7 @@ public override PrimitiveDataFrameColumn ElementwiseLessThanOrEqual(U v { return ElementwiseLessThanOrEqual(column); } - return ElementwiseLessThanOrEqualImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThanOrEqual, value); } /// @@ -652,33 +644,33 @@ public override PrimitiveDataFrameColumn ElementwiseGreaterThan(DataFrameC switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseGreaterThanImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseGreaterThanImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseGreaterThanImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseGreaterThanImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseGreaterThanImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseGreaterThanImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseGreaterThanImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseGreaterThanImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseGreaterThanImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseGreaterThanImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseGreaterThanImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseGreaterThanImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseGreaterThanImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseGreaterThanImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseGreaterThan, DateTimeColumn); default: throw new NotSupportedException(); @@ -693,7 +685,7 @@ public override PrimitiveDataFrameColumn ElementwiseGreaterThan(U value { return ElementwiseGreaterThan(column); } - return ElementwiseGreaterThanImplementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseGreaterThan, value); } /// @@ -702,33 +694,33 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(DataFrameColu switch (column) { case PrimitiveDataFrameColumn boolColumn: - return ElementwiseLessThanImplementation(boolColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, boolColumn); case PrimitiveDataFrameColumn byteColumn: - return ElementwiseLessThanImplementation(byteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, byteColumn); case PrimitiveDataFrameColumn charColumn: - return ElementwiseLessThanImplementation(charColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, charColumn); case PrimitiveDataFrameColumn decimalColumn: - return ElementwiseLessThanImplementation(decimalColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, decimalColumn); case PrimitiveDataFrameColumn doubleColumn: - return ElementwiseLessThanImplementation(doubleColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, doubleColumn); case PrimitiveDataFrameColumn floatColumn: - return ElementwiseLessThanImplementation(floatColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, floatColumn); case PrimitiveDataFrameColumn intColumn: - return ElementwiseLessThanImplementation(intColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, intColumn); case PrimitiveDataFrameColumn longColumn: - return ElementwiseLessThanImplementation(longColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, longColumn); case PrimitiveDataFrameColumn sbyteColumn: - return ElementwiseLessThanImplementation(sbyteColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, sbyteColumn); case PrimitiveDataFrameColumn shortColumn: - return ElementwiseLessThanImplementation(shortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, shortColumn); case PrimitiveDataFrameColumn uintColumn: - return ElementwiseLessThanImplementation(uintColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, uintColumn); case PrimitiveDataFrameColumn ulongColumn: - return ElementwiseLessThanImplementation(ulongColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, ulongColumn); case PrimitiveDataFrameColumn ushortColumn: - return ElementwiseLessThanImplementation(ushortColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, ushortColumn); case PrimitiveDataFrameColumn DateTimeColumn: - return ElementwiseLessThanImplementation(DateTimeColumn); + return HandleOperationImplementation(ComparisonOperation.ElementwiseLessThan, DateTimeColumn); default: throw new NotSupportedException(); @@ -743,825 +735,8 @@ public override PrimitiveDataFrameColumn ElementwiseLessThan(U value) { return ElementwiseLessThan(column); } - return ElementwiseLessThanImplementation(value); - } - - internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseEquals(column._columnContainer)); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseEquals(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseEquals(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - if (typeof(U) != typeof(DateTime)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseEquals(column._columnContainer)); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseEquals(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseEquals((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseEquals(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseEqualsImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseEquals(Unsafe.As(ref value))); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseEquals(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseEquals(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - if (typeof(U) != typeof(DateTime)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseEquals(Unsafe.As(ref value))); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseEquals(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseEquals(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseEquals(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseNotEquals(column._columnContainer)); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseNotEquals(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseNotEquals(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - if (typeof(U) != typeof(DateTime)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseNotEquals(column._columnContainer)); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseNotEquals(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseNotEquals((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseNotEquals(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseNotEqualsImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseNotEquals(Unsafe.As(ref value))); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseNotEquals(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseNotEquals(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - if (typeof(U) != typeof(DateTime)) - { - throw new NotSupportedException(); - } - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.ElementwiseNotEquals(Unsafe.As(ref value))); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseNotEquals(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseNotEquals(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseNotEquals(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThanOrEqual(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThanOrEqual(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThanOrEqual(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThanOrEqual((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseGreaterThanOrEqual(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseGreaterThanOrEqualImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThanOrEqual(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThanOrEqual(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThanOrEqual(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThanOrEqual(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseGreaterThanOrEqual(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } + return HandleOperationImplementation(ComparisonScalarOperation.ElementwiseLessThan, value); } - internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThanOrEqual(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThanOrEqual(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThanOrEqual(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThanOrEqual((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseLessThanOrEqual(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseLessThanOrEqualImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThanOrEqual(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThanOrEqual(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThanOrEqual(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThanOrEqual(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseLessThanOrEqual(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThan(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThan(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThan(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThan((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseGreaterThan(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseGreaterThanImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThan(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThan(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseGreaterThan(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseGreaterThan(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseGreaterThan(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(PrimitiveDataFrameColumn column) - where U : unmanaged - { - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThan(column._columnContainer)); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThan(column.CloneAsDecimalColumn()._columnContainer)); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThan(column._columnContainer)); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThan((column as PrimitiveDataFrameColumn)._columnContainer)); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseLessThan(column.CloneAsDoubleColumn()._columnContainer)); - } - } - default: - throw new NotSupportedException(); - } - } - - internal PrimitiveDataFrameColumn ElementwiseLessThanImplementation(U value) - { - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - throw new NotSupportedException(); - case Type decimalType when decimalType == typeof(decimal): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThan(Unsafe.As(ref value))); - } - else - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThan(DecimalConverter.Instance.GetDecimal(value))); - } - case Type DateTimeType when DateTimeType == typeof(DateTime): - throw new NotSupportedException(); - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.ElementwiseLessThan(Unsafe.As(ref value))); - } - else - { - if (typeof(U) == typeof(decimal)) - { - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.ElementwiseLessThan(DecimalConverter.Instance.GetDecimal(value))); - } - else - { - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.ElementwiseLessThan(DoubleConverter.Instance.GetDouble(value))); - } - } - default: - throw new NotSupportedException(); - } - } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt index acfaba6a73..320fd2c455 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.BinaryOperations.tt @@ -21,26 +21,32 @@ namespace Microsoft.Data.Analysis where T : unmanaged { <# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.Binary || method.MethodType == MethodType.Comparison) {#> <# if (method.MethodType == MethodType.Binary) {#> - /// public override DataFrameColumn <#=method.MethodName#>(DataFrameColumn column, bool inPlace = false) -<# } else { #> + { + switch (column) + { +<# foreach (TypeConfiguration type in typeConfiguration) { #> + case PrimitiveDataFrameColumn<<#=type.TypeName#>> <#=type.TypeName#>Column: + return HandleOperationImplementation(BinaryOperation.<#=method.MethodName#>, <#=type.TypeName#>Column, inPlace); +<# } #> + + default: + throw new NotSupportedException(); + } + } +<# } #> +<# if (method.MethodType == MethodType.Comparison) {#> /// public override PrimitiveDataFrameColumn <#=method.MethodName#>(DataFrameColumn column) -<# } #> { switch (column) { <# foreach (TypeConfiguration type in typeConfiguration) { #> case PrimitiveDataFrameColumn<<#=type.TypeName#>> <#=type.TypeName#>Column: -<# if (method.MethodType == MethodType.Binary) {#> - return HandleOperationImplementation(BinaryOperation.<#=method.MethodName#>, <#=type.TypeName#>Column, inPlace); -<# } else { #> - return <#=method.MethodName#>Implementation(<#=type.TypeName#>Column); -<# } #> + return HandleOperationImplementation(ComparisonOperation.<#=method.MethodName#>, <#=type.TypeName#>Column); <# } #> <# if (method.MethodName == "ElementwiseEquals") {#> case null: @@ -72,7 +78,7 @@ namespace Microsoft.Data.Analysis DataFrameColumn column = value as DataFrameColumn; if (column != null) { - return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, column, inPlace); + return <#=method.MethodName#>(column, inPlace); } return HandleOperationImplementation(BinaryScalarOperation.<#=method.MethodName#>, value, inPlace); } @@ -94,7 +100,7 @@ namespace Microsoft.Data.Analysis { return <#=method.MethodName#>(column); } - return <#=method.MethodName#>Implementation(value); + return HandleOperationImplementation(ComparisonScalarOperation.<#=method.MethodName#>, value); } <# } #> <# if (method.MethodType == MethodType.BinaryInt ) {#> @@ -106,185 +112,6 @@ namespace Microsoft.Data.Analysis } <# } #> <# } #> -<# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.BinaryInt) { #> -<# if (method.MethodType == MethodType.ComparisonScalar) {#> - - internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(U value) -<# } #> -<# if (method.MethodType == MethodType.Comparison) {#> - internal PrimitiveDataFrameColumn <#=method.MethodName#>Implementation(PrimitiveDataFrameColumn column) - where U : unmanaged -<# } #> - { -<# if (method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.ComparisonScalar && method.MethodType != MethodType.BinaryInt) {#> - if (column.Length != Length) - { - throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); - } -<# } #> -<# if (method.IsBitwise == true && method.IsNumeric == false) { #> - switch (typeof(T)) - { - case Type boolType when boolType == typeof(bool): - if (typeof(U) != typeof(bool)) - { - throw new NotSupportedException(); - } - PrimitiveDataFrameColumn typedColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn retColumn = <#=GenerateInPlaceStatement("typedColumn", "typedColumn.Clone()")#>; - retColumn._columnContainer.<#=method.MethodName#>(column._columnContainer); - return retColumn; -<# foreach (TypeConfiguration type in typeConfiguration) { #> -<# if (type.TypeName == "bool") { #> -<# } else { #> - case Type <#=type.TypeName#>Type when <#=type.TypeName#>Type == typeof(<#=type.TypeName#>): -<# } #> -<# } #> - default: - throw new NotSupportedException(); - } -<# } else { #> - switch (typeof(T)) - { -<# foreach (TypeConfiguration type in typeConfiguration) { #> -<# if (type.TypeName == "bool" || type.TypeName == "DateTime") { #> - case Type <#=type.TypeName#>Type when <#=type.TypeName#>Type == typeof(<#=type.TypeName#>): -<# if (method.IsNumeric == true) { #> - throw new NotSupportedException(); -<# } else { #> - if (typeof(U) != typeof(<#=type.TypeName#>)) - { - throw new NotSupportedException(); - } -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn<<#=type.TypeName#>>)._columnContainer.<#=method.MethodName#>(Unsafe.As>(ref value))); -<# } else if (method.MethodType == MethodType.Comparison) { #> - return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.<#=method.MethodName#>(column._columnContainer)); -<# } else { #> - PrimitiveDataFrameColumn column = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn ret<#=type.TypeName#>Column = <#=GenerateInPlaceStatement("column", "column.Clone()")#>; - ret<#=type.TypeName#>Column._columnContainer.<#=method.MethodName#>(column._columnContainer); -<# } #> -<# } #> -<# } else if (type.TypeName == "decimal") { #> - case Type <#=type.TypeName#>Type when <#=type.TypeName#>Type == typeof(<#=type.TypeName#>): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(Unsafe.As(ref value))); -<# } else if (method.MethodType == MethodType.Comparison){ #> - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(column._columnContainer)); -<# } else if (method.IsBitwise == true ) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; - newColumn._columnContainer.<#=method.MethodName#>(column._columnContainer); - return newColumn; -<# } #> - } - else - { -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value))); -<# } else if (method.MethodType == MethodType.Comparison){ #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDecimalColumn()._columnContainer)); -<# } else if (method.IsBitwise == true) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDecimalColumn()._columnContainer); - return decimalColumn; -<# } #> - } -<# } else { #> -<# } #> -<# } #> - case Type byteType when byteType == typeof(byte): - case Type charType when charType == typeof(char): - case Type doubleType when doubleType == typeof(double): - case Type floatType when floatType == typeof(float): - case Type intType when intType == typeof(int): - case Type longType when longType == typeof(long): - case Type sbyteType when sbyteType == typeof(sbyte): - case Type shortType when shortType == typeof(short): - case Type uintType when uintType == typeof(uint): - case Type ulongType when ulongType == typeof(ulong): - case Type ushortType when ushortType == typeof(ushort): - if (typeof(U) == typeof(bool)) - { - throw new NotSupportedException(); - } - if (typeof(U) == typeof(T)) - { - // No conversions -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveDataFrameColumn primitiveColumn = this; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(Unsafe.As(ref value))); -<# } else if (method.MethodType == MethodType.Comparison) { #> - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.<#=method.MethodName#>(column._columnContainer)); -<# } else if (method.IsBitwise == true ) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; - PrimitiveDataFrameColumn newColumn = <#=GenerateInPlaceStatement("primitiveColumn", "primitiveColumn.Clone()")#>; - newColumn._columnContainer.<#=method.MethodName#>(column._columnContainer); - return newColumn; -<# } #> - } - else - { - if (typeof(U) == typeof(decimal)) - { -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>(DecimalConverter.Instance.GetDecimal(value))); -<# } else if (method.MethodType == MethodType.Comparison) { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.<#=method.MethodName#>((column as PrimitiveDataFrameColumn)._columnContainer)); -<# } else if (method.IsBitwise == true) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); - decimalColumn._columnContainer.<#=method.MethodName#>((column as PrimitiveDataFrameColumn)._columnContainer); - return decimalColumn; -<# } #> - } - else - { -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.<#=method.MethodName#>(DoubleConverter.Instance.GetDouble(value))); -<# } else if (method.MethodType == MethodType.Comparison) { #> - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDoubleColumn()._columnContainer)); -<# } else if (method.IsBitwise == true) { #> - throw new NotSupportedException(); -<# } else { #> - PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); - doubleColumn._columnContainer.<#=method.MethodName#>(column.CloneAsDoubleColumn()._columnContainer); - return doubleColumn; -<# } #> - } - } - default: - throw new NotSupportedException(); - } -<# } #> - } -<# } #> -<# } #> } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index 817fed9d0d..ffec3b3bf5 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -1223,5 +1223,152 @@ internal DataFrameColumn HandleOperationImplementation(BinaryIntOperation operat throw new NotSupportedException(); } } + + internal PrimitiveDataFrameColumn HandleOperationImplementation(ComparisonOperation operation, PrimitiveDataFrameColumn column) + where U : unmanaged + { + if (column.Length != Length) + { + throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(column)); + } + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + if (typeof(U) != typeof(bool)) + { + throw new NotSupportedException(); + } + return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.HandleOperation(operation, column._columnContainer)); + case Type decimalType when decimalType == typeof(decimal): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; + return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.HandleOperation(operation, column._columnContainer)); + } + else + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.HandleOperation(operation, column.CloneAsDecimalColumn()._columnContainer)); + } + case Type DateTimeType when DateTimeType == typeof(DateTime): + if (typeof(U) != typeof(DateTime)) + { + throw new NotSupportedException(); + } + return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.HandleOperation(operation, column._columnContainer)); + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this as PrimitiveDataFrameColumn; + return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.HandleOperation(operation, column._columnContainer)); + } + else + { + if (typeof(U) == typeof(decimal)) + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.HandleOperation(operation, (column as PrimitiveDataFrameColumn)._columnContainer)); + } + else + { + PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.HandleOperation(operation, column.CloneAsDoubleColumn()._columnContainer)); + } + } + default: + throw new NotSupportedException(); + } + } + + internal PrimitiveDataFrameColumn HandleOperationImplementation(ComparisonScalarOperation operation, U value) + { + switch (typeof(T)) + { + case Type boolType when boolType == typeof(bool): + if (typeof(U) != typeof(bool)) + { + throw new NotSupportedException(); + } + return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.HandleOperation(operation, Unsafe.As(ref value))); + case Type decimalType when decimalType == typeof(decimal): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this; + return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.HandleOperation(operation, Unsafe.As(ref value))); + } + else + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.HandleOperation(operation, DecimalConverter.Instance.GetDecimal(value))); + } + case Type DateTimeType when DateTimeType == typeof(DateTime): + if (typeof(U) != typeof(DateTime)) + { + throw new NotSupportedException(); + } + return new BooleanDataFrameColumn(Name, (this as PrimitiveDataFrameColumn)._columnContainer.HandleOperation(operation, Unsafe.As(ref value))); + case Type byteType when byteType == typeof(byte): + case Type charType when charType == typeof(char): + case Type doubleType when doubleType == typeof(double): + case Type floatType when floatType == typeof(float): + case Type intType when intType == typeof(int): + case Type longType when longType == typeof(long): + case Type sbyteType when sbyteType == typeof(sbyte): + case Type shortType when shortType == typeof(short): + case Type uintType when uintType == typeof(uint): + case Type ulongType when ulongType == typeof(ulong): + case Type ushortType when ushortType == typeof(ushort): + if (typeof(U) == typeof(bool)) + { + throw new NotSupportedException(); + } + if (typeof(U) == typeof(T)) + { + // No conversions + PrimitiveDataFrameColumn primitiveColumn = this; + return new BooleanDataFrameColumn(Name, primitiveColumn._columnContainer.HandleOperation(operation, Unsafe.As(ref value))); + } + else + { + if (typeof(U) == typeof(decimal)) + { + PrimitiveDataFrameColumn decimalColumn = CloneAsDecimalColumn(); + return new BooleanDataFrameColumn(Name, decimalColumn._columnContainer.HandleOperation(operation, DecimalConverter.Instance.GetDecimal(value))); + } + else + { + PrimitiveDataFrameColumn doubleColumn = CloneAsDoubleColumn(); + return new BooleanDataFrameColumn(Name, doubleColumn._columnContainer.HandleOperation(operation, DoubleConverter.Instance.GetDouble(value))); + } + } + default: + throw new NotSupportedException(); + } + } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 4af180d01c..48a75ff3d8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -9,36 +9,12 @@ namespace Microsoft.Data.Analysis { - internal interface IPrimitiveDataFrameColumnArithmetic - where T : unmanaged - { - void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); - - void HandleOperation(BinaryScalarOperation operation, Span left, T right); - void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); - - void HandleOperation(BinaryIntOperation operation, Span left, int right); - - PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, T scalar); - PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, T scalar); - PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, T scalar); - PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, T scalar); - PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, T scalar); - PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right); - PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, T scalar); - } - internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumnArithmetic where T : unmanaged { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); - public virtual void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + public void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { if (operation == BinaryOperation.Divide) { @@ -63,7 +39,7 @@ public virtual void HandleOperation(BinaryOperation operation, Span left, Spa BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); } - public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) + public void HandleOperation(BinaryScalarOperation operation, Span left, T right) { switch (operation) { @@ -94,7 +70,7 @@ public virtual void HandleOperation(BinaryScalarOperation operation, Span lef } } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + public void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) { if (operation == BinaryScalarOperation.Divide) { @@ -117,7 +93,7 @@ public virtual void HandleOperation(BinaryScalarOperation operation, T left, Spa Xor(left, right); } - public virtual void HandleOperation(BinaryIntOperation operation, Span left, int right) + public void HandleOperation(BinaryIntOperation operation, Span left, int right) { switch (operation) { @@ -130,6 +106,47 @@ public virtual void HandleOperation(BinaryIntOperation operation, Span left, } } + public Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right) + { + switch (operation) + { + case ComparisonOperation.ElementwiseEquals: + return ElementwiseEquals(left, right); + case ComparisonOperation.ElementwiseNotEquals: + return ElementwiseNotEquals(left, right); + case ComparisonOperation.ElementwiseGreaterThanOrEqual: + return ElementwiseGreaterThanOrEqual(left, right); + case ComparisonOperation.ElementwiseLessThanOrEqual: + return ElementwiseLessThanOrEqual(left, right); + case ComparisonOperation.ElementwiseGreaterThan: + return ElementwiseGreaterThan(left, right); + case ComparisonOperation.ElementwiseLessThan: + return ElementwiseLessThan(left, right); + } + throw new NotSupportedException(); + } + + public Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right) + { + switch (operation) + { + case ComparisonScalarOperation.ElementwiseEquals: + return ElementwiseEquals(left, right); + case ComparisonScalarOperation.ElementwiseNotEquals: + return ElementwiseNotEquals(left, right); + case ComparisonScalarOperation.ElementwiseGreaterThanOrEqual: + return ElementwiseGreaterThanOrEqual(left, right); + case ComparisonScalarOperation.ElementwiseLessThanOrEqual: + return ElementwiseLessThanOrEqual(left, right); + case ComparisonScalarOperation.ElementwiseGreaterThan: + return ElementwiseGreaterThan(left, right); + case ComparisonScalarOperation.ElementwiseLessThan: + return ElementwiseLessThan(left, right); + } + throw new NotSupportedException(); + } + + public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); public virtual void Add(Span left, T scalar) => throw new NotSupportedException(); public virtual void Add(T left, Span right) => throw new NotSupportedException(); @@ -156,18 +173,18 @@ public virtual void HandleOperation(BinaryIntOperation operation, Span left, public virtual void Xor(T left, Span right) => throw new NotSupportedException(); public virtual void LeftShift(Span left, int right) => throw new NotSupportedException(); public virtual void RightShift(Span left, int right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); - public virtual PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseEquals(ReadOnlySpan left, T right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseNotEquals(ReadOnlySpan left, T right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, T right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, T right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseGreaterThan(ReadOnlySpan left, T right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + public virtual bool[] ElementwiseLessThan(ReadOnlySpan left, T right) => throw new NotSupportedException(); } @@ -217,113 +234,84 @@ public override void And(Span left, ReadOnlySpan right) left[i] = (bool)(left[i] & right[i]); } + public override void And(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] & right); } - public override void And(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] | right[i]); } + public override void Or(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] | right); } - public override void Or(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] ^ right[i]); } + public override void Xor(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] ^ right); } - public override void Xor(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left ^ right[i]); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, bool scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, bool right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, bool scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, bool right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -334,51 +322,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (byte)(left[i] + right[i]); } + public override void Add(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] + right); } - public override void Add(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] - right[i]); } + public override void Subtract(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] - right); } - public override void Subtract(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] * right[i]); } + public override void Multiply(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] * right); } - public override void Multiply(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -390,6 +384,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } + public override void Divide(Span left, byte right) { for (var i = 0; i < left.Length; i++) @@ -404,272 +399,181 @@ public override void Divide(byte left, Span right, ReadOnlySpan righ right[i] = (byte)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] % right[i]); } + public override void Modulo(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] % right); } - public override void Modulo(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] & right[i]); } + public override void And(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] & right); } - public override void And(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] | right[i]); } + public override void Or(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] | right); } - public override void Or(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] ^ right[i]); } + public override void Xor(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] ^ right); } - public override void Xor(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, byte scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, byte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -680,51 +584,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (char)(left[i] + right[i]); } + public override void Add(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] + right); } - public override void Add(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] - right[i]); } + public override void Subtract(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] - right); } - public override void Subtract(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] * right[i]); } + public override void Multiply(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] * right); } - public override void Multiply(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -736,6 +646,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } + public override void Divide(Span left, char right) { for (var i = 0; i < left.Length; i++) @@ -750,272 +661,181 @@ public override void Divide(char left, Span right, ReadOnlySpan righ right[i] = (char)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] % right[i]); } + public override void Modulo(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] % right); } - public override void Modulo(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] & right[i]); } + public override void And(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] & right); } - public override void And(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] | right[i]); } + public override void Or(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] | right); } - public override void Or(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] ^ right[i]); } + public override void Xor(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] ^ right); } - public override void Xor(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, char scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, char right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -1026,51 +846,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (decimal)(left[i] + right[i]); } + public override void Add(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] + right); } - public override void Add(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] - right[i]); } + public override void Subtract(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] - right); } - public override void Subtract(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] * right[i]); } + public override void Multiply(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] * right); } - public override void Multiply(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -1082,6 +908,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnl } } + public override void Divide(Span left, decimal right) { for (var i = 0; i < left.Length; i++) @@ -1096,209 +923,110 @@ public override void Divide(decimal left, Span right, ReadOnlySpan left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] % right[i]); } + public override void Modulo(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] % right); } - public override void Modulo(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left % right[i]); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, decimal scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, decimal right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -1309,51 +1037,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (double)(left[i] + right[i]); } + public override void Add(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] + right); } - public override void Add(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] - right[i]); } + public override void Subtract(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] - right); } - public override void Subtract(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] * right[i]); } + public override void Multiply(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] * right); } - public override void Multiply(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -1365,6 +1099,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } + public override void Divide(Span left, double right) { for (var i = 0; i < left.Length; i++) @@ -1379,209 +1114,110 @@ public override void Divide(double left, Span right, ReadOnlySpan right[i] = (double)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] % right[i]); } + public override void Modulo(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] % right); } - public override void Modulo(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left % right[i]); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, double scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, double right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -1592,51 +1228,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (float)(left[i] + right[i]); } + public override void Add(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] + right); } - public override void Add(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] - right[i]); } + public override void Subtract(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] - right); } - public override void Subtract(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] * right[i]); } + public override void Multiply(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] * right); } - public override void Multiply(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -1648,6 +1290,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } + public override void Divide(Span left, float right) { for (var i = 0; i < left.Length; i++) @@ -1662,209 +1305,110 @@ public override void Divide(float left, Span right, ReadOnlySpan ri right[i] = (float)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] % right[i]); } + public override void Modulo(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] % right); } - public override void Modulo(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left % right[i]); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, float scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, float right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -1875,51 +1419,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (int)(left[i] + right[i]); } + public override void Add(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] + right); } - public override void Add(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] - right[i]); } + public override void Subtract(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] - right); } - public override void Subtract(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] * right[i]); } + public override void Multiply(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] * right); } - public override void Multiply(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -1931,6 +1481,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySpa } } + public override void Divide(Span left, int right) { for (var i = 0; i < left.Length; i++) @@ -1945,272 +1496,181 @@ public override void Divide(int left, Span right, ReadOnlySpan rightV right[i] = (int)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] % right[i]); } + public override void Modulo(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] % right); } - public override void Modulo(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] & right[i]); } + public override void And(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] & right); } - public override void And(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] | right[i]); } + public override void Or(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] | right); } - public override void Or(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] ^ right[i]); } + public override void Xor(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] ^ right); } - public override void Xor(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, int scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, int right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -2221,51 +1681,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (long)(left[i] + right[i]); } + public override void Add(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] + right); } - public override void Add(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] - right[i]); } + public override void Subtract(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] - right); } - public override void Subtract(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] * right[i]); } + public override void Multiply(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] * right); } - public override void Multiply(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -2277,6 +1743,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } + public override void Divide(Span left, long right) { for (var i = 0; i < left.Length; i++) @@ -2291,272 +1758,181 @@ public override void Divide(long left, Span right, ReadOnlySpan righ right[i] = (long)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] % right[i]); } + public override void Modulo(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] % right); } - public override void Modulo(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] & right[i]); } + public override void And(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] & right); } - public override void And(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] | right[i]); } + public override void Or(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] | right); } - public override void Or(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] ^ right[i]); } + public override void Xor(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] ^ right); } - public override void Xor(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, long scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, long right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -2567,51 +1943,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (sbyte)(left[i] + right[i]); } + public override void Add(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] + right); } - public override void Add(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] - right[i]); } + public override void Subtract(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] - right); } - public override void Subtract(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] * right[i]); } + public override void Multiply(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] * right); } - public override void Multiply(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -2623,6 +2005,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } + public override void Divide(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) @@ -2637,272 +2020,181 @@ public override void Divide(sbyte left, Span right, ReadOnlySpan ri right[i] = (sbyte)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] % right[i]); } + public override void Modulo(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] % right); } - public override void Modulo(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] & right[i]); } + public override void And(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] & right); } - public override void And(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] | right[i]); } + public override void Or(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] | right); } - public override void Or(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] ^ right[i]); } + public override void Xor(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] ^ right); } - public override void Xor(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, sbyte scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, sbyte right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -2913,51 +2205,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (short)(left[i] + right[i]); } + public override void Add(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] + right); } - public override void Add(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] - right[i]); } + public override void Subtract(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] - right); } - public override void Subtract(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] * right[i]); } + public override void Multiply(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] * right); } - public override void Multiply(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -2969,6 +2267,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } + public override void Divide(Span left, short right) { for (var i = 0; i < left.Length; i++) @@ -2983,272 +2282,181 @@ public override void Divide(short left, Span right, ReadOnlySpan ri right[i] = (short)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] % right[i]); } + public override void Modulo(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] % right); } - public override void Modulo(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] & right[i]); } + public override void And(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] & right); } - public override void And(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] | right[i]); } + public override void Or(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] | right); } - public override void Or(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] ^ right[i]); } + public override void Xor(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] ^ right); } - public override void Xor(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, short scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, short right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -3259,51 +2467,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (uint)(left[i] + right[i]); } + public override void Add(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] + right); } - public override void Add(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] - right[i]); } + public override void Subtract(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] - right); } - public override void Subtract(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] * right[i]); } + public override void Multiply(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] * right); } - public override void Multiply(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -3315,6 +2529,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } + public override void Divide(Span left, uint right) { for (var i = 0; i < left.Length; i++) @@ -3329,272 +2544,181 @@ public override void Divide(uint left, Span right, ReadOnlySpan righ right[i] = (uint)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] % right[i]); } + public override void Modulo(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] % right); } - public override void Modulo(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] & right[i]); } + public override void And(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] & right); } - public override void And(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] | right[i]); } + public override void Or(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] | right); } - public override void Or(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] ^ right[i]); } + public override void Xor(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] ^ right); } - public override void Xor(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, uint scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, uint right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -3605,51 +2729,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (ulong)(left[i] + right[i]); } + public override void Add(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] + right); } - public override void Add(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] - right[i]); } + public override void Subtract(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] - right); } - public override void Subtract(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] * right[i]); } + public override void Multiply(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] * right); } - public override void Multiply(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -3661,6 +2791,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } + public override void Divide(Span left, ulong right) { for (var i = 0; i < left.Length; i++) @@ -3675,272 +2806,181 @@ public override void Divide(ulong left, Span right, ReadOnlySpan ri right[i] = (ulong)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] % right[i]); } + public override void Modulo(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] % right); } - public override void Modulo(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] & right[i]); } + public override void And(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] & right); } - public override void And(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] | right[i]); } + public override void Or(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] | right); } - public override void Or(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] ^ right[i]); } + public override void Xor(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] ^ right); } - public override void Xor(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ulong scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ulong right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { @@ -3951,51 +2991,57 @@ public override void Add(Span left, ReadOnlySpan right) left[i] = (ushort)(left[i] + right[i]); } + public override void Add(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] + right); } - public override void Add(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left + right[i]); } + + public override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] - right[i]); } + public override void Subtract(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] - right); } - public override void Subtract(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left - right[i]); } + + public override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] * right[i]); } + public override void Multiply(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] * right); } - public override void Multiply(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left * right[i]); } + + public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -4007,6 +3053,7 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } + public override void Divide(Span left, ushort right) { for (var i = 0; i < left.Length; i++) @@ -4021,337 +3068,211 @@ public override void Divide(ushort left, Span right, ReadOnlySpan right[i] = (ushort)(left / right[i]); } } + + public override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] % right[i]); } + public override void Modulo(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] % right); } - public override void Modulo(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left % right[i]); } + + public override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] & right[i]); } + public override void And(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] & right); } - public override void And(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left & right[i]); } + + public override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] | right[i]); } + public override void Or(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] | right); } - public override void Or(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left | right[i]); } + + public override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] ^ right[i]); } + public override void Xor(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] ^ right); } - public override void Xor(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left ^ right[i]); } + public override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] << right); } + public override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] >> right); } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThanOrEqual(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] >= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThanOrEqual(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] <= scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseGreaterThan(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] > scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseLessThan(PrimitiveColumnContainer column, ushort scalar) + + public override bool[] ElementwiseLessThan(ReadOnlySpan left, ushort right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] < scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } internal class DateTimeArithmetic : PrimitiveDataFrameColumnArithmetic { - - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseEquals(PrimitiveColumnContainer column, DateTime scalar) + + public override bool[] ElementwiseEquals(ReadOnlySpan left, DateTime right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] == scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer left, PrimitiveColumnContainer right) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; - for (int b = 0; b < left.Buffers.Count; b++) - { - var span = left.Buffers[b].ReadOnlySpan; - var otherSpan = right.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != otherSpan[i]); - } - } - return ret; + var result = new bool[left.Length]; + return result; } - public override PrimitiveColumnContainer ElementwiseNotEquals(PrimitiveColumnContainer column, DateTime scalar) + + public override bool[] ElementwiseNotEquals(ReadOnlySpan left, DateTime right) { - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; - for (int b = 0; b < column.Buffers.Count; b++) - { - var span = column.Buffers[b].ReadOnlySpan; - for (int i = 0; i < span.Length; i++) - { - ret[index++] = (span[i] != scalar); - } - } - return ret; + var result = new bool[left.Length]; + return result; } + } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 67a2ac2133..0b0c5ca23e 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -16,31 +16,12 @@ using System; namespace Microsoft.Data.Analysis { - internal interface IPrimitiveDataFrameColumnArithmetic - where T : unmanaged - { - void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); - - void HandleOperation(BinaryScalarOperation operation, Span left, T right); - void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); - - void HandleOperation(BinaryIntOperation operation, Span left, int right); - -<# foreach (MethodConfiguration method in methodConfiguration) { #> -<# if (method.MethodType == MethodType.Comparison) { #> - PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right); -<# } else if (method.MethodType == MethodType.ComparisonScalar) {#> - PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar); -<# } #> -<# } #> - } - internal class PrimitiveDataFrameColumnArithmetic : IPrimitiveDataFrameColumnArithmetic where T : unmanaged { public static IPrimitiveDataFrameColumnArithmetic Instance { get; } = PrimitiveDataFrameColumnArithmetic.GetArithmetic(); - public virtual void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + public void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { if (operation == BinaryOperation.Divide) { @@ -59,7 +40,7 @@ namespace Microsoft.Data.Analysis BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); } - public virtual void HandleOperation(BinaryScalarOperation operation, Span left, T right) + public void HandleOperation(BinaryScalarOperation operation, Span left, T right) { switch (operation) { @@ -73,7 +54,7 @@ namespace Microsoft.Data.Analysis } } - public virtual void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) + public void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity) { if (operation == BinaryScalarOperation.Divide) { @@ -90,7 +71,7 @@ namespace Microsoft.Data.Analysis <# } #> } - public virtual void HandleOperation(BinaryIntOperation operation, Span left, int right) + public void HandleOperation(BinaryIntOperation operation, Span left, int right) { switch (operation) { @@ -104,12 +85,41 @@ namespace Microsoft.Data.Analysis } } + public Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right) + { + switch (operation) + { <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> - public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer left, PrimitiveColumnContainer right) => throw new NotSupportedException(); + case ComparisonOperation.<#=method.MethodName#>: + return <#=method.MethodName#>(left, right); +<# } #> +<# } #> + } + throw new NotSupportedException(); + } + + public Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right) + { + switch (operation) + { +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.ComparisonScalar) { #> + case ComparisonScalarOperation.<#=method.MethodName#>: + return <#=method.MethodName#>(left, right); +<# } #> +<# } #> + } + throw new NotSupportedException(); + } + + +<# foreach (MethodConfiguration method in methodConfiguration) { #> +<# if (method.MethodType == MethodType.Comparison) { #> + public virtual bool[] <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.ComparisonScalar) { #> - public virtual PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer column, T scalar) => throw new NotSupportedException(); + public virtual bool[] <#=method.MethodName#>(ReadOnlySpan left, T right) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> @@ -147,17 +157,25 @@ namespace Microsoft.Data.Analysis <# foreach (TypeConfiguration type in typeConfiguration) { #> internal class <#=type.ClassPrefix#>Arithmetic : PrimitiveDataFrameColumnArithmetic<<#=type.TypeName#>> { - <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (!((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) && method.Operator != null) { #> <# if (method.MethodType == MethodType.Comparison) { #> - public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> left, PrimitiveColumnContainer<<#=type.TypeName#>> right) + public override bool[] <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) + { + var result = new bool[left.Length]; + return result; + } <# } else if (method.MethodType == MethodType.ComparisonScalar) {#> - public override PrimitiveColumnContainer <#=method.MethodName#>(PrimitiveColumnContainer<<#=type.TypeName#>> column, <#=type.TypeName#> scalar) + public override bool[] <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, <#=type.TypeName#> right) + { + var result = new bool[left.Length]; + return result; + } <# } else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) @@ -170,6 +188,7 @@ namespace Microsoft.Data.Analysis } <# } #> <# else { #> + public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) { for (var i = 0; i < left.Length; i++) @@ -184,8 +203,8 @@ namespace Microsoft.Data.Analysis for (var i = 0; i < left.Length; i++) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); } - <# if (method.MethodName == "Divide") { #> + public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) @@ -211,43 +230,7 @@ namespace Microsoft.Data.Analysis left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); } <# } #> -<# if (method.MethodType != MethodType.Binary && method.MethodType != MethodType.BinaryScalar && method.MethodType != MethodType.BinaryInt) { #> - { -<# if (method.MethodType == MethodType.Comparison) { #> - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(left.Length); - long index = 0; -<# } #> -<# if (method.MethodType == MethodType.ComparisonScalar) { #> - PrimitiveColumnContainer ret = new PrimitiveColumnContainer(column.Length); - long index = 0; -<# } #> - for (int b = 0; b < <#= method.Op1Name #>.Buffers.Count; b++) - { -<# if (method.MethodType == MethodType.Comparison) { #> - var span = <#= method.Op1Name #>.Buffers[b].ReadOnlySpan; - var otherSpan = <#=method.Op2Name#>.Buffers[b].ReadOnlySpan; -<# } else if (method.MethodType == MethodType.ComparisonScalar){#> - var span = <#= method.Op1Name #>.Buffers[b].ReadOnlySpan; -<# } else {#> - var mutableBuffer = <#= method.Op1Name #>.Buffers.GetOrCreateMutable(b); - var span = mutableBuffer.Span; -<# } #> - for (int i = 0; i < span.Length; i++) - { -<# if (method.MethodType == MethodType.Comparison) { #> - ret[index++] = (span[i] <#= method.Operator #> otherSpan[i]); -<# } else if (method.MethodType == MethodType.ComparisonScalar) { #> - ret[index++] = (span[i] <#= method.Operator #> <#= method.Op2Name #>); -<# } else {#> - throw new NotImplementedException(); -<# } #> - } - } -<# if (method.MethodType == MethodType.Comparison || method.MethodType == MethodType.ComparisonScalar) { #> - return ret; -<# } #> - } -<# } #> + <# } #> <# } #> } From b94a96fad454a1ec0ff463d2132f60e68bb36359 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 29 Sep 2023 18:47:28 +0300 Subject: [PATCH 40/44] Implement actual calculations for Comparison operations --- .../IPrimitiveDataFrameColumnArithmetic.cs | 4 +- ...imitiveColumnContainer.BinaryOperations.cs | 15 +- .../PrimitiveColumnContainer.cs | 5 +- .../PrimitiveDataFrameColumnArithmetic.cs | 2339 +++++++++-------- .../PrimitiveDataFrameColumnArithmetic.tt | 62 +- .../DataFrameColumn.BinaryOperationTests.cs | 2 +- 6 files changed, 1238 insertions(+), 1189 deletions(-) diff --git a/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs index e1cd977596..780c2000e8 100644 --- a/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/IPrimitiveDataFrameColumnArithmetic.cs @@ -13,8 +13,8 @@ internal interface IPrimitiveDataFrameColumnArithmetic { void HandleOperation(BinaryOperation operation, Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity); - Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right); - Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right); + void HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer container, long offset); + void HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right, PrimitiveColumnContainer container, long offset); void HandleOperation(BinaryScalarOperation operation, Span left, T right); void HandleOperation(BinaryScalarOperation operation, T left, Span right, ReadOnlySpan rightValidity); diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 64bb8a161d..6d2338b302 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -75,29 +75,34 @@ public PrimitiveColumnContainer HandleOperation(BinaryIntOperation operation, public PrimitiveColumnContainer HandleOperation(ComparisonOperation operation, PrimitiveColumnContainer right) { var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; + + var ret = new PrimitiveColumnContainer(Length); + long offset = 0; for (int i = 0; i < this.Buffers.Count; i++) { var leftSpan = this.Buffers[i].ReadOnlySpan; var rightSpan = right.Buffers[i].ReadOnlySpan; - arithmetic.HandleOperation(operation, leftSpan, rightSpan); - + arithmetic.HandleOperation(operation, leftSpan, rightSpan, ret, offset); + offset += leftSpan.Length; } - return new PrimitiveColumnContainer(); + return ret; } public PrimitiveColumnContainer HandleOperation(ComparisonScalarOperation operation, T right) { + var ret = new PrimitiveColumnContainer(Length); + long offset = 0; var arithmetic = PrimitiveDataFrameColumnArithmetic.Instance; for (int i = 0; i < this.Buffers.Count; i++) { var leftSpan = this.Buffers[i].ReadOnlySpan; - arithmetic.HandleOperation(operation, leftSpan, right); + arithmetic.HandleOperation(operation, leftSpan, right, ret, offset); } - return new PrimitiveColumnContainer(); + return ret; } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 59ce8a5ad1..9aa8779927 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -465,9 +465,10 @@ private bool GetValidityBit(long index) return BitmapHelper.IsBitSet(curBitMap, (int)index); } - public long Length; + public long Length { get; private set; } + + public long NullCount { get; private set; } - public long NullCount; public int GetArrayContainingRowIndex(long rowIndex) { if (rowIndex >= Length) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index 48a75ff3d8..b64d3b21f2 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -106,85 +106,94 @@ public void HandleOperation(BinaryIntOperation operation, Span left, int righ } } - public Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right) + public void HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { switch (operation) { case ComparisonOperation.ElementwiseEquals: - return ElementwiseEquals(left, right); + ElementwiseEquals(left, right, result, offset); + break; case ComparisonOperation.ElementwiseNotEquals: - return ElementwiseNotEquals(left, right); + ElementwiseNotEquals(left, right, result, offset); + break; case ComparisonOperation.ElementwiseGreaterThanOrEqual: - return ElementwiseGreaterThanOrEqual(left, right); + ElementwiseGreaterThanOrEqual(left, right, result, offset); + break; case ComparisonOperation.ElementwiseLessThanOrEqual: - return ElementwiseLessThanOrEqual(left, right); + ElementwiseLessThanOrEqual(left, right, result, offset); + break; case ComparisonOperation.ElementwiseGreaterThan: - return ElementwiseGreaterThan(left, right); + ElementwiseGreaterThan(left, right, result, offset); + break; case ComparisonOperation.ElementwiseLessThan: - return ElementwiseLessThan(left, right); + ElementwiseLessThan(left, right, result, offset); + break; } - throw new NotSupportedException(); } - public Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right) + public void HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) { switch (operation) { case ComparisonScalarOperation.ElementwiseEquals: - return ElementwiseEquals(left, right); + ElementwiseEquals(left, right, result, offset); + break; case ComparisonScalarOperation.ElementwiseNotEquals: - return ElementwiseNotEquals(left, right); + ElementwiseNotEquals(left, right, result, offset); + break; case ComparisonScalarOperation.ElementwiseGreaterThanOrEqual: - return ElementwiseGreaterThanOrEqual(left, right); + ElementwiseGreaterThanOrEqual(left, right, result, offset); + break; case ComparisonScalarOperation.ElementwiseLessThanOrEqual: - return ElementwiseLessThanOrEqual(left, right); + ElementwiseLessThanOrEqual(left, right, result, offset); + break; case ComparisonScalarOperation.ElementwiseGreaterThan: - return ElementwiseGreaterThan(left, right); + ElementwiseGreaterThan(left, right, result, offset); + break; case ComparisonScalarOperation.ElementwiseLessThan: - return ElementwiseLessThan(left, right); + ElementwiseLessThan(left, right, result, offset); + break; } - throw new NotSupportedException(); } - - public virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Add(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Add(T left, Span right) => throw new NotSupportedException(); - public virtual void Subtract(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Subtract(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Subtract(T left, Span right) => throw new NotSupportedException(); - public virtual void Multiply(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Multiply(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Multiply(T left, Span right) => throw new NotSupportedException(); - public virtual void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); - public virtual void Divide(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Divide(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); - public virtual void Modulo(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Modulo(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Modulo(T left, Span right) => throw new NotSupportedException(); - public virtual void And(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void And(Span left, T scalar) => throw new NotSupportedException(); - public virtual void And(T left, Span right) => throw new NotSupportedException(); - public virtual void Or(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Or(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Or(T left, Span right) => throw new NotSupportedException(); - public virtual void Xor(Span left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual void Xor(Span left, T scalar) => throw new NotSupportedException(); - public virtual void Xor(T left, Span right) => throw new NotSupportedException(); - public virtual void LeftShift(Span left, int right) => throw new NotSupportedException(); - public virtual void RightShift(Span left, int right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseEquals(ReadOnlySpan left, T right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseNotEquals(ReadOnlySpan left, T right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, T right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, T right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseGreaterThan(ReadOnlySpan left, T right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); - public virtual bool[] ElementwiseLessThan(ReadOnlySpan left, T right) => throw new NotSupportedException(); + protected virtual void Add(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Add(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Add(T left, Span right) => throw new NotSupportedException(); + protected virtual void Subtract(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Subtract(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Subtract(T left, Span right) => throw new NotSupportedException(); + protected virtual void Multiply(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Multiply(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Multiply(T left, Span right) => throw new NotSupportedException(); + protected virtual void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); + protected virtual void Divide(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Divide(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); + protected virtual void Modulo(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Modulo(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Modulo(T left, Span right) => throw new NotSupportedException(); + protected virtual void And(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void And(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void And(T left, Span right) => throw new NotSupportedException(); + protected virtual void Or(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Or(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Or(T left, Span right) => throw new NotSupportedException(); + protected virtual void Xor(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void Xor(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void Xor(T left, Span right) => throw new NotSupportedException(); + protected virtual void LeftShift(Span left, int right) => throw new NotSupportedException(); + protected virtual void RightShift(Span left, int right) => throw new NotSupportedException(); + protected virtual void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseEquals(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseNotEquals(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseLessThanOrEqual(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseGreaterThan(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); + protected virtual void ElementwiseLessThan(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); } @@ -228,152 +237,150 @@ public static IPrimitiveDataFrameColumnArithmetic GetArithmetic() internal class BoolArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] & right[i]); } - - public override void And(Span left, bool right) + protected override void And(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] & right); } - public override void And(bool left, Span right) + + protected override void And(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] | right[i]); } - - public override void Or(Span left, bool right) + protected override void Or(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] | right); } - public override void Or(bool left, Span right) + + protected override void Or(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] ^ right[i]); } - - public override void Xor(Span left, bool right) + protected override void Xor(Span left, bool right) { for (var i = 0; i < left.Length; i++) left[i] = (bool)(left[i] ^ right); } - public override void Xor(bool left, Span right) + + protected override void Xor(bool left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (bool)(left ^ right[i]); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, bool right) + protected override void ElementwiseEquals(ReadOnlySpan left, bool right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, bool right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, bool right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - } internal class ByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] + right[i]); } - - public override void Add(Span left, byte right) + protected override void Add(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] + right); } - public override void Add(byte left, Span right) + + protected override void Add(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] - right[i]); } - - public override void Subtract(Span left, byte right) + protected override void Subtract(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] - right); } - public override void Subtract(byte left, Span right) + + protected override void Subtract(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] * right[i]); } - - public override void Multiply(Span left, byte right) + protected override void Multiply(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] * right); } - public override void Multiply(byte left, Span right) + + protected override void Multiply(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -384,14 +391,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - - public override void Divide(Span left, byte right) + protected override void Divide(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] / right); } - public override void Divide(byte left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(byte left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -400,242 +406,244 @@ public override void Divide(byte left, Span right, ReadOnlySpan righ } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] % right[i]); } - - public override void Modulo(Span left, byte right) + protected override void Modulo(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] % right); } - public override void Modulo(byte left, Span right) + + protected override void Modulo(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] & right[i]); } - - public override void And(Span left, byte right) + protected override void And(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] & right); } - public override void And(byte left, Span right) + + protected override void And(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] | right[i]); } - - public override void Or(Span left, byte right) + protected override void Or(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] | right); } - public override void Or(byte left, Span right) + + protected override void Or(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] ^ right[i]); } - - public override void Xor(Span left, byte right) + protected override void Xor(Span left, byte right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] ^ right); } - public override void Xor(byte left, Span right) + + protected override void Xor(byte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (byte)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (byte)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, byte right) + protected override void ElementwiseEquals(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, byte right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, byte right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, byte right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, byte right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, byte right) + protected override void ElementwiseLessThan(ReadOnlySpan left, byte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class CharArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] + right[i]); } - - public override void Add(Span left, char right) + protected override void Add(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] + right); } - public override void Add(char left, Span right) + + protected override void Add(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] - right[i]); } - - public override void Subtract(Span left, char right) + protected override void Subtract(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] - right); } - public override void Subtract(char left, Span right) + + protected override void Subtract(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] * right[i]); } - - public override void Multiply(Span left, char right) + protected override void Multiply(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] * right); } - public override void Multiply(char left, Span right) + + protected override void Multiply(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -646,14 +654,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - - public override void Divide(Span left, char right) + protected override void Divide(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] / right); } - public override void Divide(char left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(char left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -662,242 +669,244 @@ public override void Divide(char left, Span right, ReadOnlySpan righ } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] % right[i]); } - - public override void Modulo(Span left, char right) + protected override void Modulo(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] % right); } - public override void Modulo(char left, Span right) + + protected override void Modulo(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] & right[i]); } - - public override void And(Span left, char right) + protected override void And(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] & right); } - public override void And(char left, Span right) + + protected override void And(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] | right[i]); } - - public override void Or(Span left, char right) + protected override void Or(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] | right); } - public override void Or(char left, Span right) + + protected override void Or(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] ^ right[i]); } - - public override void Xor(Span left, char right) + protected override void Xor(Span left, char right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] ^ right); } - public override void Xor(char left, Span right) + + protected override void Xor(char left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (char)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (char)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, char right) + protected override void ElementwiseEquals(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, char right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, char right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, char right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, char right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, char right) + protected override void ElementwiseLessThan(ReadOnlySpan left, char right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class DecimalArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] + right[i]); } - - public override void Add(Span left, decimal right) + protected override void Add(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] + right); } - public override void Add(decimal left, Span right) + + protected override void Add(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] - right[i]); } - - public override void Subtract(Span left, decimal right) + protected override void Subtract(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] - right); } - public override void Subtract(decimal left, Span right) + + protected override void Subtract(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] * right[i]); } - - public override void Multiply(Span left, decimal right) + protected override void Multiply(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] * right); } - public override void Multiply(decimal left, Span right) + + protected override void Multiply(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -908,14 +917,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnl } } - - public override void Divide(Span left, decimal right) + protected override void Divide(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] / right); } - public override void Divide(decimal left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(decimal left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -924,171 +932,178 @@ public override void Divide(decimal left, Span right, ReadOnlySpan left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] % right[i]); } - - public override void Modulo(Span left, decimal right) + protected override void Modulo(Span left, decimal right) { for (var i = 0; i < left.Length; i++) left[i] = (decimal)(left[i] % right); } - public override void Modulo(decimal left, Span right) + + protected override void Modulo(decimal left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (decimal)(left % right[i]); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, decimal right) + protected override void ElementwiseEquals(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, decimal right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, decimal right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, decimal right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, decimal right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, decimal right) + protected override void ElementwiseLessThan(ReadOnlySpan left, decimal right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class DoubleArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] + right[i]); } - - public override void Add(Span left, double right) + protected override void Add(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] + right); } - public override void Add(double left, Span right) + + protected override void Add(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] - right[i]); } - - public override void Subtract(Span left, double right) + protected override void Subtract(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] - right); } - public override void Subtract(double left, Span right) + + protected override void Subtract(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] * right[i]); } - - public override void Multiply(Span left, double right) + protected override void Multiply(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] * right); } - public override void Multiply(double left, Span right) + + protected override void Multiply(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -1099,14 +1114,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } - - public override void Divide(Span left, double right) + protected override void Divide(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] / right); } - public override void Divide(double left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(double left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1115,171 +1129,178 @@ public override void Divide(double left, Span right, ReadOnlySpan } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] % right[i]); } - - public override void Modulo(Span left, double right) + protected override void Modulo(Span left, double right) { for (var i = 0; i < left.Length; i++) left[i] = (double)(left[i] % right); } - public override void Modulo(double left, Span right) + + protected override void Modulo(double left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (double)(left % right[i]); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, double right) + protected override void ElementwiseEquals(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, double right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, double right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, double right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, double right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, double right) + protected override void ElementwiseLessThan(ReadOnlySpan left, double right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class FloatArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] + right[i]); } - - public override void Add(Span left, float right) + protected override void Add(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] + right); } - public override void Add(float left, Span right) + + protected override void Add(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] - right[i]); } - - public override void Subtract(Span left, float right) + protected override void Subtract(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] - right); } - public override void Subtract(float left, Span right) + + protected override void Subtract(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] * right[i]); } - - public override void Multiply(Span left, float right) + protected override void Multiply(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] * right); } - public override void Multiply(float left, Span right) + + protected override void Multiply(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -1290,14 +1311,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - - public override void Divide(Span left, float right) + protected override void Divide(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] / right); } - public override void Divide(float left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(float left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1306,171 +1326,178 @@ public override void Divide(float left, Span right, ReadOnlySpan ri } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] % right[i]); } - - public override void Modulo(Span left, float right) + protected override void Modulo(Span left, float right) { for (var i = 0; i < left.Length; i++) left[i] = (float)(left[i] % right); } - public override void Modulo(float left, Span right) + + protected override void Modulo(float left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (float)(left % right[i]); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, float right) + protected override void ElementwiseEquals(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, float right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, float right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, float right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, float right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, float right) + protected override void ElementwiseLessThan(ReadOnlySpan left, float right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class IntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] + right[i]); } - - public override void Add(Span left, int right) + protected override void Add(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] + right); } - public override void Add(int left, Span right) + + protected override void Add(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] - right[i]); } - - public override void Subtract(Span left, int right) + protected override void Subtract(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] - right); } - public override void Subtract(int left, Span right) + + protected override void Subtract(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] * right[i]); } - - public override void Multiply(Span left, int right) + protected override void Multiply(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] * right); } - public override void Multiply(int left, Span right) + + protected override void Multiply(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -1481,14 +1508,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySpa } } - - public override void Divide(Span left, int right) + protected override void Divide(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] / right); } - public override void Divide(int left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(int left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1497,242 +1523,244 @@ public override void Divide(int left, Span right, ReadOnlySpan rightV } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] % right[i]); } - - public override void Modulo(Span left, int right) + protected override void Modulo(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] % right); } - public override void Modulo(int left, Span right) + + protected override void Modulo(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] & right[i]); } - - public override void And(Span left, int right) + protected override void And(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] & right); } - public override void And(int left, Span right) + + protected override void And(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] | right[i]); } - - public override void Or(Span left, int right) + protected override void Or(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] | right); } - public override void Or(int left, Span right) + + protected override void Or(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] ^ right[i]); } - - public override void Xor(Span left, int right) + protected override void Xor(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] ^ right); } - public override void Xor(int left, Span right) + + protected override void Xor(int left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (int)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (int)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, int right) + protected override void ElementwiseEquals(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, int right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, int right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, int right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, int right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, int right) + protected override void ElementwiseLessThan(ReadOnlySpan left, int right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class LongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] + right[i]); } - - public override void Add(Span left, long right) + protected override void Add(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] + right); } - public override void Add(long left, Span right) + + protected override void Add(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] - right[i]); } - - public override void Subtract(Span left, long right) + protected override void Subtract(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] - right); } - public override void Subtract(long left, Span right) + + protected override void Subtract(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] * right[i]); } - - public override void Multiply(Span left, long right) + protected override void Multiply(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] * right); } - public override void Multiply(long left, Span right) + + protected override void Multiply(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -1743,14 +1771,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - - public override void Divide(Span left, long right) + protected override void Divide(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] / right); } - public override void Divide(long left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(long left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -1759,242 +1786,244 @@ public override void Divide(long left, Span right, ReadOnlySpan righ } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] % right[i]); } - - public override void Modulo(Span left, long right) + protected override void Modulo(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] % right); } - public override void Modulo(long left, Span right) + + protected override void Modulo(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] & right[i]); } - - public override void And(Span left, long right) + protected override void And(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] & right); } - public override void And(long left, Span right) + + protected override void And(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] | right[i]); } - - public override void Or(Span left, long right) + protected override void Or(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] | right); } - public override void Or(long left, Span right) + + protected override void Or(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] ^ right[i]); } - - public override void Xor(Span left, long right) + protected override void Xor(Span left, long right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] ^ right); } - public override void Xor(long left, Span right) + + protected override void Xor(long left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (long)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (long)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, long right) + protected override void ElementwiseEquals(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, long right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, long right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, long right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, long right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, long right) + protected override void ElementwiseLessThan(ReadOnlySpan left, long right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class SByteArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] + right[i]); } - - public override void Add(Span left, sbyte right) + protected override void Add(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] + right); } - public override void Add(sbyte left, Span right) + + protected override void Add(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] - right[i]); } - - public override void Subtract(Span left, sbyte right) + protected override void Subtract(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] - right); } - public override void Subtract(sbyte left, Span right) + + protected override void Subtract(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] * right[i]); } - - public override void Multiply(Span left, sbyte right) + protected override void Multiply(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] * right); } - public override void Multiply(sbyte left, Span right) + + protected override void Multiply(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -2005,14 +2034,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - - public override void Divide(Span left, sbyte right) + protected override void Divide(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] / right); } - public override void Divide(sbyte left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(sbyte left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2021,242 +2049,244 @@ public override void Divide(sbyte left, Span right, ReadOnlySpan ri } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] % right[i]); } - - public override void Modulo(Span left, sbyte right) + protected override void Modulo(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] % right); } - public override void Modulo(sbyte left, Span right) + + protected override void Modulo(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] & right[i]); } - - public override void And(Span left, sbyte right) + protected override void And(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] & right); } - public override void And(sbyte left, Span right) + + protected override void And(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] | right[i]); } - - public override void Or(Span left, sbyte right) + protected override void Or(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] | right); } - public override void Or(sbyte left, Span right) + + protected override void Or(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] ^ right[i]); } - - public override void Xor(Span left, sbyte right) + protected override void Xor(Span left, sbyte right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] ^ right); } - public override void Xor(sbyte left, Span right) + + protected override void Xor(sbyte left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (sbyte)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (sbyte)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, sbyte right) + protected override void ElementwiseEquals(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, sbyte right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, sbyte right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, sbyte right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, sbyte right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, sbyte right) + protected override void ElementwiseLessThan(ReadOnlySpan left, sbyte right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class ShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] + right[i]); } - - public override void Add(Span left, short right) + protected override void Add(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] + right); } - public override void Add(short left, Span right) + + protected override void Add(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] - right[i]); } - - public override void Subtract(Span left, short right) + protected override void Subtract(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] - right); } - public override void Subtract(short left, Span right) + + protected override void Subtract(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] * right[i]); } - - public override void Multiply(Span left, short right) + protected override void Multiply(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] * right); } - public override void Multiply(short left, Span right) + + protected override void Multiply(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -2267,14 +2297,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - - public override void Divide(Span left, short right) + protected override void Divide(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] / right); } - public override void Divide(short left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(short left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2283,242 +2312,244 @@ public override void Divide(short left, Span right, ReadOnlySpan ri } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] % right[i]); } - - public override void Modulo(Span left, short right) + protected override void Modulo(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] % right); } - public override void Modulo(short left, Span right) + + protected override void Modulo(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] & right[i]); } - - public override void And(Span left, short right) + protected override void And(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] & right); } - public override void And(short left, Span right) + + protected override void And(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] | right[i]); } - - public override void Or(Span left, short right) + protected override void Or(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] | right); } - public override void Or(short left, Span right) + + protected override void Or(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] ^ right[i]); } - - public override void Xor(Span left, short right) + protected override void Xor(Span left, short right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] ^ right); } - public override void Xor(short left, Span right) + + protected override void Xor(short left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (short)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (short)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, short right) + protected override void ElementwiseEquals(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, short right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, short right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, short right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, short right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, short right) + protected override void ElementwiseLessThan(ReadOnlySpan left, short right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class UIntArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] + right[i]); } - - public override void Add(Span left, uint right) + protected override void Add(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] + right); } - public override void Add(uint left, Span right) + + protected override void Add(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] - right[i]); } - - public override void Subtract(Span left, uint right) + protected override void Subtract(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] - right); } - public override void Subtract(uint left, Span right) + + protected override void Subtract(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] * right[i]); } - - public override void Multiply(Span left, uint right) + protected override void Multiply(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] * right); } - public override void Multiply(uint left, Span right) + + protected override void Multiply(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -2529,14 +2560,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlySp } } - - public override void Divide(Span left, uint right) + protected override void Divide(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] / right); } - public override void Divide(uint left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(uint left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2545,242 +2575,244 @@ public override void Divide(uint left, Span right, ReadOnlySpan righ } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] % right[i]); } - - public override void Modulo(Span left, uint right) + protected override void Modulo(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] % right); } - public override void Modulo(uint left, Span right) + + protected override void Modulo(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] & right[i]); } - - public override void And(Span left, uint right) + protected override void And(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] & right); } - public override void And(uint left, Span right) + + protected override void And(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] | right[i]); } - - public override void Or(Span left, uint right) + protected override void Or(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] | right); } - public override void Or(uint left, Span right) + + protected override void Or(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] ^ right[i]); } - - public override void Xor(Span left, uint right) + protected override void Xor(Span left, uint right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] ^ right); } - public override void Xor(uint left, Span right) + + protected override void Xor(uint left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (uint)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (uint)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, uint right) + protected override void ElementwiseEquals(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, uint right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, uint right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, uint right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, uint right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, uint right) + protected override void ElementwiseLessThan(ReadOnlySpan left, uint right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class ULongArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] + right[i]); } - - public override void Add(Span left, ulong right) + protected override void Add(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] + right); } - public override void Add(ulong left, Span right) + + protected override void Add(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] - right[i]); } - - public override void Subtract(Span left, ulong right) + protected override void Subtract(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] - right); } - public override void Subtract(ulong left, Span right) + + protected override void Subtract(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] * right[i]); } - - public override void Multiply(Span left, ulong right) + protected override void Multiply(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] * right); } - public override void Multiply(ulong left, Span right) + + protected override void Multiply(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -2791,14 +2823,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnlyS } } - - public override void Divide(Span left, ulong right) + protected override void Divide(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] / right); } - public override void Divide(ulong left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(ulong left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -2807,242 +2838,244 @@ public override void Divide(ulong left, Span right, ReadOnlySpan ri } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] % right[i]); } - - public override void Modulo(Span left, ulong right) + protected override void Modulo(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] % right); } - public override void Modulo(ulong left, Span right) + + protected override void Modulo(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] & right[i]); } - - public override void And(Span left, ulong right) + protected override void And(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] & right); } - public override void And(ulong left, Span right) + + protected override void And(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] | right[i]); } - - public override void Or(Span left, ulong right) + protected override void Or(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] | right); } - public override void Or(ulong left, Span right) + + protected override void Or(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] ^ right[i]); } - - public override void Xor(Span left, ulong right) + protected override void Xor(Span left, ulong right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] ^ right); } - public override void Xor(ulong left, Span right) + + protected override void Xor(ulong left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ulong)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ulong)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ulong right) + protected override void ElementwiseEquals(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ulong right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ulong right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ulong right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ulong right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ulong right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ulong right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class UShortArithmetic : PrimitiveDataFrameColumnArithmetic { - public override void Add(Span left, ReadOnlySpan right) + protected override void Add(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] + right[i]); } - - public override void Add(Span left, ushort right) + protected override void Add(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] + right); } - public override void Add(ushort left, Span right) + + protected override void Add(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left + right[i]); } - - public override void Subtract(Span left, ReadOnlySpan right) + protected override void Subtract(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] - right[i]); } - - public override void Subtract(Span left, ushort right) + protected override void Subtract(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] - right); } - public override void Subtract(ushort left, Span right) + + protected override void Subtract(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left - right[i]); } - - public override void Multiply(Span left, ReadOnlySpan right) + protected override void Multiply(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] * right[i]); } - - public override void Multiply(Span left, ushort right) + protected override void Multiply(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] * right); } - public override void Multiply(ushort left, Span right) + + protected override void Multiply(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left * right[i]); } - - public override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) + protected override void Divide(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -3053,14 +3086,13 @@ public override void Divide(Span left, Span leftValidity, ReadOnly } } - - public override void Divide(Span left, ushort right) + protected override void Divide(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] / right); } - public override void Divide(ushort left, Span right, ReadOnlySpan rightValidity) + protected override void Divide(ushort left, Span right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -3069,210 +3101,219 @@ public override void Divide(ushort left, Span right, ReadOnlySpan } } - - public override void Modulo(Span left, ReadOnlySpan right) + protected override void Modulo(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] % right[i]); } - - public override void Modulo(Span left, ushort right) + protected override void Modulo(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] % right); } - public override void Modulo(ushort left, Span right) + + protected override void Modulo(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left % right[i]); } - - public override void And(Span left, ReadOnlySpan right) + protected override void And(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] & right[i]); } - - public override void And(Span left, ushort right) + protected override void And(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] & right); } - public override void And(ushort left, Span right) + + protected override void And(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left & right[i]); } - - public override void Or(Span left, ReadOnlySpan right) + protected override void Or(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] | right[i]); } - - public override void Or(Span left, ushort right) + protected override void Or(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] | right); } - public override void Or(ushort left, Span right) + + protected override void Or(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left | right[i]); } - - public override void Xor(Span left, ReadOnlySpan right) + protected override void Xor(Span left, ReadOnlySpan right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] ^ right[i]); } - - public override void Xor(Span left, ushort right) + protected override void Xor(Span left, ushort right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] ^ right); } - public override void Xor(ushort left, Span right) + + protected override void Xor(ushort left, Span right) { for (var i = 0; i < right.Length; i++) right[i] = (ushort)(left ^ right[i]); } - - public override void LeftShift(Span left, int right) + protected override void LeftShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] << right); } - - public override void RightShift(Span left, int right) + protected override void RightShift(Span left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (ushort)(left[i] >> right); } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, ushort right) + protected override void ElementwiseEquals(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ushort right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right[i]); + } } - - public override bool[] ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ushort right) + protected override void ElementwiseGreaterThanOrEqual(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] >= right); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right[i]); + } } - - public override bool[] ElementwiseLessThanOrEqual(ReadOnlySpan left, ushort right) + protected override void ElementwiseLessThanOrEqual(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <= right); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right[i]); + } } - - public override bool[] ElementwiseGreaterThan(ReadOnlySpan left, ushort right) + protected override void ElementwiseGreaterThan(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] > right); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right[i]); + } } - - public override bool[] ElementwiseLessThan(ReadOnlySpan left, ushort right) + protected override void ElementwiseLessThan(ReadOnlySpan left, ushort right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] < right); + } } - } internal class DateTimeArithmetic : PrimitiveDataFrameColumnArithmetic { - public override bool[] ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right[i]); + } } - - public override bool[] ElementwiseEquals(ReadOnlySpan left, DateTime right) + protected override void ElementwiseEquals(ReadOnlySpan left, DateTime right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] == right); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right[i]); + } } - - public override bool[] ElementwiseNotEquals(ReadOnlySpan left, DateTime right) + protected override void ElementwiseNotEquals(ReadOnlySpan left, DateTime right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] != right); + } } - } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt index 0b0c5ca23e..89793f5c79 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.tt @@ -85,57 +85,56 @@ namespace Microsoft.Data.Analysis } } - public Span HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right) + public void HandleOperation(ComparisonOperation operation, ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) { switch (operation) { <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> case ComparisonOperation.<#=method.MethodName#>: - return <#=method.MethodName#>(left, right); + <#=method.MethodName#>(left, right, result, offset); + break; <# } #> <# } #> } - throw new NotSupportedException(); } - public Span HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right) + public void HandleOperation(ComparisonScalarOperation operation, ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) { switch (operation) { <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.ComparisonScalar) { #> case ComparisonScalarOperation.<#=method.MethodName#>: - return <#=method.MethodName#>(left, right); + <#=method.MethodName#>(left, right, result, offset); + break; <# } #> <# } #> } - throw new NotSupportedException(); } - <# foreach (MethodConfiguration method in methodConfiguration) { #> <# if (method.MethodType == MethodType.Comparison) { #> - public virtual bool[] <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(ReadOnlySpan left, ReadOnlySpan right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.ComparisonScalar) { #> - public virtual bool[] <#=method.MethodName#>(ReadOnlySpan left, T right) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(ReadOnlySpan left, T right, PrimitiveColumnContainer result, long offset) => throw new NotSupportedException(); <# } #> <# else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> - public virtual void <#=method.MethodName#>(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(Span left, Span leftValidity, ReadOnlySpan right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); <# } else {#> - public virtual void <#=method.MethodName#>(Span left, ReadOnlySpan right) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(Span left, ReadOnlySpan right) => throw new NotSupportedException(); <# } #> <# } else if (method.MethodType == MethodType.BinaryScalar) { #> - public virtual void <#=method.MethodName#>(Span left, T scalar) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(Span left, T scalar) => throw new NotSupportedException(); <# if (method.MethodName == "Divide") { #> - public virtual void <#=method.MethodName#>(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(T left, Span right, ReadOnlySpan rightValidity) => throw new NotSupportedException(); <# } else { #> - public virtual void <#=method.MethodName#>(T left, Span right) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(T left, Span right) => throw new NotSupportedException(); <# } #> <# } else if (method.MethodType == MethodType.BinaryInt) { #> - public virtual void <#=method.MethodName#>(Span left, int right) => throw new NotSupportedException(); + protected virtual void <#=method.MethodName#>(Span left, int right) => throw new NotSupportedException(); <# } #> <# } #> @@ -161,22 +160,26 @@ namespace Microsoft.Data.Analysis <# if (!((method.IsNumeric && !type.SupportsNumeric) || (method.IsBitwise && !type.SupportsBitwise) || (type.UnsupportedMethods.Contains(method.MethodName))) && method.Operator != null) { #> <# if (method.MethodType == MethodType.Comparison) { #> - public override bool[] <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) + protected override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <#= method.Operator #> right[i]); + } } <# } else if (method.MethodType == MethodType.ComparisonScalar) {#> - public override bool[] <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, <#=type.TypeName#> right) + protected override void <#=method.MethodName#>(ReadOnlySpan<<#=type.TypeName#>> left, <#=type.TypeName#> right, PrimitiveColumnContainer result, long offset) { - var result = new bool[left.Length]; - return result; + for (var i = 0; i < left.Length; i++) + { + result[i + offset] = (left[i] <#= method.Operator #> right); + } } <# } else if (method.MethodType == MethodType.Binary) { #> <# if (method.MethodName == "Divide") { #> - public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) + protected override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, Span leftValidity, ReadOnlySpan<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { for (var i = 0; i < left.Length; i++) { @@ -186,10 +189,9 @@ namespace Microsoft.Data.Analysis BitmapHelper.ClearBit(leftValidity, i); } } -<# } #> -<# else { #> +<# } else { #> - public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) + protected override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, ReadOnlySpan<<#=type.TypeName#>> right) { for (var i = 0; i < left.Length; i++) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); @@ -198,14 +200,14 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.BinaryScalar) { #> - public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, <#=type.TypeName#> right) + protected override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, <#=type.TypeName#> right) { for (var i = 0; i < left.Length; i++) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); } <# if (method.MethodName == "Divide") { #> - public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) + protected override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right, ReadOnlySpan rightValidity) { for (var i = 0; i < right.Length; i++) { @@ -215,7 +217,8 @@ namespace Microsoft.Data.Analysis } <# } #> <# else { #> - public override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right) + + protected override void <#=method.MethodName#>(<#=type.TypeName#> left, Span<<#=type.TypeName#>> right) { for (var i = 0; i < right.Length; i++) right[i] = (<#=type.TypeName#>)(left <#= method.Operator #> right[i]); @@ -224,13 +227,12 @@ namespace Microsoft.Data.Analysis <# } #> <# else if (method.MethodType == MethodType.BinaryInt) { #> - public override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, int right) + protected override void <#=method.MethodName#>(Span<<#=type.TypeName#>> left, int right) { for (var i = 0; i < left.Length; i++) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right); } <# } #> - <# } #> <# } #> } diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs index dff229d559..5c2fb24aba 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs @@ -22,7 +22,7 @@ public void AddByteDataFrameColumnToByteDataFrameColumn() ByteDataFrameColumn column = new ByteDataFrameColumn("Byte", columnEnumerable); var otherColumnEnumerable = Enumerable.Range(1, 10).Select(x => (byte)x); ByteDataFrameColumn otherColumn = new ByteDataFrameColumn("Byte", otherColumnEnumerable); - Int32DataFrameColumn columnResult = column + otherColumn; + Int32DataFrameColumn columnResult = column.Add(otherColumn); var verify = Enumerable.Range(1, 10).Select(x => (int)(2 * x)); var verifyColumn = new Int32DataFrameColumn("Verify", verify); Assert.Equal(columnResult.Length, verify.Count()); From d9f1b11836c3d209ffb1441a2b79dc3acb2e41d0 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 29 Sep 2023 19:56:58 +0300 Subject: [PATCH 41/44] Uncomment performance tests --- .../PerformanceTests.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs index 3cf02210aa..a9247b0ed7 100644 --- a/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs +++ b/test/Microsoft.Data.Analysis.PerformanceTests/PerformanceTests.cs @@ -46,7 +46,6 @@ public void SetUp() _floatColumn2 = new SingleDataFrameColumn("Column2", values.Select(v => (float)v)); } - /* #region Addition [Benchmark] @@ -199,7 +198,6 @@ public void Divide_Double_Float() var column = _doubleColumn1 / _floatColumn2; } #endregion - */ #region ElementwiseEquals [Benchmark] From bad13e1807e698094a4a1aecbd281a2837d88d9e Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Fri, 29 Sep 2023 23:45:16 +0300 Subject: [PATCH 42/44] Remove unintentional code changes --- .../DataFrameColumn.BinaryOperationTests.cs | 3 +-- test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs index 5c2fb24aba..03854c7c5e 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameColumn.BinaryOperationTests.cs @@ -22,7 +22,7 @@ public void AddByteDataFrameColumnToByteDataFrameColumn() ByteDataFrameColumn column = new ByteDataFrameColumn("Byte", columnEnumerable); var otherColumnEnumerable = Enumerable.Range(1, 10).Select(x => (byte)x); ByteDataFrameColumn otherColumn = new ByteDataFrameColumn("Byte", otherColumnEnumerable); - Int32DataFrameColumn columnResult = column.Add(otherColumn); + Int32DataFrameColumn columnResult = column + otherColumn; var verify = Enumerable.Range(1, 10).Select(x => (int)(2 * x)); var verifyColumn = new Int32DataFrameColumn("Verify", verify); Assert.Equal(columnResult.Length, verify.Count()); @@ -170,7 +170,6 @@ public void AddByteToByteDataFrameColumn() Assert.Equal(columnResult.Length, verify.Count()); Assert.True(columnResult.ElementwiseEquals(verifyColumn).All()); } - [Fact] public void AddDecimalToByteDataFrameColumn() { diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs index 21276d7294..2fb21c96ae 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs @@ -3685,7 +3685,7 @@ public void Test_ArithmeticsDiffWithNull() var right_column = new Int32DataFrameColumn("Right", new int?[] { 1, null, 1, null }); // Act - var diff = left_column.Subtract(right_column); + var diff = left_column - (right_column); // Assert Assert.Equal(3, diff.NullCount); From f2b80a1cb77908cf17a009da6b48d4dd53c19098 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 2 Oct 2023 20:21:44 +0300 Subject: [PATCH 43/44] Add reference to Apache Arrow project license in THIRD-PARTY-NOTICES --- THIRD-PARTY-NOTICES.TXT | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/THIRD-PARTY-NOTICES.TXT b/THIRD-PARTY-NOTICES.TXT index 3ec43d38e4..0fa2b221e4 100644 --- a/THIRD-PARTY-NOTICES.TXT +++ b/THIRD-PARTY-NOTICES.TXT @@ -85,3 +85,24 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + +License notice for Apache Arrow +------------------------------------------ + +https://github.com/apache/arrow/blob/main/LICENSE.txt + +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. From 5440b747a03b116a945a60055d020f133dc18411 Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Mon, 2 Oct 2023 23:01:37 +0300 Subject: [PATCH 44/44] Fix license issues --- THIRD-PARTY-NOTICES.TXT | 4 +- src/Microsoft.Data.Analysis/BitUtility.cs | 177 ++++++++++++++++ .../DateTimeComputation.cs | 4 +- ...imitiveColumnContainer.BinaryOperations.cs | 2 +- .../PrimitiveColumnContainer.cs | 176 +--------------- .../PrimitiveDataFrameColumn.Sort.cs | 2 +- .../PrimitiveDataFrameColumn.cs | 2 +- .../PrimitiveDataFrameColumnArithmetic.cs | 74 +++---- .../PrimitiveDataFrameColumnArithmetic.tt | 8 +- .../PrimitiveDataFrameColumnComputations.cs | 192 +++++++++--------- .../PrimitiveDataFrameColumnComputations.tt | 2 +- 11 files changed, 330 insertions(+), 313 deletions(-) create mode 100644 src/Microsoft.Data.Analysis/BitUtility.cs diff --git a/THIRD-PARTY-NOTICES.TXT b/THIRD-PARTY-NOTICES.TXT index 0fa2b221e4..890b399349 100644 --- a/THIRD-PARTY-NOTICES.TXT +++ b/THIRD-PARTY-NOTICES.TXT @@ -87,10 +87,10 @@ See the License for the specific language governing permissions and limitations under the License. -License notice for Apache Arrow +License notice for BitUtility ------------------------------------------ -https://github.com/apache/arrow/blob/main/LICENSE.txt +https://github.com/apache/arrow/blob/main/csharp/src/Apache.Arrow/BitUtility.cs Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with diff --git a/src/Microsoft.Data.Analysis/BitUtility.cs b/src/Microsoft.Data.Analysis/BitUtility.cs new file mode 100644 index 0000000000..783356dd13 --- /dev/null +++ b/src/Microsoft.Data.Analysis/BitUtility.cs @@ -0,0 +1,177 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Microsoft.Data.Analysis +{ + // License for BitUtility + // -------------------------------------- + // This class is based on the code from Apache Arrow project + // https://github.com/apache/arrow/blob/main/csharp/src/Apache.Arrow/BitUtility.cs + // that is available in the public domain inder Apache-2.0 license. + // You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 + internal static class BitUtility + { + private static ReadOnlySpan PopcountTable => new byte[] { + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8, + }; + + private static ReadOnlySpan BitMask => new byte[] { + 1, 2, 4, 8, 16, 32, 64, 128 + }; + + // Faster to use when we already have a span since it avoids indexing + public static bool IsValid(ReadOnlySpan bitMapBufferSpan, int index) + { + var nullBitMapSpanIndex = index / 8; + var thisBitMap = bitMapBufferSpan[nullBitMapSpanIndex]; + return IsBitSet(thisBitMap, index); + } + + public static bool IsBitSet(byte curBitMap, int index) + { + return ((curBitMap >> (index & 7)) & 1) != 0; + } + + public static bool IsBitClear(byte curBitMap, int index) + { + return ((curBitMap >> (index & 7)) & 1) == 0; + } + + public static bool GetBit(byte data, int index) => + ((data >> index) & 1) != 0; + + public static bool GetBit(ReadOnlySpan data, int index) => + (data[index / 8] & BitMask[index % 8]) != 0; + + public static void ClearBit(Span data, int index) + { + data[index / 8] &= (byte)~BitMask[index % 8]; + } + + public static void SetBit(Span data, int index) + { + data[index / 8] |= BitMask[index % 8]; + } + + public static void SetBit(Span data, long index, bool value) + { + int idx = (int)(index / 8); + int mod = (int)(index % 8); + data[idx] = value + ? (byte)(data[idx] | BitMask[mod]) + : (byte)(data[idx] & ~BitMask[mod]); + } + + /// + /// Set the number of bits in a span of bytes starting + /// at a specific index, and limiting to length. + /// + /// Span to set bits value. + /// Bit index to start counting from. + /// Maximum of bits in the span to consider. + /// Bit value. + public static void SetBits(Span data, long index, long length, bool value) + { + if (length == 0) + return; + + var endBitIndex = index + length - 1; + + // Use simpler method if there aren't many values + if (length < 20) + { + for (var i = index; i <= endBitIndex; i++) + { + SetBit(data, i, value); + } + return; + } + + // Otherwise do the work to figure out how to copy whole bytes + var startByteIndex = (int)(index / 8); + var startBitOffset = (int)(index % 8); + var endByteIndex = (int)(endBitIndex / 8); + var endBitOffset = (int)(endBitIndex % 8); + + // If the starting index and ending index are not byte-aligned, + // we'll need to set bits the slow way. If they are + // byte-aligned, and for all other bytes in the 'middle', we + // can use a faster byte-aligned set. + var fullByteStartIndex = startBitOffset == 0 ? startByteIndex : startByteIndex + 1; + var fullByteEndIndex = endBitOffset == 7 ? endByteIndex : endByteIndex - 1; + + // Bits we will be using to finish up the first byte + if (startBitOffset != 0) + { + var slice = data.Slice(startByteIndex, 1); + for (var i = startBitOffset; i <= 7; i++) + SetBit(slice, i, value); + } + + if (fullByteEndIndex >= fullByteStartIndex) + { + var slice = data.Slice(fullByteStartIndex, fullByteEndIndex - fullByteStartIndex + 1); + byte fill = (byte)(value ? 0xFF : 0x00); + + slice.Fill(fill); + } + + if (endBitOffset != 7) + { + var slice = data.Slice(endByteIndex, 1); + for (int i = 0; i <= endBitOffset; i++) + SetBit(slice, i, value); + } + } + + public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) + { + for (var i = 0; i < left.Length; i++) + result[i] = (byte)(left[i] & right[i]); + } + + /// + /// Returns the population count (number of bits set) in a span of bytes starting + /// at 0 bit and limiting to length of bits. + /// + /// + /// + /// + public static long GetBitCount(ReadOnlySpan span, long length) + { + var endByteIndex = (int)(length / 8); + + Debug.Assert(span.Length > endByteIndex); + + long count = 0; + for (var i = 0; i < endByteIndex; i++) + count += PopcountTable[span[i]]; + + var endBitOffset = (int)(length % 8); + + if (endBitOffset != 0) + { + var partialByte = span[endByteIndex]; + for (var j = 0; j < endBitOffset; j++) + { + count += GetBit(partialByte, j) ? 0 : 1; + } + } + + return count; + } + } +} diff --git a/src/Microsoft.Data.Analysis/DateTimeComputation.cs b/src/Microsoft.Data.Analysis/DateTimeComputation.cs index ef052b4011..33f643cfea 100644 --- a/src/Microsoft.Data.Analysis/DateTimeComputation.cs +++ b/src/Microsoft.Data.Analysis/DateTimeComputation.cs @@ -203,7 +203,7 @@ public void Max(PrimitiveColumnContainer column, out DateTime? ret) for (int i = 0; i < readOnlySpan.Length; i++) { //Check if bit is not set (value is null) - skip - if (!BitmapHelper.IsValid(bitmapSpan, i)) + if (!BitUtility.IsValid(bitmapSpan, i)) continue; var val = readOnlySpan[i]; @@ -261,7 +261,7 @@ public void Min(PrimitiveColumnContainer column, out DateTime? ret) for (int i = 0; i < readOnlySpan.Length; i++) { //Check if bit is not set (value is null) - skip - if (!BitmapHelper.IsValid(bitmapSpan, i)) + if (!BitUtility.IsValid(bitmapSpan, i)) continue; var val = readOnlySpan[i]; diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs index 6d2338b302..58180924a8 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.BinaryOperations.cs @@ -25,7 +25,7 @@ public PrimitiveColumnContainer HandleOperation(BinaryOperation operation, Pr arithmetic.HandleOperation(operation, leftSpan, leftValidity, rightSpan, rightValidity); //Calculate NullCount - nullCount += BitmapHelper.GetBitCount(leftValidity, mutableBuffer.Length); + nullCount += BitUtility.GetBitCount(leftValidity, mutableBuffer.Length); } NullCount = nullCount; diff --git a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs index 9aa8779927..ce4c074c64 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveColumnContainer.cs @@ -12,166 +12,6 @@ namespace Microsoft.Data.Analysis { - internal static class BitmapHelper - { - private static ReadOnlySpan PopcountTable => new byte[] { - 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, - 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8, - }; - - private static ReadOnlySpan BitMask => new byte[] { - 1, 2, 4, 8, 16, 32, 64, 128 - }; - - // Faster to use when we already have a span since it avoids indexing - public static bool IsValid(ReadOnlySpan bitMapBufferSpan, int index) - { - var nullBitMapSpanIndex = index / 8; - var thisBitMap = bitMapBufferSpan[nullBitMapSpanIndex]; - return IsBitSet(thisBitMap, index); - } - - public static bool IsBitSet(byte curBitMap, int index) - { - return ((curBitMap >> (index & 7)) & 1) != 0; - } - - public static bool IsBitClear(byte curBitMap, int index) - { - return ((curBitMap >> (index & 7)) & 1) == 0; - } - - public static bool GetBit(byte data, int index) => - ((data >> index) & 1) != 0; - - public static bool GetBit(ReadOnlySpan data, int index) => - (data[index / 8] & BitMask[index % 8]) != 0; - - public static void ClearBit(Span data, int index) - { - data[index / 8] &= (byte)~BitMask[index % 8]; - } - - public static void SetBit(Span data, int index) - { - data[index / 8] |= BitMask[index % 8]; - } - - public static void SetBit(Span data, long index, bool value) - { - int idx = (int)(index / 8); - int mod = (int)(index % 8); - data[idx] = value - ? (byte)(data[idx] | BitMask[mod]) - : (byte)(data[idx] & ~BitMask[mod]); - } - - /// - /// Set the number of bits in a span of bytes starting - /// at a specific index, and limiting to length. - /// - /// Span to set bits value. - /// Bit index to start counting from. - /// Maximum of bits in the span to consider. - /// Bit value. - public static void SetBits(Span data, long index, long length, bool value) - { - if (length == 0) - return; - - var endBitIndex = index + length - 1; - - // Use simpler method if there aren't many values - if (length < 20) - { - for (var i = index; i <= endBitIndex; i++) - { - SetBit(data, i, value); - } - return; - } - - // Otherwise do the work to figure out how to copy whole bytes - var startByteIndex = (int)(index / 8); - var startBitOffset = (int)(index % 8); - var endByteIndex = (int)(endBitIndex / 8); - var endBitOffset = (int)(endBitIndex % 8); - - // If the starting index and ending index are not byte-aligned, - // we'll need to set bits the slow way. If they are - // byte-aligned, and for all other bytes in the 'middle', we - // can use a faster byte-aligned set. - var fullByteStartIndex = startBitOffset == 0 ? startByteIndex : startByteIndex + 1; - var fullByteEndIndex = endBitOffset == 7 ? endByteIndex : endByteIndex - 1; - - // Bits we will be using to finish up the first byte - if (startBitOffset != 0) - { - var slice = data.Slice(startByteIndex, 1); - for (var i = startBitOffset; i <= 7; i++) - SetBit(slice, i, value); - } - - if (fullByteEndIndex >= fullByteStartIndex) - { - var slice = data.Slice(fullByteStartIndex, fullByteEndIndex - fullByteStartIndex + 1); - byte fill = (byte)(value ? 0xFF : 0x00); - - slice.Fill(fill); - } - - if (endBitOffset != 7) - { - var slice = data.Slice(endByteIndex, 1); - for (int i = 0; i <= endBitOffset; i++) - SetBit(slice, i, value); - } - } - - public static void ElementwiseAnd(ReadOnlySpan left, ReadOnlySpan right, Span result) - { - for (var i = 0; i < left.Length; i++) - result[i] = (byte)(left[i] & right[i]); - } - - /// - /// Returns the population count (number of bits set) in a span of bytes starting - /// at 0 bit and limiting to length of bits. - /// - /// - /// - /// - public static long GetBitCount(ReadOnlySpan span, long length) - { - var endByteIndex = (int)(length / 8); - - Debug.Assert(span.Length > endByteIndex); - - long count = 0; - for (var i = 0; i < endByteIndex; i++) - count += PopcountTable[span[i]]; - - var endBitOffset = (int)(length % 8); - - if (endBitOffset != 0) - { - var partialByte = span[endByteIndex]; - for (var j = 0; j < endBitOffset; j++) - { - count += GetBit(partialByte, j) ? 0 : 1; - } - } - - return count; - } - } - /// /// PrimitiveColumnContainer is just a store for the column data. APIs that want to change the data must be defined in PrimitiveDataFrameColumn /// @@ -328,7 +168,7 @@ public void AppendMany(T? value, long count) if (value.HasValue) { mutableLastBuffer.RawSpan.Slice(mutableLastBuffer.Length - allocatable, allocatable).Fill(value.Value); - BitmapHelper.SetBits(lastNullBitMapBuffer.RawSpan, originalBufferLength, allocatable, true); + BitUtility.SetBits(lastNullBitMapBuffer.RawSpan, originalBufferLength, allocatable, true); } remaining -= allocatable; @@ -348,7 +188,7 @@ public void ApplyElementwise(Func func) for (int i = 0; i < mutableBuffer.Length; i++) { long curIndex = i + prevLength; - bool isValid = BitmapHelper.IsValid(mutableNullBitMapBuffer, i); + bool isValid = BitUtility.IsValid(mutableNullBitMapBuffer, i); T? value = func(isValid ? mutableBuffer[i] : null, curIndex); mutableBuffer[i] = value.GetValueOrDefault(); SetValidityBit(mutableNullBitMapBuffer, i, value != null); @@ -371,7 +211,7 @@ public void Apply(Func func, PrimitiveColumnContainer 0) + if (BitUtility.IsBitClear(curBitMap, index) && index < Length && NullCount > 0) { // Old value was null. NullCount--; @@ -395,7 +235,7 @@ private byte SetBit(byte curBitMap, int index, bool value) } else { - if (BitmapHelper.IsBitSet(curBitMap, index) && index < Length) + if (BitUtility.IsBitSet(curBitMap, index) && index < Length) { // old value was NOT null and new value is null NullCount++; @@ -462,7 +302,7 @@ private bool GetValidityBit(long index) int bitMapBufferIndex = (int)((uint)index / 8); Debug.Assert(bitMapBuffer.Length > bitMapBufferIndex); byte curBitMap = bitMapBuffer[bitMapBufferIndex]; - return BitmapHelper.IsBitSet(curBitMap, (int)index); + return BitUtility.IsBitSet(curBitMap, (int)index); } public long Length { get; private set; } @@ -620,7 +460,7 @@ public PrimitiveColumnContainer Clone(PrimitiveColumnContainer mapIndic spanIndex = buffer.Length - 1 - i; long mapRowIndex = mapIndicesIntSpan.IsEmpty ? mapIndicesLongSpan[spanIndex] : mapIndicesIntSpan[spanIndex]; - bool mapRowIndexIsValid = BitmapHelper.IsValid(mapIndicesNullBitMapSpan, spanIndex); + bool mapRowIndexIsValid = BitUtility.IsValid(mapIndicesNullBitMapSpan, spanIndex); if (mapRowIndexIsValid && (mapRowIndex < minRange || mapRowIndex >= maxRange)) { int bufferIndex = (int)(mapRowIndex / maxCapacity); @@ -635,7 +475,7 @@ public PrimitiveColumnContainer Clone(PrimitiveColumnContainer mapIndic { mapRowIndex -= minRange; value = thisSpan[(int)mapRowIndex]; - isValid = BitmapHelper.IsValid(thisNullBitMapSpan, (int)mapRowIndex); + isValid = BitUtility.IsValid(thisNullBitMapSpan, (int)mapRowIndex); } retSpan[i] = isValid ? value : default; diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.Sort.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.Sort.cs index a70bc1aecc..8896654bcf 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.Sort.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.Sort.cs @@ -45,7 +45,7 @@ private Int64DataFrameColumn GetSortIndices(IComparer comparer, out Int64Data for (int i = 0; i < sortIndices.Length; i++) { int localSortIndex = sortIndices[i]; - if (BitmapHelper.IsValid(nullBitMapSpan, localSortIndex)) + if (BitUtility.IsValid(nullBitMapSpan, localSortIndex)) { nonNullSortIndices.Add(sortIndices[i]); } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index ffec3b3bf5..6fe5270de4 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -587,7 +587,7 @@ public override Dictionary> GroupColumnValues(out for (int i = 0; i < readOnlySpan.Length; i++) { long currentLength = i + previousLength; - if (BitmapHelper.IsValid(nullBitMapSpan, i)) + if (BitUtility.IsValid(nullBitMapSpan, i)) { bool containsKey = multimap.TryGetValue(readOnlySpan[i], out ICollection values); if (containsKey) diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs index b64d3b21f2..b43addb421 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnArithmetic.cs @@ -36,7 +36,7 @@ public void HandleOperation(BinaryOperation operation, Span left, Span else if (operation == BinaryOperation.Xor) Xor(left, right); - BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + BitUtility.ElementwiseAnd(leftValidity, rightValidity, leftValidity); } public void HandleOperation(BinaryScalarOperation operation, Span left, T right) @@ -384,10 +384,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOnl { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (byte)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -401,7 +401,7 @@ protected override void Divide(byte left, Span right, ReadOnlySpan r { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (byte)(left / right[i]); } } @@ -647,10 +647,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOnl { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (char)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -664,7 +664,7 @@ protected override void Divide(char left, Span right, ReadOnlySpan r { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (char)(left / right[i]); } } @@ -910,10 +910,10 @@ protected override void Divide(Span left, Span leftValidity, Read { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (decimal)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -927,7 +927,7 @@ protected override void Divide(decimal left, Span right, ReadOnlySpan left, Span leftValidity, ReadO { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (double)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -1124,7 +1124,7 @@ protected override void Divide(double left, Span right, ReadOnlySpan left, Span leftValidity, ReadOn { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (float)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -1321,7 +1321,7 @@ protected override void Divide(float left, Span right, ReadOnlySpan { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (float)(left / right[i]); } } @@ -1501,10 +1501,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOnly { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (int)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -1518,7 +1518,7 @@ protected override void Divide(int left, Span right, ReadOnlySpan rig { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (int)(left / right[i]); } } @@ -1764,10 +1764,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOnl { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (long)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -1781,7 +1781,7 @@ protected override void Divide(long left, Span right, ReadOnlySpan r { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (long)(left / right[i]); } } @@ -2027,10 +2027,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOn { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (sbyte)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -2044,7 +2044,7 @@ protected override void Divide(sbyte left, Span right, ReadOnlySpan { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (sbyte)(left / right[i]); } } @@ -2290,10 +2290,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOn { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (short)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -2307,7 +2307,7 @@ protected override void Divide(short left, Span right, ReadOnlySpan { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (short)(left / right[i]); } } @@ -2553,10 +2553,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOnl { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (uint)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -2570,7 +2570,7 @@ protected override void Divide(uint left, Span right, ReadOnlySpan r { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (uint)(left / right[i]); } } @@ -2816,10 +2816,10 @@ protected override void Divide(Span left, Span leftValidity, ReadOn { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (ulong)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -2833,7 +2833,7 @@ protected override void Divide(ulong left, Span right, ReadOnlySpan { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (ulong)(left / right[i]); } } @@ -3079,10 +3079,10 @@ protected override void Divide(Span left, Span leftValidity, ReadO { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (ushort)(left[i] / right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } @@ -3096,7 +3096,7 @@ protected override void Divide(ushort left, Span right, ReadOnlySpan <# } #> - BitmapHelper.ElementwiseAnd(leftValidity, rightValidity, leftValidity); + BitUtility.ElementwiseAnd(leftValidity, rightValidity, leftValidity); } public void HandleOperation(BinaryScalarOperation operation, Span left, T right) @@ -183,10 +183,10 @@ namespace Microsoft.Data.Analysis { for (var i = 0; i < left.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) left[i] = (<#=type.TypeName#>)(left[i] <#= method.Operator #> right[i]); else - BitmapHelper.ClearBit(leftValidity, i); + BitUtility.ClearBit(leftValidity, i); } } <# } else { #> @@ -211,7 +211,7 @@ namespace Microsoft.Data.Analysis { for (var i = 0; i < right.Length; i++) { - if (BitmapHelper.IsValid(rightValidity, i)) + if (BitUtility.IsValid(rightValidity, i)) right[i] = (<#=type.TypeName#>)(left <#= method.Operator #> right[i]); } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.cs index cf01656497..b7523f5213 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.cs @@ -281,7 +281,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (byte)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -345,7 +345,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (byte)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -409,7 +409,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (byte)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -473,7 +473,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (byte)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -536,7 +536,7 @@ public void Max(PrimitiveColumnContainer column, out byte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (byte)(Math.Max(readOnlySpan[i], value)); @@ -584,7 +584,7 @@ public void Min(PrimitiveColumnContainer column, out byte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (byte)(Math.Min(readOnlySpan[i], value)); @@ -631,7 +631,7 @@ public void Product(PrimitiveColumnContainer column, out byte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (byte)(readOnlySpan[i] * ret); } @@ -676,7 +676,7 @@ public void Sum(PrimitiveColumnContainer column, out byte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (byte)(readOnlySpan[i] + value); @@ -768,7 +768,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (char)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -832,7 +832,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (char)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -896,7 +896,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (char)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -960,7 +960,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (char)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -1023,7 +1023,7 @@ public void Max(PrimitiveColumnContainer column, out char? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (char)(Math.Max(readOnlySpan[i], value)); @@ -1071,7 +1071,7 @@ public void Min(PrimitiveColumnContainer column, out char? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (char)(Math.Min(readOnlySpan[i], value)); @@ -1118,7 +1118,7 @@ public void Product(PrimitiveColumnContainer column, out char? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (char)(readOnlySpan[i] * ret); } @@ -1163,7 +1163,7 @@ public void Sum(PrimitiveColumnContainer column, out char? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (char)(readOnlySpan[i] + value); @@ -1255,7 +1255,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (decimal)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -1319,7 +1319,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (decimal)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -1383,7 +1383,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (decimal)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -1447,7 +1447,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (decimal)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -1510,7 +1510,7 @@ public void Max(PrimitiveColumnContainer column, out decimal? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (decimal)(Math.Max(readOnlySpan[i], value)); @@ -1558,7 +1558,7 @@ public void Min(PrimitiveColumnContainer column, out decimal? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (decimal)(Math.Min(readOnlySpan[i], value)); @@ -1605,7 +1605,7 @@ public void Product(PrimitiveColumnContainer column, out decimal? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (decimal)(readOnlySpan[i] * ret); } @@ -1650,7 +1650,7 @@ public void Sum(PrimitiveColumnContainer column, out decimal? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (decimal)(readOnlySpan[i] + value); @@ -1742,7 +1742,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (double)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -1806,7 +1806,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (double)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -1870,7 +1870,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (double)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -1934,7 +1934,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (double)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -1997,7 +1997,7 @@ public void Max(PrimitiveColumnContainer column, out double? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (double)(Math.Max(readOnlySpan[i], value)); @@ -2045,7 +2045,7 @@ public void Min(PrimitiveColumnContainer column, out double? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (double)(Math.Min(readOnlySpan[i], value)); @@ -2092,7 +2092,7 @@ public void Product(PrimitiveColumnContainer column, out double? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (double)(readOnlySpan[i] * ret); } @@ -2137,7 +2137,7 @@ public void Sum(PrimitiveColumnContainer column, out double? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (double)(readOnlySpan[i] + value); @@ -2229,7 +2229,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (float)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -2293,7 +2293,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (float)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -2357,7 +2357,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (float)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -2421,7 +2421,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (float)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -2484,7 +2484,7 @@ public void Max(PrimitiveColumnContainer column, out float? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (float)(Math.Max(readOnlySpan[i], value)); @@ -2532,7 +2532,7 @@ public void Min(PrimitiveColumnContainer column, out float? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (float)(Math.Min(readOnlySpan[i], value)); @@ -2579,7 +2579,7 @@ public void Product(PrimitiveColumnContainer column, out float? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (float)(readOnlySpan[i] * ret); } @@ -2624,7 +2624,7 @@ public void Sum(PrimitiveColumnContainer column, out float? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (float)(readOnlySpan[i] + value); @@ -2716,7 +2716,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (int)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -2780,7 +2780,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (int)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -2844,7 +2844,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (int)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -2908,7 +2908,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (int)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -2971,7 +2971,7 @@ public void Max(PrimitiveColumnContainer column, out int? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (int)(Math.Max(readOnlySpan[i], value)); @@ -3019,7 +3019,7 @@ public void Min(PrimitiveColumnContainer column, out int? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (int)(Math.Min(readOnlySpan[i], value)); @@ -3066,7 +3066,7 @@ public void Product(PrimitiveColumnContainer column, out int? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (int)(readOnlySpan[i] * ret); } @@ -3111,7 +3111,7 @@ public void Sum(PrimitiveColumnContainer column, out int? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (int)(readOnlySpan[i] + value); @@ -3203,7 +3203,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (long)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -3267,7 +3267,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (long)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -3331,7 +3331,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (long)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -3395,7 +3395,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (long)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -3458,7 +3458,7 @@ public void Max(PrimitiveColumnContainer column, out long? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (long)(Math.Max(readOnlySpan[i], value)); @@ -3506,7 +3506,7 @@ public void Min(PrimitiveColumnContainer column, out long? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (long)(Math.Min(readOnlySpan[i], value)); @@ -3553,7 +3553,7 @@ public void Product(PrimitiveColumnContainer column, out long? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (long)(readOnlySpan[i] * ret); } @@ -3598,7 +3598,7 @@ public void Sum(PrimitiveColumnContainer column, out long? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (long)(readOnlySpan[i] + value); @@ -3690,7 +3690,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (sbyte)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -3754,7 +3754,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (sbyte)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -3818,7 +3818,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (sbyte)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -3882,7 +3882,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (sbyte)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -3945,7 +3945,7 @@ public void Max(PrimitiveColumnContainer column, out sbyte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (sbyte)(Math.Max(readOnlySpan[i], value)); @@ -3993,7 +3993,7 @@ public void Min(PrimitiveColumnContainer column, out sbyte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (sbyte)(Math.Min(readOnlySpan[i], value)); @@ -4040,7 +4040,7 @@ public void Product(PrimitiveColumnContainer column, out sbyte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (sbyte)(readOnlySpan[i] * ret); } @@ -4085,7 +4085,7 @@ public void Sum(PrimitiveColumnContainer column, out sbyte? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (sbyte)(readOnlySpan[i] + value); @@ -4177,7 +4177,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (short)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -4241,7 +4241,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (short)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -4305,7 +4305,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (short)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -4369,7 +4369,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (short)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -4432,7 +4432,7 @@ public void Max(PrimitiveColumnContainer column, out short? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (short)(Math.Max(readOnlySpan[i], value)); @@ -4480,7 +4480,7 @@ public void Min(PrimitiveColumnContainer column, out short? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (short)(Math.Min(readOnlySpan[i], value)); @@ -4527,7 +4527,7 @@ public void Product(PrimitiveColumnContainer column, out short? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (short)(readOnlySpan[i] * ret); } @@ -4572,7 +4572,7 @@ public void Sum(PrimitiveColumnContainer column, out short? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (short)(readOnlySpan[i] + value); @@ -4664,7 +4664,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (uint)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -4728,7 +4728,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (uint)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -4792,7 +4792,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (uint)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -4856,7 +4856,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (uint)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -4919,7 +4919,7 @@ public void Max(PrimitiveColumnContainer column, out uint? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (uint)(Math.Max(readOnlySpan[i], value)); @@ -4967,7 +4967,7 @@ public void Min(PrimitiveColumnContainer column, out uint? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (uint)(Math.Min(readOnlySpan[i], value)); @@ -5014,7 +5014,7 @@ public void Product(PrimitiveColumnContainer column, out uint? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (uint)(readOnlySpan[i] * ret); } @@ -5059,7 +5059,7 @@ public void Sum(PrimitiveColumnContainer column, out uint? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (uint)(readOnlySpan[i] + value); @@ -5151,7 +5151,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ulong)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -5215,7 +5215,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ulong)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -5279,7 +5279,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ulong)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -5343,7 +5343,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ulong)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -5406,7 +5406,7 @@ public void Max(PrimitiveColumnContainer column, out ulong? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ulong)(Math.Max(readOnlySpan[i], value)); @@ -5454,7 +5454,7 @@ public void Min(PrimitiveColumnContainer column, out ulong? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ulong)(Math.Min(readOnlySpan[i], value)); @@ -5501,7 +5501,7 @@ public void Product(PrimitiveColumnContainer column, out ulong? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ulong)(readOnlySpan[i] * ret); } @@ -5546,7 +5546,7 @@ public void Sum(PrimitiveColumnContainer column, out ulong? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ulong)(readOnlySpan[i] + value); @@ -5638,7 +5638,7 @@ public void CumulativeMax(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ushort)(Math.Max(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -5702,7 +5702,7 @@ public void CumulativeMin(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ushort)(Math.Min(readOnlySpan[i], ret)); mutableSpan[i] = ret; @@ -5766,7 +5766,7 @@ public void CumulativeProduct(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ushort)(readOnlySpan[i] * ret); mutableSpan[i] = ret; @@ -5830,7 +5830,7 @@ public void CumulativeSum(PrimitiveColumnContainer column) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ushort)(readOnlySpan[i] + ret); mutableSpan[i] = ret; @@ -5893,7 +5893,7 @@ public void Max(PrimitiveColumnContainer column, out ushort? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ushort)(Math.Max(readOnlySpan[i], value)); @@ -5941,7 +5941,7 @@ public void Min(PrimitiveColumnContainer column, out ushort? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ushort)(Math.Min(readOnlySpan[i], value)); @@ -5988,7 +5988,7 @@ public void Product(PrimitiveColumnContainer column, out ushort? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { ret = (ushort)(readOnlySpan[i] * ret); } @@ -6033,7 +6033,7 @@ public void Sum(PrimitiveColumnContainer column, out ushort? ret) for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { hasValue = true; value = (ushort)(readOnlySpan[i] + value); diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.tt b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.tt index 4bea44c3f3..f33cb7ceb1 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.tt +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumnComputations.tt @@ -213,7 +213,7 @@ namespace Microsoft.Data.Analysis for (int i = 0; i < readOnlySpan.Length; i++) { - if (BitmapHelper.IsValid(readOnlyBitMapSpan, i)) + if (BitUtility.IsValid(readOnlyBitMapSpan, i)) { <# if (method.MethodName == "CumulativeMax") { #> ret = (<#=type.TypeName#>)(Math.Max(readOnlySpan[i], ret));