Changeset ecc9b0 in git for libpolys


Ignore:
Timestamp:
Feb 28, 2022, 5:24:36 PM (2 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
b4d1cea5a39713d1de44b2615d9f8fa2b443a84d
Parents:
64ac80520740d508f48b2a2f1521f6185b8ead83
Message:
add InpAdd, InpMult for complex, (long)real
Location:
libpolys/coeffs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/gnumpc.cc

    r64ac80 recc9b0  
    162162}
    163163
     164static void ngcInpAdd (number &a, number b, const coeffs R)
     165{
     166  assume( getCoeffType(R) == n_long_C );
     167
     168  (*(gmp_complex*)a) += (*(gmp_complex*)b);
     169}
     170
    164171/*2
    165172* u:= a - b
     
    182189  gmp_complex* r= new gmp_complex( (*(gmp_complex*)a) * (*(gmp_complex*)b) );
    183190  return (number)r;
     191}
     192
     193static void ngcInpMult (number &a, number b, const coeffs R)
     194{
     195  assume( getCoeffType(R) == n_long_C );
     196
     197  (*(gmp_complex*)a) *= (*(gmp_complex*)b);
    184198}
    185199
     
    570584  n->cfInt     = ngcInt;
    571585  n->cfAdd     = ngcAdd;
     586  n->cfInpAdd  = ngcInpAdd;
    572587  n->cfSub     = ngcSub;
    573588  n->cfMult    = ngcMult;
     589  n->cfInpMult = ngcInpMult;
    574590  n->cfDiv     = ngcDiv;
    575591  n->cfExactDiv= ngcDiv;
     
    646662  r->cfName = ndName;
    647663  r->cfInpMult=nlInpMult;
    648   r->cfInit_bigint=nlCopyMap;
    649664#ifdef LDEBUG
    650665  // debug stuff
  • libpolys/coeffs/gnumpfl.cc

    r64ac80 recc9b0  
    159159}
    160160
     161static void ngfInpAdd (number &a, number b, const coeffs R)
     162{
     163  assume( getCoeffType(R) == n_long_R );
     164
     165  (*(gmp_float*)a) += (*(gmp_float*)b);
     166}
     167
    161168/*2
    162169* u:= a - b
     
    179186  gmp_float* r= new gmp_float( (*(gmp_float*)a) * (*(gmp_float*)b) );
    180187  return (number)r;
     188}
     189
     190static void ngfInpMult (number &a, number b, const coeffs R)
     191{
     192  assume( getCoeffType(R) == n_long_R );
     193
     194  (*(gmp_float*)a) *= (*(gmp_float*)b);
    181195}
    182196
     
    517531  n->cfInt     = ngfInt;
    518532  n->cfAdd     = ngfAdd;
     533  n->cfInpAdd  = ngfInpAdd;
    519534  n->cfSub     = ngfSub;
    520   n->cfMult    = ngfMult;
     535  n->cfInpMult = ngfInpMult;
    521536  n->cfDiv     = ngfDiv;
    522537  n->cfExactDiv= ngfDiv;
    523   n->cfInpNeg     = ngfNeg;
     538  n->cfInpNeg  = ngfNeg;
    524539  n->cfInvers  = ngfInvers;
    525   n->cfCopy   = ngfCopy;
     540  n->cfCopy    = ngfCopy;
    526541  n->cfGreater = ngfGreater;
    527542  n->cfEqual   = ngfEqual;
Note: See TracChangeset for help on using the changeset viewer.