Changeset bac8611 in git for kernel/rmodulon.cc


Ignore:
Timestamp:
Feb 1, 2008, 4:11:34 PM (16 years ago)
Author:
Oliver Wienand <wienand@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
befecbc5f2fd0929fe1c00f9ed52cc5c128a3612
Parents:
3901ebf059dc5ef7abe8c2726771e6d8edee6d96
Message:
ring.h:
no simple alloc for modn

kutil.cc:
delete generated coeffs in pair creation

number.cc:
copy, delete, size for rmodulon and rintegers

kspoly.cc:
pSetCoeff durch pSetCoeff0 ersetzt

rint*, rmod*: delete, etc.


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

Legend:

Unmodified
Added
Removed
  • kernel/rmodulon.cc

    r3901ebf rbac8611  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: rmodulon.cc,v 1.14 2008-02-01 10:31:44 wienand Exp $ */
     4/* $Id: rmodulon.cc,v 1.15 2008-02-01 15:11:34 wienand Exp $ */
    55/*
    66* ABSTRACT: numbers modulo n
     
    2323
    2424typedef MP_INT *int_number;
    25 omBin gmp_bin = omGetSpecBin(sizeof(MP_INT));
     25omBin gmp_nrn_bin = omGetSpecBin(sizeof(MP_INT));
    2626
    2727int_number nrnModul = NULL;
     
    3535number nrnInit (int i)
    3636{
    37   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     37  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    3838  mpz_init_set_si(erg, i);
    3939  mpz_mod(erg, erg, nrnModul);
     
    4444{
    4545  mpz_clear((int_number) *a);
    46   omFreeBin((ADDRESS) *a, gmp_bin);
     46  omFreeBin((ADDRESS) *a, gmp_nrn_bin);
     47  *a = NULL;
     48}
     49
     50number nrnCopy(number a)
     51{
     52  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
     53  mpz_init_set(erg, (int_number) a);
     54  return (number) erg;
     55}
     56
     57number cfrnCopy(number a, const ring r)
     58{
     59  return nrnCopy(a);
     60}
     61
     62int nrnSize(number a)
     63{
     64  if (a == NULL) return 0;
     65  return sizeof(MP_INT);
    4766}
    4867
     
    6079number nrnMult (number a, number b)
    6180{
    62   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     81  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    6382  mpz_init(erg);
    6483  mpz_mul(erg, (int_number) a, (int_number) b);
     
    6988void nrnPower (number a, int i, number * result)
    7089{
    71   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     90  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    7291  mpz_init(erg);
    7392  mpz_powm_ui(erg, (int_number) a, i, nrnModul);
     
    7796number nrnAdd (number a, number b)
    7897{
    79   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     98  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    8099  mpz_init(erg);
    81100  mpz_add(erg, (int_number) a, (int_number) b);
     
    86105number nrnSub (number a, number b)
    87106{
    88   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     107  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    89108  mpz_init(erg);
    90109  mpz_sub(erg, (int_number) a, (int_number) b);
     
    95114number nrnNeg (number c)
    96115{
    97   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     116  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    98117  mpz_init(erg);
    99118  mpz_sub(erg, nrnModul, (int_number) c);
     
    103122number  nrnInvers (number c)
    104123{
    105   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     124  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    106125  mpz_init(erg);
    107126  mpz_invert(erg, (int_number) c, nrnModul);
     
    129148{
    130149  if ((a == NULL) && (b == NULL)) return nrnInit(0);
    131   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     150  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    132151  mpz_init_set(erg, nrnModul);
    133152  if (a != NULL) mpz_gcd(erg, erg, (int_number) a);
     
    139158number nrnGcd3 (number a,number b, number c,ring r)
    140159{
    141   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     160  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    142161  mpz_init(erg);
    143162  if (a == NULL) a = (number) nrnModul;
     
    157176number  nrnExtGcd (number a, number b, number *s, number *t)
    158177{
    159   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
    160   int_number bs = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
    161   int_number bt = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     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
    162181  mpz_init(erg);
    163182  mpz_init(bs);
     
    264283{
    265284  if (a == NULL) a = (number) nrnModul;
    266   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     285  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    267286  mpz_init(erg);
    268287  if (mpz_divisible_p((int_number) a, (int_number) b))
     
    296315number nrnIntDiv (number a,number b)
    297316{
    298   int_number erg = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     317  int_number erg = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    299318  mpz_init(erg);
    300319  if (a == NULL) a = (number) nrnModul;
     
    330349    nrnDelete((number*) &nrnMinusOne, NULL);
    331350  }
    332   nrnModul = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     351  nrnModul = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    333352  mpz_init(nrnModul);
    334353  mpz_set_ull(nrnModul, nrnBase);
    335354  mpz_pow_ui(nrnModul, nrnModul, nrnExponent);
    336355
    337   nrnMinusOne = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     356  nrnMinusOne = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    338357  mpz_init(nrnMinusOne);
    339358  mpz_sub_ui(nrnMinusOne, nrnModul, 1);
     
    408427char * nrnRead (char *s, number *a)
    409428{
    410   int_number z = (int_number) omAllocBin(gmp_bin); // evtl. spaeter mit bin
     429  int_number z = (int_number) omAllocBin(gmp_nrn_bin); // evtl. spaeter mit bin
    411430  {
    412431    s = nlCPEatLongC(s, z);
Note: See TracChangeset for help on using the changeset viewer.