Changeset 1cce47 in git


Ignore:
Timestamp:
Sep 29, 2010, 3:14:38 PM (14 years ago)
Author:
Mohamed Barakat <mohamed.barakat@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38077648e7239f98078663eb941c3c979511150a')
Children:
a9f5845397ce9720c65552912884a25952f7e724
Parents:
7f7b2ae08d4ef302906c949966fc7a88fe8d895f
git-author:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2010-09-29 15:14:38+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 11:55:29+01:00
Message:
non-atomic: nField -> nCoeff
error handling for initializing coeff
Location:
coeffs
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • coeffs/coeffs.h

    r7f7b2a r1cce47  
    227227
    228228/// one-time initialisations for new coeffs
     229/// in case of an error return NULL
    229230coeffs nInitChar(n_coeffType t, void * parameter);
    230231/// undo all initialisations
  • coeffs/ffields.cc

    r7f7b2a r1cce47  
    736736nMapFunc nfSetMap(const coeffs src, const coeffs dst)
    737737{
    738   if (nField_is_GF(src,src->m_nfCharQ))
     738  if (nCoeff_is_GF(src,src->m_nfCharQ))
    739739  {
    740740    return ndCopyMap;   /* GF(p,n) -> GF(p,n) */
    741741  }
    742   if (nField_is_GF(src))
     742  if (nCoeff_is_GF(src))
    743743  {
    744744    const coeffs r = dst;
     
    774774    }
    775775  }
    776   if (nField_is_Zp(src,src->m_nfCharP))
     776  if (nCoeff_is_Zp(src,src->m_nfCharP))
    777777  {
    778778    return nfMapP;    /* Z/p -> GF(p,n) */
     
    781781}
    782782
    783 void nfInitChar(coeffs r,  void * parameter)
     783BOOLEAN nfInitChar(coeffs r,  void * parameter)
    784784{
    785785
  • coeffs/ffields.h

    r7f7b2a r1cce47  
    1919
    2020
    21 void nfInitChar(coeffs r, void*);
     21BOOLEAN nfInitChar(coeffs r, void*);
    2222
    2323//static BOOLEAN nfCoeffsEqual(const coeffs r, n_coeffType n, void* parameter);
  • coeffs/gnumpc.cc

    r7f7b2a r1cce47  
    382382}
    383383
    384 void ngcInitChar(coeffs n, void*)
     384BOOLEAN ngcInitChar(coeffs n, void*)
    385385{
    386386  assume( getCoeffType(n) == ID );
     
    563563  assume( getCoeffType(dst) == ID );
    564564
    565   if (nField_is_Q(src))
     565  if (nCoeff_is_Q(src))
    566566  {
    567567    return ngcMapQ;
    568568  }
    569   if (nField_is_long_R(src))
     569  if (nCoeff_is_long_R(src))
    570570  {
    571571    return ngcMapLongR;
    572572  }
    573   if (nField_is_long_C(src))
     573  if (nCoeff_is_long_C(src))
    574574  {
    575575    return ngcCopyMap;
    576576  }
    577   if (nField_is_R(src))
     577  if (nCoeff_is_R(src))
    578578  {
    579579    return ngcMapR;
    580580  }
    581   if (nField_is_Zp(src))
     581  if (nCoeff_is_Zp(src))
    582582  {
    583583    return ngcMapP;
  • coeffs/gnumpc.h

    r7f7b2a r1cce47  
    1414
    1515/// Initialize r
    16 void ngcInitChar(coeffs r, void*);
     16BOOLEAN ngcInitChar(coeffs r, void*);
    1717
    1818
  • coeffs/gnumpfl.cc

    r7f7b2a r1cce47  
    389389}
    390390
    391 void ngfInitChar(coeffs n, void *)
     391BOOLEAN ngfInitChar(coeffs n, void *)
    392392{
    393393  assume( getCoeffType(n) == ID );
     
    461461  assume( getCoeffType(dst) == ID );
    462462 
    463   if (nField_is_Q(src))
     463  if (nCoeff_is_Q(src))
    464464  {
    465465    return ngfMapQ;
    466466  }
    467   if (nField_is_long_R(src))
     467  if (nCoeff_is_long_R(src))
    468468  {
    469469    return ngfCopyMap;
    470470  }
    471   if (nField_is_R(src))
     471  if (nCoeff_is_R(src))
    472472  {
    473473    return ngfMapR;
    474474  }
    475   if (nField_is_long_C(src))
     475  if (nCoeff_is_long_C(src))
    476476  {
    477477    return ngfMapC;
    478478  }
    479   if (nField_is_Zp(src))
     479  if (nCoeff_is_Zp(src))
    480480  {
    481481    return ngfMapP;
  • coeffs/gnumpfl.h

    r7f7b2a r1cce47  
    1414
    1515/// Initialize r
    16 void ngfInitChar(coeffs r, void *);
     16BOOLEAN ngfInitChar(coeffs r, void *);
    1717
    1818const char *   ngfRead (const char *s, number *a, const coeffs r);
  • coeffs/longrat.cc

    r7f7b2a r1cce47  
    19201920//  assume( getCoeffType(src) == ID );
    19211921 
    1922   if (nField_is_Q(src))
     1922  if (nCoeff_is_Q(src))
    19231923  {
    19241924    return nlCopyMap;
    19251925  }
    1926   if (nField_is_Zp(src))
     1926  if (nCoeff_is_Zp(src))
    19271927  {
    19281928    return nlMapP;
    19291929  }
    1930   if (nField_is_R(src))
     1930  if (nCoeff_is_R(src))
    19311931  {
    19321932    return nlMapR;
    19331933  }
    1934   if (nField_is_long_R(src))
     1934  if (nCoeff_is_long_R(src))
    19351935  {
    19361936    return nlMapLongR; /* long R -> Q */
    19371937  }
    19381938#ifdef HAVE_RINGS
    1939   if (nField_is_Ring_Z(src) || nField_is_Ring_PtoM(src) || nField_is_Ring_ModN(src))
     1939  if (nCoeff_is_Ring_Z(src) || nCoeff_is_Ring_PtoM(src) || nCoeff_is_Ring_ModN(src))
    19401940  {
    19411941    return nlMapGMP;
    19421942  }
    1943   if (nField_is_Ring_2toM(src))
     1943  if (nCoeff_is_Ring_2toM(src))
    19441944  {
    19451945    return nlMapMachineInt;
     
    24622462}
    24632463
    2464 void nlInitChar(coeffs r, void* p)
     2464BOOLEAN nlInitChar(coeffs r, void* p)
    24652465{
    24662466  const int ch = (int)(long)(p);
  • coeffs/longrat.h

    r7f7b2a r1cce47  
    5858LINLINE number   nlMult(number a, number b, const coeffs r);
    5959
    60 void    nlInitChar(coeffs r, void*);
     60BOOLEAN nlInitChar(coeffs r, void*);
    6161
    6262number   nlInit2 (int i, int j, const coeffs r);
  • coeffs/modulop.cc

    r7f7b2a r1cce47  
    322322}
    323323
    324 void npInitChar(coeffs r, void* p)
     324BOOLEAN npInitChar(coeffs r, void* p)
    325325{
    326326  const int c = (int) (long) p;
     
    587587{
    588588#ifdef HAVE_RINGS
    589   if (nField_is_Ring_2toM(src))
     589  if (nCoeff_is_Ring_2toM(src))
    590590  {
    591591    return npMapMachineInt;
    592592  }
    593   if (nField_is_Ring_Z(src) || nField_is_Ring_PtoM(src) || nField_is_Ring_ModN(src))
     593  if (nCoeff_is_Ring_Z(src) || nCoeff_is_Ring_PtoM(src) || nCoeff_is_Ring_ModN(src))
    594594  {
    595595    return npMapGMP;
    596596  }
    597597#endif
    598   if (nField_is_Q(src))
     598  if (nCoeff_is_Q(src))
    599599  {
    600600    return npMap0;
    601601  }
    602   if ( nField_is_Zp(src) )
     602  if ( nCoeff_is_Zp(src) )
    603603  {
    604604    if (n_GetChar(src) == n_GetChar(dst))
     
    611611    }
    612612  }
    613   if (nField_is_long_R(src))
     613  if (nCoeff_is_long_R(src))
    614614  {
    615615    return npMapLongR;
    616616  }
    617617#ifdef HAVE_FACTORY
    618   if (nField_is_CF (src))
     618  if (nCoeff_is_CF (src))
    619619  {
    620620    return npMapCanonicalForm;
  • coeffs/modulop.h

    r7f7b2a r1cce47  
    2424extern int npGen;
    2525
    26 void npInitChar(coeffs r, void* p);
     26BOOLEAN npInitChar(coeffs r, void* p);
    2727
    2828BOOLEAN npGreaterZero (number k, const coeffs r);
  • coeffs/mpr_complex.cc

    r7f7b2a r1cce47  
    375375  gmp_float r;
    376376
    377   if ( nField_is_Q(src) )
     377  if ( nCoeff_is_Q(src) )
    378378  {
    379379    if ( num != NULL )
     
    412412    }
    413413  }
    414   else if (nField_is_long_R(src) || nField_is_long_C(src))
     414  else if (nCoeff_is_long_R(src) || nCoeff_is_long_C(src))
    415415  {
    416416    r= *(gmp_float*)num;
    417417  }
    418   else if ( nField_is_R(src) )
     418  else if ( nCoeff_is_R(src) )
    419419  {
    420420    // Add some code here :-)
     
    717717    in_imag=floatToStr( abs(c.imag()), oprec );    // get imaginary part
    718718
    719     if (nField_is_long_C(src))
     719    if (nCoeff_is_long_C(src))
    720720    {
    721721      int len=(strlen(in_real)+strlen(in_imag)+7+strlen(src->parameter[0]))*sizeof(char);
  • coeffs/mpr_complex.h

    r7f7b2a r1cce47  
    314314inline gmp_complex numberToComplex( number num, const coeffs r )
    315315{
    316   if (nField_is_long_C(r))
     316  if (nCoeff_is_long_C(r))
    317317  {
    318318    return *(gmp_complex*)num;
  • coeffs/numbers.cc

    r7f7b2a r1cce47  
    9292{
    9393  assume( getCoeffType(r) == getCoeffType(aRing) );
    94   assume( nField_has_simple_Alloc(r) && nField_has_simple_Alloc(aRing) );
     94  assume( nCoeff_has_simple_Alloc(r) && nCoeff_has_simple_Alloc(aRing) );
    9595 
    9696  return a;
     
    190190  #endif
    191191    cf_root=n;
     192   
     193    BOOLEAN nOK=TRUE;
    192194    // init
    193195    if ((nInitCharTable!=NULL) && (t<=nLastCoeffs))
    194       (nInitCharTable[t])(n,parameter);
    195      else
     196      nOK = (nInitCharTable[t])(n,parameter);
     197    else
    196198       Werror("coeff init missing for %d",(int)t);
    197    
     199    if (nOK)
     200      {
     201        omFreeSize(n,sizeof(*n));
     202        return NULL;
     203      }
     204    cf_root=n;
    198205    // post init settings:
    199206    if (n->cfRePart==NULL) n->cfRePart=n->cfCopy;
  • coeffs/numbers.h

    r7f7b2a r1cce47  
    4141
    4242// Tests:
    43 static inline BOOLEAN nField_is_Ring_2toM(const coeffs r)
     43static inline BOOLEAN nCoeff_is_Ring_2toM(const coeffs r)
    4444{ return (r->ringtype == 1); }
    4545
    46 static inline BOOLEAN nField_is_Ring_ModN(const coeffs r)
     46static inline BOOLEAN nCoeff_is_Ring_ModN(const coeffs r)
    4747{ return (r->ringtype == 2); }
    4848
    49 static inline BOOLEAN nField_is_Ring_PtoM(const coeffs r)
     49static inline BOOLEAN nCoeff_is_Ring_PtoM(const coeffs r)
    5050{ return (r->ringtype == 3); }
    5151
    52 static inline BOOLEAN nField_is_Ring_Z(const coeffs r)
     52static inline BOOLEAN nCoeff_is_Ring_Z(const coeffs r)
    5353{ return (r->ringtype == 4); }
    5454
    55 static inline BOOLEAN nField_is_Ring(const coeffs r)
     55static inline BOOLEAN nCoeff_is_Ring(const coeffs r)
    5656{ return (r->ringtype != 0); }
    5757
    58 static inline BOOLEAN nField_is_Domain(const coeffs r)
     58static inline BOOLEAN nCoeff_is_Domain(const coeffs r)
    5959{ return (r->ringtype == 4 || r->ringtype == 0); }
    6060
    61 static inline BOOLEAN nField_has_Units(const coeffs r)
     61static inline BOOLEAN nCoeff_has_Units(const coeffs r)
    6262{ return ((r->ringtype == 1) || (r->ringtype == 2) || (r->ringtype == 3)); }
    6363
    64 static inline BOOLEAN nField_is_Zp(const coeffs r)
     64static inline BOOLEAN nCoeff_is_Zp(const coeffs r)
    6565{ return getCoeffType(r)==n_Zp; }
    6666
    67 static inline BOOLEAN nField_is_Zp(const coeffs r, int p)
     67static inline BOOLEAN nCoeff_is_Zp(const coeffs r, int p)
    6868{ return (getCoeffType(r)  && (r->ch == ABS(p))); }
    6969
    70 static inline BOOLEAN nField_is_Q(const coeffs r)
     70static inline BOOLEAN nCoeff_is_Q(const coeffs r)
    7171{ return getCoeffType(r)==n_Q; }
    7272
    73 static inline BOOLEAN nField_is_numeric(const coeffs r) /* R, long R, long C */
     73static inline BOOLEAN nCoeff_is_numeric(const coeffs r) /* R, long R, long C */
    7474{  return (getCoeffType(r)==n_R) || (getCoeffType(r)==n_long_R) || (getCoeffType(r)==n_long_C); }
    7575
    76 static inline BOOLEAN nField_is_R(const coeffs r)
     76static inline BOOLEAN nCoeff_is_R(const coeffs r)
    7777{ return getCoeffType(r)==n_R; }
    7878
    79 static inline BOOLEAN nField_is_GF(const coeffs r)
     79static inline BOOLEAN nCoeff_is_GF(const coeffs r)
    8080{ return getCoeffType(r)==n_GF; }
    8181
    82 static inline BOOLEAN nField_is_GF(const coeffs r, int q)
     82static inline BOOLEAN nCoeff_is_GF(const coeffs r, int q)
    8383{ return (getCoeffType(r)==n_GF) && (r->ch == q); }
    8484
    85 static inline BOOLEAN nField_is_Zp_a(const coeffs r)
     85static inline BOOLEAN nCoeff_is_Zp_a(const coeffs r)
    8686{ return (r->ringtype == 0) && (r->ch < -1); }
    8787
    88 static inline BOOLEAN nField_is_Zp_a(const coeffs r, int p)
     88static inline BOOLEAN nCoeff_is_Zp_a(const coeffs r, int p)
    8989{ return (r->ringtype == 0) && (r->ch < -1 ) && (-(r->ch) == ABS(p)); }
    9090
    91 static inline BOOLEAN nField_is_Q_a(const coeffs r)
     91static inline BOOLEAN nCoeff_is_Q_a(const coeffs r)
    9292{ return (r->ringtype == 0) && (r->ch == 1); }
    9393
    94 static inline BOOLEAN nField_is_long_R(const coeffs r)
     94static inline BOOLEAN nCoeff_is_long_R(const coeffs r)
    9595{ return getCoeffType(r)==n_long_R; }
    9696
    97 static inline BOOLEAN nField_is_long_C(const coeffs r)
     97static inline BOOLEAN nCoeff_is_long_C(const coeffs r)
    9898{ return getCoeffType(r)==n_long_C; }
    9999
    100 static inline BOOLEAN nField_is_CF(const coeffs r)
     100static inline BOOLEAN nCoeff_is_CF(const coeffs r)
    101101{ return getCoeffType(r)==n_CF; }
    102102
    103 static inline BOOLEAN nField_has_simple_inverse(const coeffs r)
     103static inline BOOLEAN nCoeff_has_simple_inverse(const coeffs r)
    104104{ return r->has_simple_Inverse; }
    105105/* Z/2^n, Z/p, GF(p,n), R, long_R, long_C*/
    106106
    107 static inline BOOLEAN nField_has_simple_Alloc(const coeffs r)
     107static inline BOOLEAN nCoeff_has_simple_Alloc(const coeffs r)
    108108{ return r->has_simple_Alloc; }
    109109/* Z/p, GF(p,n), R, Ring_2toM: nCopy, nNew, nDelete are dummies*/
    110110
    111 static inline BOOLEAN nField_is_Extension(const coeffs r)
    112 { return (nField_is_Q_a(r)) || (nField_is_Zp_a(r)); } /* Z/p(a) and Q(a)*/
     111static inline BOOLEAN nCoeff_is_Extension(const coeffs r)
     112{ return (nCoeff_is_Q_a(r)) || (nCoeff_is_Zp_a(r)); } /* Z/p(a) and Q(a)*/
    113113
    114 typedef void (*cfInitCharProc)(coeffs, void *);
     114/// initialize an object of type coeff, return FALSE in case of success
     115typedef BOOLEAN (*cfInitCharProc)(coeffs, void *);
    115116n_coeffType nRegister(n_coeffType n, cfInitCharProc p);
    116117
  • coeffs/rintegers.cc

    r7f7b2a r1cce47  
    279279{
    280280  /* dst = currRing */
    281   if (nField_is_Ring_Z(src) || nField_is_Ring_ModN(src) || nField_is_Ring_PtoM(src))
     281  if (nCoeff_is_Ring_Z(src) || nCoeff_is_Ring_ModN(src) || nCoeff_is_Ring_PtoM(src))
    282282  {
    283283    return nrzCopyMap;
    284284  }
    285   if (nField_is_Ring_2toM(src))
     285  if (nCoeff_is_Ring_2toM(src))
    286286  {
    287287    return nrzMapMachineInt;
    288288  }
    289   if (nField_is_Zp(src))
     289  if (nCoeff_is_Zp(src))
    290290  {
    291291    return nrzMapZp;
    292292  }
    293   if (nField_is_Q(src))
     293  if (nCoeff_is_Q(src))
    294294  {
    295295    return nrzMapQ;
     
    373373}
    374374
    375 void nrzInitChar(coeffs r,  void * parameter)
     375BOOLEAN nrzInitChar(coeffs r,  void * parameter)
    376376{
    377377  r->cfSetChar= NULL;
  • coeffs/rintegers.h

    r7f7b2a r1cce47  
    1414extern NATNUMBER nrzModul;
    1515
    16 void    nrzInitChar    (coeffs r,  void * parameter);
     16BOOLEAN nrzInitChar    (coeffs r,  void * parameter);
    1717number  nrzCopy        (number a, const coeffs r);
    1818int     nrzSize        (number a, const coeffs r);
  • coeffs/rmodulo2m.cc

    r7f7b2a r1cce47  
    2929
    3030/* for initializing function pointers */
    31 void nr2mInitChar (coeffs r, void* p)
     31BOOLEAN nr2mInitChar (coeffs r, void* p)
    3232{
    3333 
     
    563563nMapFunc nr2mSetMap(const coeffs src, const coeffs dst)
    564564{
    565   if (nField_is_Ring_2toM(src)
     565  if (nCoeff_is_Ring_2toM(src)
    566566     && (src->ringflagb == dst->ringflagb))
    567567  {
    568568    return ndCopyMap;
    569569  }
    570   if (nField_is_Ring_2toM(src)
     570  if (nCoeff_is_Ring_2toM(src)
    571571     && (src->ringflagb < dst->ringflagb))
    572572  { /* i.e. map an integer mod 2^s into Z mod 2^t, where t < s */
    573573    return nr2mMapMachineInt;
    574574  }
    575   if (nField_is_Ring_2toM(src)
     575  if (nCoeff_is_Ring_2toM(src)
    576576     && (src->ringflagb > dst->ringflagb))
    577577  { /* i.e. map an integer mod 2^s into Z mod 2^t, where t > s */
    578578    // to be done
    579579  }
    580   if (nField_is_Ring_Z(src))
     580  if (nCoeff_is_Ring_Z(src))
    581581  {
    582582    return nr2mMapGMP;
    583583  }
    584   if (nField_is_Q(src))
     584  if (nCoeff_is_Q(src))
    585585  {
    586586    return nr2mMapQ;
    587587  }
    588   if (nField_is_Zp(src)
     588  if (nCoeff_is_Zp(src)
    589589     && (src->ch == 2)
    590590     && (dst->ringflagb == 1))
     
    592592    return nr2mMapZp;
    593593  }
    594   if (nField_is_Ring_PtoM(src) || nField_is_Ring_ModN(src))
     594  if (nCoeff_is_Ring_PtoM(src) || nCoeff_is_Ring_ModN(src))
    595595  {
    596596    // Computing the n of Z/n
  • coeffs/rmodulo2m.h

    r7f7b2a r1cce47  
    1717
    1818
    19 void    nr2mInitChar    (coeffs r, void*);
     19BOOLEAN nr2mInitChar    (coeffs r, void*);
    2020
    2121extern int nr2mExp;
  • coeffs/rmodulon.cc

    r7f7b2a r1cce47  
    3030
    3131/* for initializing function pointers */
    32 void nrnInitChar (coeffs r, void* p)
     32BOOLEAN nrnInitChar (coeffs r, void* p)
    3333{
    3434 
     
    458458{
    459459  /* dst = currRing->cf */
    460   if (nField_is_Ring_Z(src))
     460  if (nCoeff_is_Ring_Z(src))
    461461  {
    462462    return nrnMapGMP;
    463463  }
    464   if (nField_is_Q(src))
     464  if (nCoeff_is_Q(src))
    465465  {
    466466    return nrnMapQ;
    467467  }
    468468  // Some type of Z/n ring / field
    469   if (nField_is_Ring_ModN(src) || nField_is_Ring_PtoM(src) || nField_is_Ring_2toM(src) || nField_is_Zp(src))
     469  if (nCoeff_is_Ring_ModN(src) || nCoeff_is_Ring_PtoM(src) || nCoeff_is_Ring_2toM(src) || nCoeff_is_Zp(src))
    470470  {
    471471    if (   (src->ringtype > 0)
     
    476476      int_number nrnMapModul = (int_number) omAllocBin(gmp_nrz_bin);
    477477      // Computing the n of Z/n
    478       if (nField_is_Zp(src))
     478      if (nCoeff_is_Zp(src))
    479479      {
    480480        mpz_init_set_si(nrnMapModul, src->ch);
     
    521521      }
    522522      nrnDelete((number*) &nrnMapModul, dst);
    523       if (nField_is_Ring_2toM(src))
     523      if (nCoeff_is_Ring_2toM(src))
    524524        return nrnMap2toM;
    525       else if (nField_is_Zp(src))
     525      else if (nCoeff_is_Zp(src))
    526526        return nrnMapZp;
    527527      else
  • coeffs/rmodulon.h

    r7f7b2a r1cce47  
    1616#endif
    1717
    18 void    nrnInitChar    (coeffs r, void*);
     18BOOLEAN nrnInitChar    (coeffs r, void*);
    1919number  nrnCopy        (number a, const coeffs r);
    2020int     nrnSize        (number a, const coeffs r);
  • coeffs/shortfl.cc

    r7f7b2a r1cce47  
    511511  assume( getCoeffType(dst) == ID );
    512512
    513   if (nField_is_Q(src))
     513  if (nCoeff_is_Q(src))
    514514  {
    515515    return nrMapQ;
    516516  }
    517   if (nField_is_long_R(src))
     517  if (nCoeff_is_long_R(src))
    518518  {
    519519    return nrMapLongR;
    520520  }
    521   if (nField_is_R(src))
     521  if (nCoeff_is_R(src))
    522522  {
    523523    return ndCopyMap;
    524524  }
    525   if(nField_is_Zp(src))
     525  if(nCoeff_is_Zp(src))
    526526  {
    527527    return nrMapP;
    528528  }
    529   if (nField_is_long_C(src))
     529  if (nCoeff_is_long_C(src))
    530530  {
    531531    return nrMapC;
     
    547547
    548548
    549 void nrInitChar(coeffs n, void*)
     549BOOLEAN nrInitChar(coeffs n, void*)
    550550{
    551551  assume( getCoeffType(n) == ID );
  • coeffs/shortfl.h

    r7f7b2a r1cce47  
    1515
    1616/// Initialize r
    17 void nrInitChar(coeffs r, void*);
     17BOOLEAN nrInitChar(coeffs r, void*);
    1818
    1919// Private interface should be hidden!!!
Note: See TracChangeset for help on using the changeset viewer.