Changeset 0e760d0 in git


Ignore:
Timestamp:
Jul 2, 1999, 6:14:41 PM (25 years ago)
Author:
Moritz Wenk <wenk@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
bad4044b17c2db928e269ccf80888ade701dae6c
Parents:
78315991a696a660dd3d43059499d754ccf8c669
Message:
* wenk: did some changes in floatToStr; removed TIMING


git-svn-id: file:///usr/local/Singular/svn/trunk@3226 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/solve.lib

    r7831599 r0e760d0  
    11///////////////////////////////////////////////////////////////////////////////
    22
    3 version="$Id: solve.lib,v 1.6 1999-07-02 14:33:45 wenk Exp $";
     3version="$Id: solve.lib,v 1.7 1999-07-02 16:14:41 wenk Exp $";
    44info="
    55LIBRARY: solve.lib     PROCEDURES TO SOLVE POLYNOMIAL SYSTEMS
     
    8383  // now with complex coefficient field, precision is 10 digits
    8484  ring rsc= (real,10,I),(x,y),lp;
    85   ideal i = x2 + y2 - 8, x2 + xy + 2y2;
     85  ideal i = (2+3*I)*x2 + (0.35+I*45.0e-2)*y2 - 8, x2 + xy + (42.7)*y2;
    8686  ures_solve(i);
    8787  // result is a list of (x,y)-coordinates of complex numbers
     
    146146  // Now with complex coefficients, precision is 20 digits:
    147147  ring rsc= (real,20,I),x,lp;
    148   poly f = (15+I*5)*x^5 + (0.25+I*2)*x^3 + x2 - 10*I;
     148  poly f = (15.4+I*5)*x^5 + (25.0e-2+I*2)*x^3 + x2 - 10*I;
    149149  list l = laguerre_solve(f);
    150150  l;
  • Singular/gnumpc.cc

    r7831599 r0e760d0  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: gnumpc.cc,v 1.4 1999-07-02 14:28:51 Singular Exp $ */
     4/* $Id: gnumpc.cc,v 1.5 1999-07-02 16:14:38 wenk Exp $ */
    55/*
    66* ABSTRACT: computations with GMP complex floating-point numbers
     
    285285
    286286/*2
    287 * za >= 0 ?
     287* za >= 0 ? ( real() > 0 || imag() > 0 )
    288288*/
    289289BOOLEAN ngcGreaterZero (number a)
    290290{
    291   return TRUE;
     291  if ( a == NULL ) return TRUE;
     292  return ( ((gmp_complex*)a)->real().sign() > 0 || ((gmp_complex*)a)->imag().sign() > 0 );
    292293}
    293294
     
    330331{
    331332  if ( a == NULL ) return FALSE;
    332   return (((gmp_complex*)a)->real().isOne() && ((gmp_complex*)a)->imag().isZero());
     333  //return (((gmp_complex*)a)->real().isOne() && ((gmp_complex*)a)->imag().isZero());
     334  return (((gmp_complex*)a)->real().isOne());
    333335}
    334336
     
    339341{
    340342  if ( a == NULL ) return FALSE;
    341   return (((gmp_complex*)a)->real().isMOne() && ((gmp_complex*)a)->imag().isZero());
     343  //  return (((gmp_complex*)a)->real().isMOne() && ((gmp_complex*)a)->imag().isZero());
     344  return (((gmp_complex*)a)->real().isMOne());
    342345}
    343346
  • Singular/gnumpfl.cc

    r7831599 r0e760d0  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: gnumpfl.cc,v 1.6 1999-07-02 15:01:42 wenk Exp $ */
     4/* $Id: gnumpfl.cc,v 1.7 1999-07-02 16:14:39 wenk Exp $ */
    55/*
    66* ABSTRACT: computations with GMP floating-point numbers
     
    373373  char *start= s;
    374374
     375  //Print("%s\n",s);
     376
    375377  s= ngfEatFloatNExp( s );
    376378
    377   if (*s=='\0')
     379  if (*s=='\0')  // 0
    378380  {
    379381    if ( *(gmp_float**)a == NULL ) (*(gmp_float**)a)= new gmp_float();
    380382    (*(gmp_float**)a)->setFromStr(start);
    381383  }
    382   else if (s==start)
     384  else if (s==start)  // 1
    383385  {
    384386    if ( *(gmp_float**)a != NULL )  delete (*(gmp_float**)a);
     
    387389  else
    388390  {
     391    if ( *s == '/' ) {
     392    }
    389393    char c=*s;
    390394    *s='\0';
     
    393397    *s=c;
    394398  }
     399
     400 
     401
    395402  return s;
    396403}
  • Singular/mpr_complex.cc

    r7831599 r0e760d0  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: mpr_complex.cc,v 1.10 1999-07-02 15:01:43 wenk Exp $ */
     4/* $Id: mpr_complex.cc,v 1.11 1999-07-02 16:14:40 wenk Exp $ */
    55
    66/*
     
    508508  {
    509509
    510       in_real=floatToStr( c.real(), oprec );         // get real part
     510    in_real=floatToStr( c.real(), oprec );         // get real part
    511511    in_imag=floatToStr( abs(c.imag()), oprec );    // get imaginary part
    512512
    513513    if (rField_is_long_C())
    514514    {
    515       int len=(strlen(in_real)+strlen(in_imag)+5+strlen(currRing->parameter[0]))*sizeof(char);
     515      int len=(strlen(in_real)+strlen(in_imag)+7+strlen(currRing->parameter[0]))*sizeof(char);
    516516      out=(char*)AllocL(len);
    517517      memset(out,0,len);
    518       if (  !c.real().isZero() )
    519         sprintf(out,"(%s%s%s*%s)",in_real,c.imag().sign()>=0?"+":"-",currRing->parameter[0],in_imag);
    520       else
    521         sprintf(out,"(%s%s*%s)",c.imag().sign()>=0?"":"-",currRing->parameter[0],in_imag);
     518      if (  !c.real().isZero() )  // (-23-i*5.43) or (15.1+i*5.3)
     519        sprintf(out,"%s(%s%s%s*%s)",(c.imag().sign()<0&&c.real().sign()<0)?"+":"",
     520                in_real,c.imag().sign()>=0?"+":"-",currRing->parameter[0],in_imag);
     521      else // +(-i*43) or +(i*34)
     522        sprintf(out,"%s(%s%s*%s)",c.imag().sign()>=0?"":"+",
     523                c.imag().sign()>=0?"":"-",currRing->parameter[0],in_imag);
    522524    }
    523525    else
    524526    {
    525       int len=(strlen(in_real)+strlen(in_imag)+8) * sizeof(char);
     527      int len=(strlen(in_real)+strlen(in_imag)+9) * sizeof(char);
    526528      out=(char*)AllocL( len );
    527529      memset(out,0,len);
    528530      if (  !c.real().isZero() )
    529         sprintf(out,"(%s%s%s)",in_real,c.imag().sign()>=0?"+I*":"-I*",in_imag);
     531        sprintf(out,"%s(%s%s%s)",(c.imag().sign()<0&&c.real().sign()<0)?"+":"",
     532                in_real,c.imag().sign()>=0?"+I*":"-I*",in_imag);
    530533      else
    531         sprintf(out,"(%s%s)",c.imag().sign()>=0?"I*":"-I*",in_imag);
     534        sprintf(out,"%s(%s%s)",c.imag().sign()>=0?"":"+",
     535                c.imag().sign()>=0?"I*":"-I*",in_imag);
    532536    }
    533537    FreeL( (ADDRESS) in_real );
  • Singular/mpr_global.h

    r7831599 r0e760d0  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: mpr_global.h,v 1.4 1999-06-28 16:06:27 Singular Exp $ */
     6/* $Id: mpr_global.h,v 1.5 1999-07-02 16:14:41 wenk Exp $ */
    77
    88/*
     
    1212
    1313// to get detailed timigs, define MPR_TIMING
    14 #define MPR_TIMING
     14//#define MPR_TIMING
    1515
    1616// Set to double or long double. double is recomended.
Note: See TracChangeset for help on using the changeset viewer.