Ignore:
Timestamp:
Mar 16, 2012, 9:26:19 PM (12 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
5a72fe43aa1fbae0fb93ebbff5685375e726f93c
Parents:
ce1f78b09d525de2d3babcf986a9f4821e60ed00
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-03-16 21:26:19+01:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-03-17 05:41:42+01:00
Message:
moved prarameter-handling to coeffs from rings.* and related fixes

chg: removed complex_parameter, m_nfParameter
add: n_NumberOfParameters, n_ParameterNames, n_Param(coeffs)
fix: par(1) (n_Param) for n_GF & n_long_C
fix/chg: n_long_C is an Extension as well (rIsExtension)
fix: n_long_C ngcCoeffWrite: additional space needed for compatibility with legacy Singular
fix: complexToStr over non-C coeffs!
fix: rRenameVars renames _new_ VARIABLES instead of _old_ parameters!
fix: coeff construction was broken in walk.cc
add/fix: nfKillChar, ngcKillChar
chg: cleanup of headers & tests
chg: parameter output during "make check"
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/mpr_complex.cc

    rce1f78 r7fee876  
    708708char *complexToStr( gmp_complex & c, const unsigned int oprec, const coeffs src )
    709709{
    710   assume( src->complex_parameter != NULL );
     710  const char * complex_parameter = "I";
     711  int N = 1; // strlen(complex_parameter);
     712   
     713  if (nCoeff_is_long_C(src))
     714  {
     715    complex_parameter = n_ParameterNames(src)[0];
     716    N = strlen(complex_parameter);
     717  }
     718
     719  assume( complex_parameter != NULL && N > 0);
    711720 
    712721  char *out,*in_imag,*in_real;
     
    721730    if (nCoeff_is_long_C(src))
    722731    {
    723       int len=(strlen(in_real)+strlen(in_imag)+7+strlen(src->complex_parameter))*sizeof(char);
     732      int len=(strlen(in_real)+strlen(in_imag)+7+N)*sizeof(char);
    724733      out=(char*)omAlloc(len);
    725734      memset(out,0,len);
    726735      if (  !c.real().isZero() )  // (-23-i*5.43) or (15.1+i*5.3)
    727         sprintf(out,"(%s%s%s*%s)",in_real,c.imag().sign()>=0?"+":"-",src->complex_parameter,in_imag);
     736        sprintf(out,"(%s%s%s*%s)",in_real,c.imag().sign()>=0?"+":"-",complex_parameter,in_imag);
    728737      else // (-i*43) or (i*34)
    729738      {
    730739        if (c.imag().isOne())
    731           sprintf(out,"%s",src->complex_parameter);
     740          sprintf(out,"%s", complex_parameter);
    732741        else if (c.imag().isMOne())
    733           sprintf(out,"-%s",src->complex_parameter);
     742          sprintf(out,"-%s", complex_parameter);
    734743        else
    735           sprintf(out,"(%s%s*%s)",c.imag().sign()>=0?"":"-",src->complex_parameter,in_imag);
     744          sprintf(out,"(%s%s*%s)",c.imag().sign()>=0?"":"-", complex_parameter,in_imag);
    736745      }
    737746    }
Note: See TracChangeset for help on using the changeset viewer.