Changeset bad9f3 in git
- Timestamp:
- Dec 20, 2000, 11:54:25 AM (22 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- 24d587c69f03ebf0b0771f514b3c9bc6364a93ed
- Parents:
- 40c7ec80c05f1294b97ec9974f0c5c5a0a35f186
- Location:
- Singular
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/gnumpfl.h
r40c7ec8 rbad9f3 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: gnumpfl.h,v 1. 7 2000-12-15 18:49:29 SingularExp $ */6 /* $Id: gnumpfl.h,v 1.8 2000-12-20 10:54:24 pohl Exp $ */ 7 7 /* 8 8 * ABSTRACT: computations with GMP floating-point numbers … … 40 40 nMapFunc ngfSetMap(ring src, ring dst); 41 41 42 void setGMPFloatDigits( size_t digits );42 void setGMPFloatDigits( size_t digits, size_t rest ); 43 43 #endif 44 44 -
Singular/mpr_complex.cc
r40c7ec8 rbad9f3 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mpr_complex.cc,v 1. 29 2000-12-18 15:44:41 obachmanExp $ */4 /* $Id: mpr_complex.cc,v 1.30 2000-12-20 10:54:24 pohl Exp $ */ 5 5 6 6 /* … … 49 49 * digits - the number of output digits (basis 10) 50 50 * the size of mantissa consists of two parts: 51 * the "output" part a nd the "zero" part.51 * the "output" part a and the "rest" part b. 52 52 * According to the GMP-precision digits is 53 53 * recomputed to bits (basis 2). … … 55 55 * | a - b | < | a | * 0.1^digits . 56 56 * In this case we have a - b = 0 . 57 * The epsilon e is e=0.1^(digits+rest) with 58 * 1+e != 1, but 1+0.1*e = 1. 57 59 */ 58 void setGMPFloatDigits( size_t digits )60 void setGMPFloatDigits( size_t digits, size_t rest ) 59 61 { 60 62 size_t bits = 1 + (size_t) ((float)digits * 3.5); 61 size_t db = bits+bits;62 bits= bits>64?bits:64;63 size_t rb = 1 + (size_t) ((float)rest * 3.5); 64 size_t db = bits+rb; 63 65 gmp_output_digits= digits; 64 66 mpf_set_default_prec( db ); -
Singular/mpr_complex.h
r40c7ec8 rbad9f3 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: mpr_complex.h,v 1.1 5 2000-06-30 11:25:38pohl Exp $ */6 /* $Id: mpr_complex.h,v 1.16 2000-12-20 10:54:24 pohl Exp $ */ 7 7 8 8 /* … … 26 26 #define CTOF 4 27 27 28 void setGMPFloatDigits( size_t digits );28 void setGMPFloatDigits( size_t digits, size_t rest ); 29 29 size_t getGMPFloatDigits(); 30 30 -
Singular/mpr_inout.cc
r40c7ec8 rbad9f3 3 3 ****************************************/ 4 4 5 /* $Id: mpr_inout.cc,v 1.1 1 2000-10-05 15:16:58 SingularExp $ */5 /* $Id: mpr_inout.cc,v 1.12 2000-12-20 10:54:25 pohl Exp $ */ 6 6 7 7 /* … … 193 193 else if ( !(rField_is_R()||rField_is_long_R()||rField_is_long_C()) ) 194 194 { 195 setGMPFloatDigits( (unsigned long int)v->Data() ); 195 unsigned long int ii=(unsigned long int)v->Data(); 196 setGMPFloatDigits( ii, ii ); 196 197 } 197 198 v= v->next; … … 364 365 if ( !(rField_is_R()||rField_is_long_R()||rField_is_long_C()) ) 365 366 { 366 setGMPFloatDigits( (unsigned long int)arg2->Data() ); 367 unsigned long int ii = (unsigned long int)arg2->Data(); 368 setGMPFloatDigits( ii, ii ); 367 369 } 368 370 -
Singular/numbers.cc
r40c7ec8 rbad9f3 2 2 * Computer Algebra System SINGULAR * 3 3 *****************************************/ 4 /* $Id: numbers.cc,v 1.3 4 2000-12-19 18:31:44 obachmanExp $ */4 /* $Id: numbers.cc,v 1.35 2000-12-20 10:54:25 pohl Exp $ */ 5 5 6 6 /* … … 130 130 else if (rField_is_long_R(r)) 131 131 { 132 setGMPFloatDigits(r->ch_flags );132 setGMPFloatDigits(r->ch_flags,r->ch_flags); 133 133 } 134 134 /* -------------- long C -----------------------*/ 135 135 else if (rField_is_long_C(r)) 136 136 { 137 setGMPFloatDigits(r->ch_flags );137 setGMPFloatDigits(r->ch_flags,r->ch_flags); 138 138 } 139 139 #ifdef TEST
Note: See TracChangeset
for help on using the changeset viewer.