.. _datatype_mapping_table_rst: ======== ============================= ===================== =========================== ============================================================== ============================ ================== ================== ======================================== Schema R C C++ Fortran Julia Matlab Python Notes ======== ============================= ===================== =========================== ============================================================== ============================ ================== ================== ======================================== array ``list`` ``json_array_t`` ``rapidjson::Document`` ``yggarr`` ``Array`` ``cell`` ``list`` boolean ``logical`` ``bool`` ``bool`` ``logical(kind = X)`` ``Bool`` ``logical`` ``bool`` bytes ``char (utf-8)`` ``string_t`` ``string_t`` ``character(len = X)`` ``CodeUnits{UInt8,String}`` ``char (utf-8)`` ``bytes`` Precision X is preserved. class ``python_class_t`` ``python_class_t`` ``yggpython`` complex ``complex`` ``complex_X`` ``complex_X`` ``complex(kind = X)`` ``Complex`` ``complex`` ``numpy.complexX`` Precision X is preserved. float ``double`` ``double`` ``double`` ``real(kind = X)`` ``Float`` ``single, double`` ``numpy.floatX`` Precision X is preserved. function ``python_function_t`` ``python_function_t`` ``yggpyfunc`` instance ``python_instance_t`` ``python_instance_t`` ``yggpyinst`` int ``integer, bit64::integer64`` ``intX_t`` ``intX_t`` ``integer(kind = X)`` ``Int`` ``intX`` ``numpy.intX`` Precision X is preserved. integer ``int`` ``int`` ``integer`` ndarray ``list`` ``*`` ``*`` ``*`` ``Array{X}`` ``mat`` ``numpy.ndarray`` null ``NA`` ``void*`` ``void*`` ``yggnull`` ``Nothing`` ``NaN`` ``None`` number ``double`` ``double`` ``double`` ``real(kind = 8)`` This covers the JSON default for floating point or integer values. obj ``ObjDict`` ``obj_t`` ``rapidjson::ObjWavefront`` ``yggobj`` ``ObjDict`` ``containers.Map`` ``ObjDict`` object ``list`` ``json_object_t`` ``rapidjson::Document`` ``yggmap`` ``Dict{AbstractString,Any}`` ``containers.Map`` ``dict`` ply ``PlyDict`` ``ply_t`` ``rapidjson::Ply`` ``yggply`` ``PlyDict`` ``containers.Map`` ``PlyDict`` scalar yggdrasil defines scalars as an umbrella type encompassing int, uint, float, bytes, and unicode. schema ``list`` ``schema_t`` ``rapidjson::Document`` ``yggschema`` ``Dict`` ``containers.Map`` ``dict`` string ``character`` ``char*`` ``char*`` ``character(len = X)`` ``String`` ``char`` ``str`` User can specify an encoding for scalar strings. uint ``integer`` ``uintX_t`` ``uintX_t`` ``ygguintX`` ``Uint`` ``uintX`` ``numpy.uintX`` Precision X is preserved. unicode ``char`` ``unicode_t`` ``unicode_t`` ``character(kind = selected_char_kind('ISO_10646'), len = X)`` ``String`` ``char`` ``str`` Precision X is preserved. ======== ============================= ===================== =========================== ============================================================== ============================ ================== ================== ========================================