Changeset dc79bd in git for libpolys/coeffs/Enumerator.h


Ignore:
Timestamp:
Oct 4, 2012, 8:16:12 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
20c54056198f825ef62888512342886cf96c82a6
Parents:
9f6cc091f81a4d6c75b4696ae3e84bc53e419051
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-10-04 20:16:12+02:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-10-05 18:15:05+02:00
Message:
Major Update for Enumerators + Fixes for Algrbraic & Transcendental extensions

General:
chg: cleanup + documentation + additional assumes

Enumerators:
chg: some polish on Enumerators
add: CRecursivePolyCoeffsEnumerator<ConverterPolicy> for recursive treatment of converted coeffs as Enumerators

Coeffs:
chg: use mpz_lcm for readability in nlClearDenominators + cleanup
add: nlClear*NoPositiveLead variants should not make LC positive
chg: all nlClear* are not static in order to be usable from alg / trans exts.
fix: fixed a bug in ndClearContent

AlgExt:
add: nCoeff_is_Q_algext for checking an alg. ext. of Q
add: naClear* for alg. ext. over Q
NOTE: coeffs are polynomials in Q[a] - one should simply consider each of them recursively as a collection of numbers...
NOTE: compute GCDs over Alg. Ext... + gcds of (int.) numbers!?
NOTE: trying to be conform with older Singular: no negative leading coeff. normalization
chg: Alg. Ext: use singclap_*gcd (instead of Frank's gcd-stuff)

p_poly:
add: p_Cleardenom_n/p_Cleardenom also clear content afterwards...
chg: major and minor changes to p_Content/p_Cleardenom_n/p_Cleardenom + cleanup
add: additionally trying to assure positive leading coeff. after p_Content/p_Cleardenom_n(/p_Cleardenom?)
NOTE: which should not be needed as n_ClearDenominators/n_ClearContent are supposed to assure that themselves!
add: more assumes to p_polys.cc
NOTE: massive usage of enumerators form p_* causes problems - only doing that for Q_a()!
NOTE: do -normalization over Q(x...)

TransExt:
add: ntClear* for trans. ext's
fix: correct ntGetDenom/ntGetNumerator (thanks to pSubstPar),
NOTE: no negative denominator out of ntGetNumerator/ntGetDenom!
add: first inefficient ntClearContent/Q  and ntClearDenominators/Q & F_p impl.
NOTE:  careful with the use of nlClear* ! (only over Q!)
add: added ntTest to transext.cc on most in/outs + use ntInit(poly)!

NOTE: trying to fix the monic-poly-gcd problem in ntClearDenominators!
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/Enumerator.h

    r9f6cc0 rdc79bd  
    5454    virtual void Reset() = 0;
    5555
    56     virtual ~IBaseEnumerator() {} // TODO: needed?
    57 
     56    /// Current position is inside the collection (not -1 or past the end)
     57    virtual bool IsValid() const = 0;
     58   
    5859  private:
     60    /// disable copy constructor and assigment operator
    5961    IBaseEnumerator(const IBaseEnumerator&);
    6062    void operator=(const IBaseEnumerator&);
     
    6264  protected:
    6365    IBaseEnumerator(){}
    64 
    65     /// Current position is inside the collection (not -1 or past the end)
    66     virtual bool IsValid() const = 0;
     66    ~IBaseEnumerator() {} // TODO: needed?
     67
     68
    6769};
    6870
     
    9092    virtual const_reference Current() const = 0;
    9193
    92     virtual ~IAccessor() {} // TODO: needed?
     94 protected:
     95    IAccessor(){}   
     96    ~IAccessor() {} // TODO: needed?
    9397 
    9498};
Note: See TracChangeset for help on using the changeset viewer.