Changeset 009d80 in git for kernel/numbers.cc


Ignore:
Timestamp:
May 10, 2007, 10:12:44 AM (17 years ago)
Author:
Oliver Wienand <wienand@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
4cd2f891f36b9e1d58f0aeaa4683254f54088298
Parents:
4bebba7353438f052b4ad581ede34fa6f31e5a71
Message:
new compile switch: HAVE_RINGS
at total there are now: HAVE_RINGS, HAVE_RING2TOM, HAVE_RINGMODN

kspoly.cc, kstd1.cc, kstd2.cc, kutil.cc, kspoly.cc, polys.cc, ring.*:
adaption of new switches and rField_is_Ring method

numbers.*:
introduced new operation:
  nDivBy(a, b) = Is a divisible by b?

pDebig.cc, pInline1.h:
use of new nDivBy method

p_Mult_q:
new routine for rings

p_*, pp_*:
template switch HAVE_ZERODIVISOR

polys1.cc:
poly exponentation, switches

rmodulo*:
nDivBy implementation, DBTest

structs.h:
nDivBy, ringtype, ringflaga, ringflagb


git-svn-id: file:///usr/local/Singular/svn/trunk@10029 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/numbers.cc

    r4bebba r009d80  
    22*  Computer Algebra System SINGULAR      *
    33*****************************************/
    4 /* $Id: numbers.cc,v 1.7 2007-05-07 16:23:04 Singular Exp $ */
     4/* $Id: numbers.cc,v 1.8 2007-05-10 08:12:42 wienand Exp $ */
    55
    66/*
     
    4646number (*nRePart)(number a);
    4747number (*nImPart)(number a);
     48#ifdef HAVE_RINGS
     49BOOLEAN (*nDivBy)(number a,number b);
     50#endif
    4851BOOLEAN (*nGreater)(number a,number b);
    4952BOOLEAN (*nEqual)(number a,number b);
     
    99102number ndCopy(number a) { return a; }
    100103number nd_Copy(number a,const ring r) { return r->cf->nCopy(a); }
     104
     105#ifdef HAVE_RINGS
     106BOOLEAN ndDivBy(number a, number b) { return TRUE; }
     107#endif
    101108
    102109/*2
     
    173180  nInvers= r->cf->nInvers;
    174181  nCopy  = r->cf->nCopy;
     182#ifdef HAVE_RINGS
     183  nDivBy = r->cf->nDivBy;
     184#endif
    175185  nGreater = r->cf->nGreater;
    176186  nEqual = r->cf->nEqual;
     
    251261  n->nGcd  = ndGcd;
    252262  n->nLcm  = ndGcd; /* tricky, isn't it ?*/
     263#ifdef HAVE_RINGS
     264  n->nDivBy = ndDivBy;
     265#endif
    253266  if (rField_is_Extension(r))
    254267  {
     
    306319     n->nNeg   = nr2mNeg;
    307320     n->nInvers= nr2mInvers;
     321     n->nDivBy = nr2mDivBy;
    308322     n->nGreater = nr2mGreater;
    309323     n->nEqual = nr2mEqual;
     
    342356     n->nNeg   = nrnNeg;
    343357     n->nInvers= nrnInvers;
     358     n->nDivBy = nrnDivBy;
    344359     n->nGreater = nrnGreater;
    345360     n->nEqual = nrnEqual;
Note: See TracChangeset for help on using the changeset viewer.