Opened 12 years ago
Closed 12 years ago
#316 closed bug (fixed)
Output of real is not accepted as input
Reported by: | gorzel | Owned by: | hannes |
---|---|---|---|
Priority: | minor | Milestone: | 3-1-3 and higher |
Component: | singular-kernel | Version: | 3-1-2 |
Keywords: | Cc: |
Description
The output of polys defined over real misses the * between the coefficient and the variables.
For basering complex it is OK.
> ring Rc =complex,x,dp; // same as (real,t),x,dp > Rc; // characteristic : 0 (complex:6 digits, additional 6 digits) // 1 parameter : i // minpoly : (i^2+1) // number of vars : 1 // block 1 : ordering dp // : names x // block 2 : ordering C > poly f = 0.0123*x2+0.03; > f; 0.0123*x2+0.03 // OK here, the output has the * > short; 1 > poly g = 1.2x2+0.03; // the input needs the * ? error occurred in or before STDIN line 44: `poly g = 1.2x2+0.03;` ? expected poly-expression. type 'help poly;' ? last reserved name was `poly` skipping text from `+`
But here the * is missing in the output.
> ring R = real,x,dp; > poly f = 1.23x2+0.03; // So the * is needed for the input ? error occurred in or before STDIN line 2: `poly f = 1.23x2+0.03;` ? expected poly-expression. type 'help poly;' ? last reserved name was `poly` skipping text from `+` > poly f = 1.23*x2+0.03; // With * accepted > f; 1.230e+00x2+3.000e-02 // But now the * misses in the output > poly g = 1.230e+00x2+3.000e-02; ? error occurred in or before STDIN line 5: `poly g = 1.230e+00x2+3.000e-02;` ? expected poly-expression. type 'help poly;' ? last reserved name was `poly` skipping text from `+` > poly g = 1.230e+00*x2+3.000e-02; // with the * accepted > g; 1.230e+00x2+3.000e-02 > short = 0; // with short==0, it is certainly OK. > g; 1.230e+00*x^2+3.000e-02
Same problem with real and additional digits:
> ring R10 =(real,20,10),x,dp; > basering; // characteristic : 0 (real:20 digits, additional 10 digits) // number of vars : 1 // block 1 : ordering dp // : names x // block 2 : ordering C > poly f = 0.0123*x2+0.03; > f; // missing * here 0.0123x2+0.03 > poly g = 0.0123x2+0.03; ? error occurred in or before STDIN line 11: `poly g = 0.0123x2+0.03;` ? expected poly-expression. type 'help poly;' ? last reserved name was `poly` skipping text from `+` > poly g = 0.0123*x2+0.03;
Note: See
TracTickets for help on using
tickets.
fixed.