diff --git a/src/NetFabric.Numerics.Tensors/NetFabric.Numerics.Tensors.csproj b/src/NetFabric.Numerics.Tensors/NetFabric.Numerics.Tensors.csproj
index 45ef114..f584120 100644
--- a/src/NetFabric.Numerics.Tensors/NetFabric.Numerics.Tensors.csproj
+++ b/src/NetFabric.Numerics.Tensors/NetFabric.Numerics.Tensors.csproj
@@ -43,6 +43,7 @@
+
diff --git a/src/NetFabric.Numerics.Tensors/Operations/LessThanOrEqual.cs b/src/NetFabric.Numerics.Tensors/Operations/LessThanOrEqual.cs
index d4f0412..b8895d8 100644
--- a/src/NetFabric.Numerics.Tensors/Operations/LessThanOrEqual.cs
+++ b/src/NetFabric.Numerics.Tensors/Operations/LessThanOrEqual.cs
@@ -33,7 +33,7 @@ public static void LessThanOrEqual(ReadOnlySpan x, ValueTuple y,
public static void LessThanOrEqual(ReadOnlySpan x, ValueTuple y, Span destination)
=> Tensor.Apply(x, y, destination);
- public static void LessThanOrEqual(ReadOnlySpan x, ReadOnlySpan y, Span destination)
+ public static void LessThanOrEqual(ReadOnlySpan x, ReadOnlySpan y, Span destination)
=> Tensor.Apply(x, y, destination);
// long
diff --git a/src/NetFabric.Numerics.Tensors/Operators/AbsOperator.cs b/src/NetFabric.Numerics.Tensors/Operators/AbsOperator.cs
index 8177f1a..65e2633 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/AbsOperator.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/AbsOperator.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct AbsOperator
+public readonly struct AbsOperator
: IUnaryOperator
where T : struct, INumberBase
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/AddMultiplyOperator.cs b/src/NetFabric.Numerics.Tensors/Operators/AddMultiplyOperator.cs
index bbafd6c..b411010 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/AddMultiplyOperator.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/AddMultiplyOperator.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct AddMultiplyOperator
+public readonly struct AddMultiplyOperator
: ITernaryOperator
where T : struct, IAdditionOperators, IMultiplyOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/AdditionOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/AdditionOperators.cs
index be7f77c..f7b6501 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/AdditionOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/AdditionOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct AddOperator
+public readonly struct AddOperator
: IBinaryOperator
where T : struct, IAdditionOperators
{
@@ -13,7 +13,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> x + y;
}
-readonly struct CheckedAddOperator
+public readonly struct CheckedAddOperator
: IBinaryOperator
where T : struct, IAdditionOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/BitwiseOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/BitwiseOperators.cs
index f2f828b..c18e742 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/BitwiseOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/BitwiseOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct BitwiseAndOperator
+public readonly struct BitwiseAndOperator
: IBinaryOperator
where T : struct, IBitwiseOperators
{
@@ -13,7 +13,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> x & y;
}
-readonly struct BitwiseAndNotOperator
+public readonly struct BitwiseAndNotOperator
: IBinaryOperator
where T : struct, IBitwiseOperators
{
@@ -26,7 +26,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.AndNot(x, y);
}
-readonly struct BitwiseOrOperator
+public readonly struct BitwiseOrOperator
: IBinaryOperator
where T : struct, IBitwiseOperators
{
@@ -39,7 +39,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> x | y;
}
-readonly struct XorOperator
+public readonly struct XorOperator
: IBinaryOperator
where T : struct, IBitwiseOperators
{
@@ -53,7 +53,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
}
-readonly struct OnesComplementOperator
+public readonly struct OnesComplementOperator
: IUnaryOperator
where T : struct, IBitwiseOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/ComparisonOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/ComparisonOperators.cs
index 79294f4..f546dc3 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/ComparisonOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/ComparisonOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct GreaterThanOperator
+public readonly struct GreaterThanOperator
: IBinaryOperator
where T : struct, IComparisonOperators, IMultiplicativeIdentity
{
@@ -17,7 +17,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.GreaterThan(x, y);
}
-readonly struct GreaterThanInt32Operator
+public readonly struct GreaterThanInt32Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -29,7 +29,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.GreaterThan(x, y);
}
-readonly struct GreaterThanInt64Operator
+public readonly struct GreaterThanInt64Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -41,7 +41,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.GreaterThan(x, y);
}
-readonly struct GreaterThanSingleOperator
+public readonly struct GreaterThanSingleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -53,7 +53,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.GreaterThan(x, y);
}
-readonly struct GreaterThanDoubleOperator
+public readonly struct GreaterThanDoubleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -65,7 +65,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Ve
=> Vector.GreaterThan(x, y);
}
-readonly struct GreaterThanAllOperator
+public readonly struct GreaterThanAllOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -78,7 +78,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.GreaterThanAll(x, y);
}
-readonly struct GreaterThanAnyOperator
+public readonly struct GreaterThanAnyOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -91,7 +91,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.GreaterThanAny(x, y);
}
-readonly struct GreaterThanOrEqualOperator
+public readonly struct GreaterThanOrEqualOperator
: IBinaryOperator
where T : struct, IComparisonOperators, IMultiplicativeIdentity
{
@@ -108,7 +108,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.GreaterThanOrEqual(x, y);
}
-readonly struct GreaterThanOrEqualInt32Operator
+public readonly struct GreaterThanOrEqualInt32Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -120,7 +120,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.GreaterThanOrEqual(x, y);
}
-readonly struct GreaterThanOrEqualInt64Operator
+public readonly struct GreaterThanOrEqualInt64Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -132,7 +132,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.GreaterThanOrEqual(x, y);
}
-readonly struct GreaterThanOrEqualSingleOperator
+public readonly struct GreaterThanOrEqualSingleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -144,7 +144,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.GreaterThanOrEqual(x, y);
}
-readonly struct GreaterThanOrEqualDoubleOperator
+public readonly struct GreaterThanOrEqualDoubleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -156,7 +156,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Ve
=> Vector.GreaterThanOrEqual(x, y);
}
-readonly struct GreaterThanOrEqualAllOperator
+public readonly struct GreaterThanOrEqualAllOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -169,7 +169,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.GreaterThanOrEqualAll(x, y);
}
-readonly struct GreaterThanOrEqualAnyOperator
+public readonly struct GreaterThanOrEqualAnyOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -182,7 +182,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.GreaterThanOrEqualAny(x, y);
}
-readonly struct LessThanOperator
+public readonly struct LessThanOperator
: IBinaryOperator
where T : struct, IComparisonOperators, IMultiplicativeIdentity
{
@@ -199,7 +199,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.LessThan(x, y);
}
-readonly struct LessThanInt32Operator
+public readonly struct LessThanInt32Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -211,7 +211,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.LessThan(x, y);
}
-readonly struct LessThanInt64Operator
+public readonly struct LessThanInt64Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -223,7 +223,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.LessThan(x, y);
}
-readonly struct LessThanSingleOperator
+public readonly struct LessThanSingleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -235,7 +235,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.LessThan(x, y);
}
-readonly struct LessThanDoubleOperator
+public readonly struct LessThanDoubleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -247,7 +247,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Ve
=> Vector.LessThan(x, y);
}
-readonly struct LessThanOrEqualOperator
+public readonly struct LessThanOrEqualOperator
: IBinaryOperator
where T : struct, IComparisonOperators, IMultiplicativeIdentity
{
@@ -264,7 +264,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.LessThanOrEqual(x, y);
}
-readonly struct LessThanAllOperator
+public readonly struct LessThanAllOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -277,7 +277,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.LessThanAll(x, y);
}
-readonly struct LessThanAnyOperator
+public readonly struct LessThanAnyOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -290,7 +290,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.LessThanAny(x, y);
}
-readonly struct LessThanOrEqualInt32Operator
+public readonly struct LessThanOrEqualInt32Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -302,7 +302,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> Vector.LessThanOrEqual(x, y);
}
-readonly struct LessThanOrEqualInt64Operator
+public readonly struct LessThanOrEqualInt64Operator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -314,7 +314,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.LessThanOrEqual(x, y);
}
-readonly struct LessThanOrEqualSingleOperator
+public readonly struct LessThanOrEqualSingleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -326,7 +326,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vect
=> Vector.LessThanOrEqual(x, y);
}
-readonly struct LessThanOrEqualDoubleOperator
+public readonly struct LessThanOrEqualDoubleOperator
: IBinaryOperator
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -339,7 +339,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Ve
}
-readonly struct LessThanOrEqualAllOperator
+public readonly struct LessThanOrEqualAllOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
@@ -352,7 +352,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.LessThanOrEqualAll(x, y);
}
-readonly struct LessThanOrEqualAnyOperator
+public readonly struct LessThanOrEqualAnyOperator
: IBinaryToScalarOperator
where T : struct, IComparisonOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/DecrementOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/DecrementOperators.cs
index c23f037..d87830a 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/DecrementOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/DecrementOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct DecrementOperator
+public readonly struct DecrementOperator
: IUnaryOperator
where T : struct, IDecrementOperators
{
@@ -15,7 +15,7 @@ public static Vector Invoke(ref readonly Vector x)
=> Throw.InvalidOperationException>();
}
-readonly struct CheckedDecrementOperator
+public readonly struct CheckedDecrementOperator
: IUnaryOperator
where T : struct, IDecrementOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/DivisionOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/DivisionOperators.cs
index f5265cd..cae6049 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/DivisionOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/DivisionOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct DivideOperator
+public readonly struct DivideOperator
: IBinaryOperator
where T : struct, IDivisionOperators
{
@@ -13,7 +13,7 @@ public static Vector Invoke(ref readonly Vector x, ref readonly Vector
=> x / y;
}
-readonly struct CheckedDivideOperator
+public readonly struct CheckedDivideOperator
: IBinaryOperator
where T : struct, IDivisionOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/EqualityOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/EqualityOperators.cs
index 83e7a22..e5e27d3 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/EqualityOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/EqualityOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct EqualsAllOperator
+public readonly struct EqualsAllOperator
: IBinaryToScalarOperator
where T : struct, IEqualityOperators
{
@@ -13,7 +13,7 @@ public static bool Invoke(ref readonly Vector x, ref readonly Vector y)
=> Vector.EqualsAll(x, y);
}
-readonly struct EqualsAnyOperator
+public readonly struct EqualsAnyOperator
: IBinaryToScalarOperator
where T : struct, IEqualityOperators
{
diff --git a/src/NetFabric.Numerics.Tensors/Operators/ExponentialOperators.cs b/src/NetFabric.Numerics.Tensors/Operators/ExponentialOperators.cs
index edb6f6a..0d15166 100644
--- a/src/NetFabric.Numerics.Tensors/Operators/ExponentialOperators.cs
+++ b/src/NetFabric.Numerics.Tensors/Operators/ExponentialOperators.cs
@@ -1,6 +1,6 @@
-namespace NetFabric.Numerics.Tensors;
+namespace NetFabric.Numerics.Tensors.Operators;
-readonly struct ExpOperator
+public readonly struct ExpOperator
: IUnaryOperator
where T : struct, IExponentialFunctions
{
@@ -17,7 +17,7 @@ public static Vector Invoke(ref readonly Vector x)
=> Throw.InvalidOperationException>();
}
-readonly struct ExpM1Operator
+public readonly struct ExpM1Operator
: IUnaryOperator
where T : struct, IExponentialFunctions
{
@@ -34,7 +34,7 @@ public static Vector Invoke(ref readonly Vector x)
=> Throw.InvalidOperationException>();
}
-readonly struct Exp2Operator
+public readonly struct Exp2Operator
: IUnaryOperator
where T : struct, IExponentialFunctions
{
@@ -51,7 +51,7 @@ public static Vector Invoke(ref readonly Vector x)
=> Throw.InvalidOperationException>();
}
-readonly struct Exp2M1Operator
+public readonly struct Exp2M1Operator
: IUnaryOperator
where T : struct, IExponentialFunctions
{
@@ -68,7 +68,7 @@ public static Vector Invoke(ref readonly Vector x)
=> Throw.InvalidOperationException>();
}
-readonly struct Exp10Operator
+public readonly struct Exp10Operator
: IUnaryOperator