File: BUGS

package info (click to toggle)
gp2c 0.0.7pl3-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,728 kB
  • sloc: ansic: 7,730; sh: 1,420; lex: 336; yacc: 208; makefile: 143
file content (49 lines) | stat: -rw-r--r-- 1,354 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Probably not countable.

--- bittest(x:small,y:small) is wrong if y>31

--- x:small%y:small cannot use % in C because -2%3 would be wrong

--- || and && are not always fully short-circuiting if second argument is a block.

Things that are poorly implemented:
----------------------------------

--- Array (vector, matrix) may be disconnected in the stack.

--- vector() and matrix() do not garbage collect.

--- Garbage collecting should always be done after a loop.

--- Code generated for "a=if(b,c,d)" constructs is ugly.

--- user-defined member functions should be inlined

--- local() variables are treated identically to my() variables. Thus the scope of local()
    variable after function call are not the same in GP and in C.

Things that are not implemented:
--------------------------------

--- a[b,]+=c

--- issquare(4,&a[b,])

Discrepancy between gp2c and gp:
--------------------------------

--- =\n= is allowed by gp, but not by gp2c. Don't cry.

--- Spaces in middle of term like (a b==ab) are not allowed. Be sensible.

--- gp2c does not allow functions named local() to be called.

--- "error" output PARI errors, not user errors.

--- gp2c is generally more lenient than gp about syntax.

--- Do not catch misuse of GP 'global()' vars.

--- Use of small may lead to overflow problems.

--- return() can return 0 instead of nothing.