Ignore:
Timestamp:
Jul 18, 2012, 3:28:22 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'c987db42cd2ec943b97ac5746c99892ceddf909c')
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
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.