File: Computations\IArithmetic.cs
Web Access
Project: src\src\Microsoft.Data.Analysis\Microsoft.Data.Analysis.csproj (Microsoft.Data.Analysis)
// 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 IArithmetic<T>
        where T : unmanaged
    {
        //Binary operations
        void HandleOperation(BinaryOperation operation, ReadOnlySpan<T> x, ReadOnlySpan<T> y, Span<T> destination);
        void HandleOperation(BinaryOperation operation, ReadOnlySpan<T> x, T y, Span<T> destination);
        void HandleOperation(BinaryOperation operation, T x, ReadOnlySpan<T> y, Span<T> destination);
 
        T HandleOperation(BinaryOperation operation, T x, T y);
 
        //Binary Int operations
        void HandleOperation(BinaryIntOperation operation, ReadOnlySpan<T> x, int y, Span<T> destination);
 
        //Comparison operations
        void HandleOperation(ComparisonOperation operation, ReadOnlySpan<T> x, ReadOnlySpan<T> y, Span<bool> destination);
        void HandleOperation(ComparisonOperation operation, ReadOnlySpan<T> x, T y, Span<bool> destination);
    }
}