Changeset de88371 in git for libpolys/polys


Ignore:
Timestamp:
Jul 18, 2012, 3:28:22 PM (12 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
91ecf187772d8c5893550eabd5abde87d2f29b9c
Parents:
975db1808b2b0917d858a9096710abc55c256aec
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-07-18 15:28:22+02:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-07-18 15:41:07+02:00
Message:
Added stubs for putting the actual code (TODO!), where required (i.e. described) by Hans

chg: descriptions for the output number (n_ClearContent & n_ClearDenominators)
chg: publicly available default implementations ndClearContent & ndClearDenominators for fallback calls
Location:
libpolys/polys/ext_fields
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/ext_fields/algext.cc

    r975db18 rde88371  
    831831}
    832832
     833static void naClearContent(ICoeffsEnumerator& /*numberCollectionEnumerator*/, number& c, const coeffs cf)
     834{
     835  assume(cf != NULL);
     836  assume(getCoeffType(cf) == ID);
     837  assume(nCoeff_is_Q_a(cf)); // only over Q[a]/m(a), while the default impl. is used over Zp[a]/m(a) !
     838  // all coeffs are given by integers!!!
     839
     840  c = n_Init(1, cf);
     841  assume(FALSE); // TODO: NOT YET IMPLEMENTED!!!
     842
     843//   numberCollectionEnumerator.Reset();
     844//
     845//   c = numberCollectionEnumerator.Current();
     846//
     847//   n_Normalize(c, r);
     848//
     849//   if (!n_IsOne(c, r))
     850//   {   
     851//     numberCollectionEnumerator.Current() = n_Init(1, r); // ???
     852//
     853//     number inv = n_Invers(c, r);
     854//
     855//     while( numberCollectionEnumerator.MoveNext() )
     856//     {
     857//       number &n = numberCollectionEnumerator.Current();
     858//       n_Normalize(n, r); // ?
     859//       n_InpMult(n, inv, r);
     860//     }
     861//
     862//     n_Delete(&inv, r);
     863//   }
     864}
     865
     866
    833867BOOLEAN naInitChar(coeffs cf, void * infoStruct)
    834868{
     
    914948  cf->cfParameter = naParameter;
    915949
     950  if( nCoeff_is_Q(R->cf) )
     951    cf->cfClearContent = naClearContent;
     952 
    916953  return FALSE;
    917954}
  • libpolys/polys/ext_fields/transext.cc

    r975db18 rde88371  
    14051405}
    14061406
     1407static void ntClearContent(ICoeffsEnumerator& /*numberCollectionEnumerator*/, number& c, const coeffs cf)
     1408{
     1409  assume(cf != NULL);
     1410  assume(getCoeffType(cf) == ID);
     1411  assume(nCoeff_is_Q_a(cf)); // only over Q(a), while the default impl. is used over Zp(a) !
     1412  // all coeffs are given by integers!!!
     1413
     1414  c = n_Init(1, cf);
     1415  assume(FALSE); // TODO: NOT YET IMPLEMENTED!!!
     1416
     1417//   numberCollectionEnumerator.Reset();
     1418//
     1419//   c = numberCollectionEnumerator.Current();
     1420//
     1421//   n_Normalize(c, r);
     1422//
     1423//   if (!n_IsOne(c, r))
     1424//   {   
     1425//     numberCollectionEnumerator.Current() = n_Init(1, r); // ???
     1426//
     1427//     number inv = n_Invers(c, r);
     1428//
     1429//     while( numberCollectionEnumerator.MoveNext() )
     1430//     {
     1431//       number &n = numberCollectionEnumerator.Current();
     1432//       n_Normalize(n, r); // ?
     1433//       n_InpMult(n, inv, r);
     1434//     }
     1435//
     1436//     n_Delete(&inv, r);
     1437//   }
     1438}
     1439
     1440static void ntClearDenominators(ICoeffsEnumerator& /*numberCollectionEnumerator*/, number& c, const coeffs cf)
     1441{
     1442  assume(cf != NULL);
     1443  assume(getCoeffType(cf) == ID); // both over Q(a) and Zp(a)!
     1444  // all coeffs are given by integers!!!
     1445
     1446  c = n_Init(1, cf);
     1447  assume(FALSE); // TODO: NOT YET IMPLEMENTED!!!
     1448}
     1449
    14071450BOOLEAN ntInitChar(coeffs cf, void * infoStruct)
    14081451{
     
    14871530  cf->cfParameter = ntParameter;
    14881531
     1532  if( nCoeff_is_Q(R->cf) )
     1533    cf->cfClearContent = ntClearContent;
     1534
     1535  cf->cfClearDenominators = ntClearDenominators;
    14891536
    14901537  return FALSE;
Note: See TracChangeset for help on using the changeset viewer.