Changeset 6c084af in git


Ignore:
Timestamp:
Apr 26, 2011, 10:40:57 PM (13 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
b27c0524d725542db31ecb0c95c603a31a1d1faa
Parents:
3dbe0bfdeb52860218f39475970a26f9e1e01e78
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2011-04-26 22:40:57+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:31:28+01:00
Message:
ADD: CoeffWrite for n_R (shortfl.cc)
ADD: test function pointers before calling in all n_*(... const coeff r)
CHG: renamed ndIsZeroDivisor -> n_IsZeroDivisor
Location:
libpolys
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/coeffs.h

    r3dbe0bf r6c084af  
    239239/// return a copy of a
    240240static inline number n_Copy(number n,    const coeffs r)
    241 {   assume(r != NULL); return r->cfCopy(n, r); }
     241{   assume(r != NULL); assume(r->cfCopy!=NULL); return r->cfCopy(n, r); }
    242242
    243243static inline void   n_Delete(number* p, const coeffs r)
    244 {   assume(r != NULL); r->cfDelete(p, r); }
     244{   assume(r != NULL); assume(r->cfDelete!= NULL); r->cfDelete(p, r); }
    245245
    246246static inline BOOLEAN n_Equal(number a, number b, const coeffs r)
    247 { assume(r != NULL); return r->cfEqual(a, b, r); }
     247{ assume(r != NULL); assume(r->cfEqual!=NULL); return r->cfEqual(a, b, r); }
    248248
    249249static inline BOOLEAN n_IsZero(number n, const coeffs r)
    250 { assume(r != NULL); return r->cfIsZero(n,r); }
     250{ assume(r != NULL); assume(r->cfIsZero!=NULL); return r->cfIsZero(n,r); }
    251251
    252252static inline BOOLEAN n_IsOne(number n,  const coeffs r)
    253 { assume(r != NULL); return r->cfIsOne(n,r); }
     253{ assume(r != NULL); assume(r->cfIsOne!=NULL); return r->cfIsOne(n,r); }
    254254
    255255static inline BOOLEAN n_IsMOne(number n, const coeffs r)
    256 { assume(r != NULL); return r->cfIsMOne(n,r); }
     256{ assume(r != NULL); assume(r->cfIsMOne!=NULL); return r->cfIsMOne(n,r); }
    257257
    258258static inline BOOLEAN n_GreaterZero(number n, const coeffs r)
    259 { assume(r != NULL); return r->cfGreaterZero(n,r); }
     259{ assume(r != NULL); assume(r->cfGreaterZero!=NULL); return r->cfGreaterZero(n,r); }
    260260// cfGreater?
    261261
    262262#ifdef HAVE_RINGS
    263263static inline BOOLEAN n_IsUnit(number n, const coeffs r)
    264 { assume(r != NULL); return r->cfIsUnit(n,r); }
     264{ assume(r != NULL); assume(r->cfIsUnit!=NULL); return r->cfIsUnit(n,r); }
    265265
    266266static inline number n_GetUnit(number n, const coeffs r)
    267 { assume(r != NULL); return r->cfGetUnit(n,r); }
     267{ assume(r != NULL); assume(r->cfGetUnit!=NULL); return r->cfGetUnit(n,r); }
    268268
    269269static inline BOOLEAN n_DivBy(number a, number b, const coeffs r)
    270 { assume(r != NULL); return r->cfDivBy(a,b,r); }
     270{ assume(r != NULL); assume(r->cfDivBy!=NULL); return r->cfDivBy(a,b,r); }
    271271#endif
    272272
    273273/// init with an integer
    274274static inline number n_Init(int i,       const coeffs r)
    275 { assume(r != NULL); return r->cfInit(i,r); }
     275{ assume(r != NULL); assume(r->cfInit!=NULL); return r->cfInit(i,r); }
    276276
    277277/// changes argument  inline: a:= -a
    278278static inline number n_Neg(number n,     const coeffs r)
    279 { assume(r != NULL); return r->cfNeg(n,r); }
     279{ assume(r != NULL); assume(r->cfNeg!=NULL); return r->cfNeg(n,r); }
    280280
    281281/// return 1/a
    282282static inline number n_Invers(number a,  const coeffs r)
    283 { assume(r != NULL); return r->cfInvers(a,r); }
     283{ assume(r != NULL); assume(r->cfInvers!=NULL); return r->cfInvers(a,r); }
    284284
    285285/// use for pivot strategies, (0) => 0, otherwise positive
    286286static inline int    n_Size(number n,    const coeffs r)
    287 { assume(r != NULL); return r->cfSize(n,r); }
     287{ assume(r != NULL); assume(r->cfSize!=NULL); return r->cfSize(n,r); }
    288288
    289289/// normalize the number. i.e. go to some canonnical representation (inplace)
    290290static inline void   n_Normalize(number& n, const coeffs r)
    291 { assume(r != NULL); r->cfNormalize(n,r); }
     291{ assume(r != NULL); assume(r->cfNormalize!=NULL); r->cfNormalize(n,r); }
    292292
    293293/// Normalize and Write to the output buffer of reporter
    294294static inline void   n_Write(number& n,  const coeffs r)
    295 { assume(r != NULL); r->cfWrite(n,r); }
     295{ assume(r != NULL); assume(r->cfWrite!=NULL); r->cfWrite(n,r); }
    296296
    297297/// Normalize and get denomerator
    298298static inline number n_GetDenom(number& n, const coeffs r)
    299 { assume(r != NULL); return r->cfGetDenom(n, r); }
     299{ assume(r != NULL); assume(r->cfGetDenom!=NULL); return r->cfGetDenom(n, r); }
    300300
    301301/// Normalize and get numerator
    302302static inline number n_GetNumerator(number& n, const coeffs r)
    303 { assume(r != NULL); return r->cfGetNumerator(n, r); }
     303{ assume(r != NULL); assume(r->cfGetNumerator!=NULL); return r->cfGetNumerator(n, r); }
    304304
    305305static inline void   n_Power(number a, int b, number *res, const coeffs r)
    306 { assume(r != NULL); r->cfPower(a,b,res,r); }
     306{ assume(r != NULL); assume(r->cfPower!=NULL); r->cfPower(a,b,res,r); }
    307307
    308308static inline number n_Mult(number a, number b, const coeffs r)
    309 { assume(r != NULL); return r->cfMult(a, b, r); }
     309{ assume(r != NULL); assume(r->cfMult!=NULL); return r->cfMult(a, b, r); }
    310310
    311311/// Inplace multiplication: a := a * b
    312312static inline void n_InpMult(number &a, number b, const coeffs r)
    313 { assume(r != NULL); r->cfInpMult(a,b,r); }
     313{ assume(r != NULL); assume(r->cfInpMult!=NULL); r->cfInpMult(a,b,r); }
    314314
    315315static inline number n_Sub(number a, number b, const coeffs r)
    316 { assume(r != NULL); return r->cfSub(a, b, r); }
     316{ assume(r != NULL); assume(r->cfSub!=NULL); return r->cfSub(a, b, r); }
    317317
    318318static inline number n_Add(number a, number b, const coeffs r)
    319 { assume(r != NULL); return r->cfAdd(a, b, r); }
     319{ assume(r != NULL); assume(r->cfAdd!=NULL); return r->cfAdd(a, b, r); }
    320320
    321321static inline number n_Div(number a, number b, const coeffs r)
    322 { assume(r != NULL); return r->cfDiv(a,b,r); }
     322{ assume(r != NULL); assume(r->cfDiv!=NULL); return r->cfDiv(a,b,r); }
    323323
    324324static inline number n_IntDiv(number a, number b, const coeffs r)
    325 { assume(r != NULL); return r->cfIntDiv(a,b,r); }
     325{ assume(r != NULL); assume(r->cfIntDiv!=NULL); return r->cfIntDiv(a,b,r); }
    326326
    327327static inline number n_ExactDiv(number a, number b, const coeffs r)
    328 { assume(r != NULL); return r->cfExactDiv(a,b,r); }
     328{ assume(r != NULL); assume(r->cfExactDiv!=NULL); return r->cfExactDiv(a,b,r); }
    329329
    330330static inline number n_Gcd(number a, number b, const coeffs r)
    331 { assume(r != NULL); return r->cfGcd(a,b,r); }
     331{ assume(r != NULL); assume(r->cfGcd!=NULL); return r->cfGcd(a,b,r); }
    332332
    333333static inline number n_Lcm(number a, number b, const coeffs r)
    334 { assume(r != NULL); return r->cfLcm(a,b,r); }
     334{ assume(r != NULL); assume(r->cfLcm!=NULL); return r->cfLcm(a,b,r); }
    335335
    336336static inline nMapFunc n_SetMap(const coeffs src, const coeffs dst)
    337 { assume(src != NULL && dst != NULL); return dst->cfSetMap(src,dst); }
     337{ assume(src != NULL && dst != NULL); assume(dst->cfSetMap!=NULL); return dst->cfSetMap(src,dst); }
    338338
    339339static inline number n_Par(int n, const coeffs r)
    340 { assume(r != NULL); return r->cfPar(n,r); }
     340{ assume(r != NULL); assume(r->cfPar!=NULL); return r->cfPar(n,r); }
    341341
    342342static inline int n_ParDeg(number n, const coeffs r)
    343 { assume(r != NULL); return r->cfParDeg(n,r); }
     343{ assume(r != NULL); assume(r->cfParDeg!=NULL); return r->cfParDeg(n,r); }
    344344
    345345/// Tests whether n is a correct number: only used if LDEBUG is defined
     
    348348  assume(r != NULL);
    349349#ifdef LDEBUG
    350   return (r)->cfDBTest(n, filename, linenumber, r);
     350  assume(r->cfDBTest != NULL);
     351  return r->cfDBTest(n, filename, linenumber, r);
    351352#else
    352353  return TRUE;
     
    356357/// output the coeff description
    357358static inline void   n_CoeffWrite(const coeffs r)
    358 { assume(r != NULL); r->cfCoeffWrite(r); }
     359{ assume(r != NULL); assume(r->cfCoeffWrite != NULL); r->cfCoeffWrite(r); }
    359360
    360361// Tests:
  • libpolys/coeffs/numbers.cc

    r3dbe0bf r6c084af  
    6868
    6969
    70 BOOLEAN ndIsZeroDivisor( number a, const coeffs r)
     70BOOLEAN n_IsZeroDivisor( number a, const coeffs r)
    7171{
    7272  int c = n_GetChar(r);
     
    227227   assume(n->cfInpMult!=NULL);
    228228   assume(n->cfInit_bigint!=NULL);
     229   assume(n->cfCoeffWrite != NULL);
    229230#ifdef LDEBUG
    230231   assume(n->cfDBTest!=NULL);
  • libpolys/coeffs/numbers.h

    r3dbe0bf r6c084af  
    7272/// Test whether a is a zero divisor in r
    7373/// i.e. not coprime with char. of r
    74 BOOLEAN ndIsZeroDivisor( number a, const coeffs r);
     74BOOLEAN n_IsZeroDivisor( number a, const coeffs r);
    7575
    7676#ifdef LDEBUG
  • libpolys/coeffs/shortfl.cc

    r3dbe0bf r6c084af  
    4343{
    4444  return nf(n).F();
     45}
     46
     47
     48void    nrCoeffWrite  (const coeffs r)
     49{
     50  assume( getCoeffType(r) == ID );
     51  PrintS("//   characteristic : 0 (real)\n");  /* R */
    4552}
    4653
     
    570577  n->cfRead = nrRead;
    571578  n->cfPower = nrPower;
    572   n->cfSetMap=nrSetMap;
     579  n->cfSetMap = nrSetMap;
     580  n->cfCoeffWrite  = nrCoeffWrite;
     581
    573582    /* nName= ndName; */
    574583    /*nSize  = ndSize;*/
  • libpolys/tests/coeffs_test.h

    r3dbe0bf r6c084af  
    6464    number d = n_Sub(res, sum1, r);
    6565   
    66     TS_ASSERT( ndIsZeroDivisor(d, r) );
     66    TS_ASSERT( n_IsZeroDivisor(d, r) );
    6767   
    6868    if( n_GetChar(r) == 0 )
Note: See TracChangeset for help on using the changeset viewer.