diff --git a/experimental/FTheoryTools/src/FTheoryTools.jl b/experimental/FTheoryTools/src/FTheoryTools.jl index 7b45d1dce85c..00a12fba5f6c 100644 --- a/experimental/FTheoryTools/src/FTheoryTools.jl +++ b/experimental/FTheoryTools/src/FTheoryTools.jl @@ -21,5 +21,6 @@ include("standard_constructions.jl") include("LiteratureTateModels/constructors.jl") include("LiteratureTateModels/create_index.jl") +include("serialization.jl") include("exports.jl") diff --git a/experimental/FTheoryTools/src/serialization.jl b/experimental/FTheoryTools/src/serialization.jl new file mode 100644 index 000000000000..726f0fd1d607 --- /dev/null +++ b/experimental/FTheoryTools/src/serialization.jl @@ -0,0 +1,21 @@ +@registerSerializationType(ToricCoveredScheme{QQField}) + +function save_internal(s::SerializerState, tcs::ToricCoveredScheme{QQField}) + return Dict( + :ntv => save_type_dispatch(s, tcs.ntv) + ) +end + +function load_internal(s::DeserializerState, ::Type{ToricCoveredScheme{QQField}}, dict::Dict) + return ToricCoveredScheme{QQField}(load_type_dispatch(s, NormalToricVariety, dict[:ntv])) +end + +@registerSerializationType(GlobalTateModel) + +function save_internal(s::SerializerState, gtm::GlobalTateModel) + return Dict( + :tate_as => save_type_dispatch(s, [gtm.tate_a1, gtm.tate_a2, gtm.tate_a3, gtm.tate_a4, gtm.tate_a6]), + :tate_polynomial => save_type_dispatch(s, gtm.tate_polynomial), + :base_space => save_type_dispatch(s, gtm.base_space) + ) +end