Example #1
0
        public static PyObject ToPython(object obj)
        {
            if (obj == null)
            {
                return(Runtime.GetPyNone());
            }
            switch (obj)
            {
            // basic types
            case int o: return(new PyInt(o));

            case long o: return(new PyLong(o));

            case float o: return(new PyFloat(o));

            case double o: return(new PyFloat(o));

            case string o: return(new PyString(o));

            case bool o: return(ConverterExtension.ToPython(o));

            case PyObject o: return(o);

            // sequence types
            case Array o: return(ToTuple(o));

            default: throw new NotImplementedException($"Type is not yet supported: { obj.GetType().Name}. Add it to 'ToPythonConversions'");
            }
        }
Example #2
0
        internal static PyObject ToPython(object obj)
        {
            if (obj == null)
            {
                return(Runtime.None);
            }
            switch (obj)
            {
            // basic types
            case int o: return(new PyInt(o));

            case float o: return(new PyFloat(o));

            case long o: return(new PyLong(o));

            case double o: return(new PyFloat(o));

            case string o: return(new PyString(o));

            case bool o: return(ConverterExtension.ToPython(o));

            // sequence types
            case Array o: return(ToList(o));

            // special types from 'ToPythonConversions'
            case Shape o: return(ToTuple(o.Dimensions));

            case ValueTuple <int> o: return(ToTuple(o));

            case ValueTuple <int, int> o: return(ToTuple(o));

            case ValueTuple <int, int, int> o: return(ToTuple(o));

            case Slice o: return(o.ToPython());

            case PythonObject o: return(o.PyObject);

            case PyObject o: return(o);

            case Sequence o: return(o.PyInstance);

            case StringOrInstance o: return(o.PyObject);

            case KerasFunction o: return(o.PyObject);

            case Base o: return(o.PyInstance);

            default: throw new NotImplementedException($"Type is not yet supported: { obj.GetType().Name}. Add it to 'ToPythonConversions'");
            }
        }
Example #3
0
        //auto-generated
        private static PyObject ToPython(object obj)
        {
            if (obj == null)
            {
                return(Runtime.None);
            }
            switch (obj)
            {
            // basic types
            case int o: return(new PyInt(o));

            case long o: return(new PyLong(o));

            case float o: return(new PyFloat(o));

            case double o: return(new PyFloat(o));

            case string o: return(new PyString(o));

            case bool o: return(ConverterExtension.ToPython(o));

            case PyObject o: return(o);

            // sequence types
            case Array o: return(ToTuple(o));

            // special types from 'ToPythonConversions'
            case Axis o: return(o.Axes == null ? null : ToTuple(o.Axes));

            case Shape o: return(ToTuple(o.Dimensions));

            case Slice o: return(o.ToPython());

            case PythonObject o: return(o.PyObject);

            case Dictionary <string, NDarray> o: return(ToDict(o));

            default: throw new NotImplementedException($"Type is not yet supported: { obj.GetType().Name}. Add it to 'ToPythonConversions'");
            }
        }