Changeset 1eef69 in git for kernel


Ignore:
Timestamp:
Jan 19, 2009, 1:43:53 PM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
0883ed62762dee5f6c5fa37f064d3883b99dc21f
Parents:
9655929209cd775b5b7cd5bc61d5b70c75f911b3
Message:
*hannes: optim


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

Legend:

Unmodified
Added
Removed
  • kernel/rmodulon.cc

    r9655929 r1eef69  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: rmodulon.cc,v 1.31 2008-12-08 15:00:43 Singular Exp $ */
     4/* $Id: rmodulon.cc,v 1.32 2009-01-19 12:43:53 Singular Exp $ */
    55/*
    66* ABSTRACT: numbers modulo n
     
    2121
    2222#ifdef HAVE_RINGMODN
    23 
    24 omBin gmp_nrn_bin = omGetSpecBin(sizeof(MP_INT));
     23  #ifdef HAVE_RINGZ
     24    #define gmp_nrn_bin gmp_nrz_bin
     25    extern omBin gmp_nrz_bin;
     26  #else
     27    omBin gmp_nrn_bin = omGetSpecBin(sizeof(MP_INT));
     28  #endif
    2529
    2630int_number nrnModul = NULL;
     
    3337number nrnInit (int i)
    3438{
    35   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     39  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    3640  mpz_init_set_si(erg, i);
    3741  mpz_mod(erg, erg, nrnModul);
     
    4953number nrnCopy(number a)
    5054{
    51   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     55  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    5256  mpz_init_set(erg, (int_number) a);
    5357  return (number) erg;
     
    7882number nrnMult (number a, number b)
    7983{
    80   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     84  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    8185  mpz_init(erg);
    8286  mpz_mul(erg, (int_number) a, (int_number) b);
     
    8791void nrnPower (number a, int i, number * result)
    8892{
    89   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     93  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    9094  mpz_init(erg);
    9195  mpz_powm_ui(erg, (int_number) a, i, nrnModul);
     
    9599number nrnAdd (number a, number b)
    96100{
    97   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     101  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    98102  mpz_init(erg);
    99103  mpz_add(erg, (int_number) a, (int_number) b);
     
    104108number nrnSub (number a, number b)
    105109{
    106   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     110  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    107111  mpz_init(erg);
    108112  mpz_sub(erg, (int_number) a, (int_number) b);
     
    113117number nrnNeg (number c)
    114118{
    115 // nNeg inplace !!! TODO
    116 //  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    117 //  mpz_init(erg);
     119// nNeg inplace !!!
    118120  mpz_sub((int_number) c, nrnModul, (int_number) c);
    119121  return c;
     
    122124number  nrnInvers (number c)
    123125{
    124   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     126  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    125127  mpz_init(erg);
    126128  mpz_invert(erg, (int_number) c, nrnModul);
     
    148150{
    149151  if ((a == NULL) && (b == NULL)) return nrnInit(0);
    150   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     152  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    151153  mpz_init_set(erg, nrnModul);
    152154  if (a != NULL) mpz_gcd(erg, erg, (int_number) a);
     
    158160number nrnGcd3 (number a,number b, number c,ring r)
    159161{
    160   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     162  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    161163  mpz_init(erg);
    162164  if (a == NULL) a = (number) nrnModul;
     
    176178number  nrnExtGcd (number a, number b, number *s, number *t)
    177179{
    178   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    179   int_number bs = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    180   int_number bt = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     180  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
     181  int_number bs = (int_number) omAllocBin(gmp_nrn_bin);
     182  int_number bt = (int_number) omAllocBin(gmp_nrn_bin);
    181183  mpz_init(erg);
    182184  mpz_init(bs);
     
    291293{
    292294  if (a == NULL) a = (number) nrnModul;
    293   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     295  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    294296  mpz_init(erg);
    295297  if (mpz_divisible_p((int_number) a, (int_number) b))
     
    323325number nrnIntDiv (number a,number b)
    324326{
    325   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     327  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    326328  mpz_init(erg);
    327329  if (a == NULL) a = (number) nrnModul;
     
    343345number nrnMap2toM(number from)
    344346{
    345   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     347  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    346348  mpz_init(erg);
    347349  mpz_mul_ui(erg, nrnMapCoef, (NATNUMBER) from);
     
    352354number nrnMapZp(number from)
    353355{
    354   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     356  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    355357  mpz_init(erg);
    356358  mpz_mul_si(erg, nrnMapCoef, (NATNUMBER) from);
     
    361363number nrnMapGMP(number from)
    362364{
    363   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     365  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    364366  mpz_init(erg);
    365367  mpz_mod(erg, (int_number) from, nrnModul);
     
    369371number nrnMapQ(number from)
    370372{
    371   int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     373  int_number erg = (int_number) omAllocBin(gmp_nrn_bin);
    372374  mpz_init(erg);
    373375  nlGMP(from, (number) erg);
     
    395397    else
    396398    {
    397       int_number nrnMapModul = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     399      int_number nrnMapModul = (int_number) omAllocBin(gmp_nrn_bin);
    398400      // Computing the n of Z/n
    399401      if (rField_is_Zp(src))
     
    411413      if (nrnMapCoef == NULL)
    412414      {
    413         nrnMapCoef = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     415        nrnMapCoef = (int_number) omAllocBin(gmp_nrn_bin);
    414416        mpz_init(nrnMapCoef);
    415417      }
     
    464466  if (nrnModul == NULL)
    465467  {
    466     nrnModul = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     468    nrnModul = (int_number) omAllocBin(gmp_nrn_bin);
    467469    mpz_init(nrnModul);
    468     nrnMinusOne = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     470    nrnMinusOne = (int_number) omAllocBin(gmp_nrn_bin);
    469471    mpz_init(nrnMinusOne);
    470472  }
     
    543545const char * nrnRead (const char *s, number *a)
    544546{
    545   int_number z = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     547  int_number z = (int_number) omAllocBin(gmp_nrn_bin);
    546548  {
    547549    s = nlCPEatLongC((char *)s, z);
Note: See TracChangeset for help on using the changeset viewer.