Changeset 9b8070 in git for libpolys


Ignore:
Timestamp:
Mar 3, 2022, 9:44:34 AM (2 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
64968f0d7471e7e021e850057f1dd83c900ed890
Parents:
fe4754c768f6e7c9aa8e0f5b9875e689a44095d2
Message:
opt: InpAdd, InpMult for Z/n
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/rmodulon.cc

    rfe4754 r9b8070  
    207207}
    208208
     209static void nrnInpMult(number &a, number b, const coeffs r)
     210{
     211  mpz_mul((mpz_ptr)a, (mpz_ptr)a, (mpz_ptr) b);
     212  mpz_mod((mpz_ptr)a, (mpz_ptr)a, r->modNumber);
     213}
     214
    209215static void nrnPower(number a, int i, number * result, const coeffs r)
    210216{
     
    222228  mpz_mod(erg, erg, r->modNumber);
    223229  return (number) erg;
     230}
     231
     232static void nrnInpAdd(number &a, number b, const coeffs r)
     233{
     234  mpz_add((mpz_ptr)a, (mpz_ptr)a, (mpz_ptr) b);
     235  mpz_mod((mpz_ptr)a, (mpz_ptr)a, r->modNumber);
    224236}
    225237
     
    10061018  r->cfInt         = nrnInt;
    10071019  r->cfAdd         = nrnAdd;
     1020  r->cfInpAdd      = nrnInpAdd;
    10081021  r->cfSub         = nrnSub;
    10091022  r->cfMult        = nrnMult;
     1023  r->cfInpMult     = nrnInpMult;
    10101024  r->cfDiv         = nrnDiv;
    10111025  r->cfAnn         = nrnAnn;
Note: See TracChangeset for help on using the changeset viewer.