Feature #218
CoCoALib normaliz interface
Description
The Normaliz::cone functions are now all returning results instead of having them as a first reference parameter. We tested that it is no big drawback and decided to do it like this a while ago. One main argument is that the c++ move mechanisms will avoid copying.
The construction of a Normaliz::cone looks a bit strange to me: Normaliz::cone C3(Normaliz::NewCone(l, InputType));
I think this is a relict of the LongCone / MPZCone and Normaliz::cone C3(l, InputType);
should be enough. What do you think?
Related issues
History
#1
Updated by Anna Maria Bigatti almost 12 years ago
Christof Soeger wrote:
The Normaliz::cone functions are now all returning results instead of having them as a first reference parameter. We tested that it is no big drawback and decided to do it like this a while ago. One main argument is that the c++ move mechanisms will avoid copying.
good, now in CVS
The construction of a Normaliz::cone looks a bit strange to me:
Normaliz::cone C3(Normaliz::NewCone(l, InputType));
I think this is a relict of the LongCone / MPZCone andNormaliz::cone C3(l, InputType);
should be enough. What do you think?
ehm.... yes, should be enough. John?
#2
Updated by Christof Soeger over 11 years ago
We agreed on:
keep the SmartPtr class cone
remove the abstract base class
name the implementation class ConeImpl
#3
Updated by Christof Soeger over 11 years ago
- Integration of the ConeImpl.myXX() into the XX, only the myCompute functions are left in ConeImpl, remaining functions code was integrated into the friend non-member functions
- moved ifdef CoCoA_WITH_NORMALIZ in CoCoALibSupplement so the functions are completely unavailable when compiled without libnormaliz
- code clean up
#4
Updated by Christof Soeger over 11 years ago
- Made the NewCone functions to constructors of cone.
- Introduced some abbreviation in the method names:
IntegralClosure -> IntClosure
MonomialIdeal -> MonIdeal
Normaliz -> Nmz (the prefix for CoCoA5 functions) - New function IntClosureMonIdeal
#5
Updated by Christof Soeger over 11 years ago
More code clean up and use of new libnormaliz functions for meaningful error messages when something couldn't be computed.
#6
Updated by Anna Maria Bigatti over 10 years ago
- Category set to Various
- Target version set to CoCoALib-0.99532
- % Done changed from 0 to 50
#7
Updated by Christof Soeger over 10 years ago
- Status changed from New to In Progress
- % Done changed from 50 to 80
added HilbertSeries and multiplicity functions
#8
Updated by Anna Maria Bigatti about 10 years ago
- Target version changed from CoCoALib-0.99532 to CoCoALib-0.99533 Easter14
#9
Updated by Anna Maria Bigatti about 10 years ago
- Target version changed from CoCoALib-0.99533 Easter14 to CoCoALib-0.99534 Seoul14
... and write submission to Seoul and relative paper.
#10
Updated by Christof Soeger about 10 years ago
I implemented additional return functions (step 1 in my update on issue #204).
The myComputation functions should be available forNormaliz::Cone
, they are implemented in ConeImpl
. I can make them public there, but still from the header they would not be visible. What is the CoCoALib way for such a function?
- (A)
Cone.myCompute(properties_to_compute)
, or - (B)
ComputeProperties(Cone, properties_to_compute)
I implemented (A) and use it in the CoCoA 5 function NmzComputation
.
After lunch I will add tests.
JAA20140509 OK for impl (A); maybe we can look at it when I come to Osnabrueck.
#11
Updated by John Abbott almost 10 years ago
- Status changed from In Progress to Closed
- % Done changed from 80 to 100
@Christof: you've done a good job, I think this issue can be closed now. Closing!