-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
In NormalizInterface we allow this.
Relevant function there is _NmzConePropertyImpl, some code snippets from that:
template <typename Integer>
static Obj _NmzConePropertyImpl(Obj cone, libnormaliz::ConeProperty::Enum p)
{
Cone<Integer> * C = GET_CONE<Integer>(cone);
ConeProperties notComputed;
SIGNAL_HANDLER_BEGIN
notComputed = C->compute(ConeProperties(p));
SIGNAL_HANDLER_END
...
switch (libnormaliz::output_type(p)) {
case libnormaliz::OutputType::Matrix:
return NmzToGAP(C-> getMatrixConePropertyMatrix(p));
case libnormaliz::OutputType::Vector:
return NmzToGAP(C->getVectorConeProperty(p));
case libnormaliz::OutputType::Integer:
return NmzToGAP(C->getIntegerConeProperty(p));
case libnormaliz::OutputType::GMPInteger:
return NmzToGAP(C->getGMPIntegerConeProperty(p));
case libnormaliz::OutputType::Rational:
return NmzToGAP(C->getRationalConeProperty(p));
...
case libnormaliz::OutputType::Complex:
// more complex data structures are handled below
break;
case libnormaliz::OutputType::Void:
// throw "cone property is input-only";
return Fail;
default:
throw "unsupported output_type";
}
Metadata
Metadata
Assignees
Labels
No labels