From 280e67cfdecc6813727b2c307f4c89e2c1acbbbc Mon Sep 17 00:00:00 2001 From: Bogdan Zavu Date: Fri, 12 Jul 2024 09:21:10 -0400 Subject: [PATCH] DYN-4617 : use biginteger from pythonnet directly (#15387) Co-authored-by: Bogdan Zavu --- src/Libraries/DSCPython/CPythonEvaluator.cs | 2 +- .../Encoders/BigIntegerEncoderDecoder.cs | 39 ------------------- 2 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 src/Libraries/DSCPython/Encoders/BigIntegerEncoderDecoder.cs diff --git a/src/Libraries/DSCPython/CPythonEvaluator.cs b/src/Libraries/DSCPython/CPythonEvaluator.cs index ff1ee3763f8..c40aaadf8cd 100644 --- a/src/Libraries/DSCPython/CPythonEvaluator.cs +++ b/src/Libraries/DSCPython/CPythonEvaluator.cs @@ -415,7 +415,7 @@ def write(self, text): /// private static void InitializeEncoders() { - var shared = new object[] { new BigIntegerEncoderDecoder(), new ListEncoderDecoder() }; + var shared = new object[] { new ListEncoderDecoder() }; var encoders = shared.Cast().ToArray(); var decoders = shared.Cast().Concat(new IPyObjectDecoder[] { diff --git a/src/Libraries/DSCPython/Encoders/BigIntegerEncoderDecoder.cs b/src/Libraries/DSCPython/Encoders/BigIntegerEncoderDecoder.cs deleted file mode 100644 index ad0eeefa536..00000000000 --- a/src/Libraries/DSCPython/Encoders/BigIntegerEncoderDecoder.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Numerics; -using Python.Runtime; - -namespace DSCPython.Encoders -{ - internal class BigIntegerEncoderDecoder : IPyObjectEncoder, IPyObjectDecoder - { - public bool CanEncode(Type type) - { - return type == typeof(BigInteger); - } - - public bool TryDecode(PyObject pyObj, out T value) - { - if (!PyInt.IsIntType(pyObj)) - { - value = default; - return false; - } - - using (var pyLong = PyInt.AsInt(pyObj)) - { - value = (T)(object)pyLong.ToBigInteger(); - return true; - } - } - - public PyObject TryEncode(object value) - { - return new PyInt(value.ToString()); - } - - bool IPyObjectDecoder.CanDecode(PyType objectType, Type targetType) - { - return targetType == typeof(BigInteger); - } - } -}