Changeset dc06550 in git


Ignore:
Timestamp:
Aug 26, 2010, 6:05:47 PM (13 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
Children:
17e58bd0adfff2102c82ae041746b1ff6830733c
Parents:
93add9a784df847a6a6929657ab54c3415b5d2d7
git-author:
Martin Lee <martinlee84@web.de>2010-08-26 18:05:47+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 11:55:27+01:00
Message:
GF passes tests
Location:
coeffs
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • coeffs/coeffs.h

    r93add9a rdc06550  
    211211  unsigned short *m_nfPlus1Table;
    212212  int *m_nfMinPoly;
     213  char * m_nfParameter;
    213214};
    214215//
  • coeffs/ffields.cc

    r93add9a rdc06550  
    414414  else
    415415  {
    416     StringAppendS(r->parameter[0]);
     416    StringAppendS(r->m_nfParameter);
    417417    if ((long)a!=1L)
    418418    {
     
    432432#endif
    433433  char *s;
    434   char *nfParameter=r->parameter[0];
     434  char *nfParameter=r->m_nfParameter;
    435435  if (((long)a==(long)r->m_nfCharQ) || ((long)a==0L)) return NULL;
    436436  else if ((long)a==1L)
     
    512512    *a = nfDiv(z,n,r);
    513513  }
    514   char *nfParameter=r->parameter[0];
     514  char *nfParameter=r->m_nfParameter;
    515515  if (strncmp(s,nfParameter,strlen(nfParameter))==0)
    516516  {
     
    572572    j++;
    573573    if (nfMinPoly[j]!=0)
    574       StringAppend("%d*%s^%d",nfMinPoly[j],r->parameter[0],i);
     574      StringAppend("%d*%s^%d",nfMinPoly[j],r->m_nfParameter,i);
    575575    i--;
    576576    if(i<0) break;
     
    828828  assume( r->type == n_GF );
    829829
    830 
     830  GFInfo* p = (GFInfo *)(parameter);
     831  const char * name = p->GFPar_name;
    831832  r->m_nfCharQ = 0;
    832  
     833  r->m_nfCharP = p->GFChar;
     834  r->m_nfCharQ1 = 0;
     835  r->m_nfParameter= strdup(name); //TODO use omAlloc for allocating memory and use strcpy?
     836  r->m_nfPlus1Table= NULL;
    833837
    834838  r->has_simple_Alloc=TRUE;
    835839  r->has_simple_Inverse=TRUE;
    836   const int c = (int)(long)(parameter);
     840  const int c = p->GFSize;
    837841  nfReadTable(c, r);
    838842  r->ch = r->m_nfCharP;
  • coeffs/ffields.h

    r93add9a rdc06550  
    1111
    1212// #define MAX_INT_VAL 0x7fffffff
     13typedef struct
     14{
     15  int GFChar;
     16  int GFSize;
     17  char* GFPar_name;
     18} GFInfo;
     19
    1320
    1421void nfInitChar(coeffs r, void*);
  • coeffs/test.cc

    r93add9a rdc06550  
    2525bool Test(const coeffs r)
    2626{
    27   number a = n_Init(666, r); 
    28  
     27  number a = n_Init(666, r);
     28   
    2929  StringSetS("a: ");
    3030  n_Test(a,r);
     
    3939  PrintS(StringAppend("\n"));
    4040
    41 
     41  if (getCoeffType(r) == n_GF) //some special test for GF
     42  {
     43    number z= nfPar (2, r);
     44    StringSetS("z: ");
     45    n_Test(z,r); n_Write (z,r);
     46    PrintS(StringAppend("\n"));
     47  }
     48 
    4249  number aa = n_Add(a, a, r);
    4350
     
    125132
    126133  nSetChar( r );
    127 
    128134  assume( getCoeffType(r) == type );
    129135
     
    133139  assume( r->cfDelete != NULL );
    134140
    135 
    136141  if( type == n_Q )
    137142  {
     
    177182    assume( r->cfDelete == nrnDelete );
    178183  }
    179 #endif 
     184#endif
     185  else if( type == n_GF )
     186  {
     187    assume( r->cfInit == nfInit );
     188    assume( r->cfWrite == nfWrite );
     189    assume( r->cfAdd == nfAdd );
     190    //assume( r->cfDelete == nfDelete );
     191  }
    180192  else
    181193  {
     
    231243  // TODO: Oleksandr/Martin
    232244   type = nRegister( n_GF, nfInitChar); assume( type == n_GF );
    233    if( Test(type) )
     245   GFInfo param;
     246
     247   param.GFChar= 5;
     248   param.GFSize= 25;
     249   param.GFPar_name= "Z";
     250   if( Test(type, (void*) &param) )
    234251     c ++;
    235252 
Note: See TracChangeset for help on using the changeset viewer.