From 92ef2abc8bfec2608e9f858f3db80897b64bac9f Mon Sep 17 00:00:00 2001 From: Hans Schoenemann Date: Tue, 6 Feb 2024 13:47:51 +0100 Subject: [PATCH] use get_coeff_data_void --- deps/src/coeffs.cpp | 4 ---- src/caller.jl | 10 ++++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/deps/src/coeffs.cpp b/deps/src/coeffs.cpp index f00ed7de7..83b09a390 100644 --- a/deps/src/coeffs.cpp +++ b/deps/src/coeffs.cpp @@ -264,10 +264,6 @@ void singular_define_coeffs(jlcxx::Module & Singular) return n->type==n_Nemo_Ring; }); - Singular.method("nGetData", [](coeffs n) { - return n->data; - }); - /* make a copy of a coefficient domain (actually just increments a * reference count) */ Singular.method("nCopyCoeff", &nCopyCoeff); diff --git a/src/caller.jl b/src/caller.jl index 6c716e954..bd9072afb 100644 --- a/src/caller.jl +++ b/src/caller.jl @@ -194,13 +194,15 @@ function create_ring_from_singular_ring(r::libSingular.ring_ptr) T = n_algExt elseif libSingular.nCoeff_is_Nemo_Field(c) cf = libSingular.nCopyCoeff(c) - Rcf = libSingular.nGetData(c) - basering = N_Field(Ref{Nemo.Field}(Rcf)) + data_ptr = get_coeff_data_void(cf) + R = unsafe_pointer_to_objref(data_ptr) + basering = N_Field(R) T = Nemo.Field elseif libSingular.nCoeff_is_Nemo_Ring(c) cf = libSingular.nCopyCoeff(c) - Rcf = libSingular.nGetData(c) - basering = N_Ring(Ref{Nemo.Ring}(Rcf)) + data_ptr = get_coeff_data_void(cf) + R = unsafe_pointer_to_objref(data_ptr) + basering = N_Ring(R) T = Nemo.Ring else basering = N_UnknownSingularCoefficientRing(libSingular.nCopyCoeff(c))