Roberto Ierusalimschy
98d76cdcae
bug: Wrong error message in some short-cut expressions
11 years ago
Roberto Ierusalimschy
2f8c51a552
use unsigneds for unary minus, too
11 years ago
Roberto Ierusalimschy
b5f5fcd782
use different constants (instead of different values for the same constant)
to define number sizes (LUA_INT_INT/LUA_INT_LONG/LUA_INT_LONGLONG and
LUA_REAL_FLOAT/LUA_REAL_DOUBLE/LUA_REAL_LONGDOUBLE) + use __int64 and
I64 instead of long long (and ll) for Windows
11 years ago
Roberto Ierusalimschy
2ef9bcfd11
avoid undefined shift of LUA_NBITS in rotate operation
11 years ago
Roberto Ierusalimschy
5fa680d47f
no need for type 'b_uint' (lua_Unsigned must have at least 32 bits)
11 years ago
Roberto Ierusalimschy
48735da0d0
When loading a file, Lua may call the reader function again after
it returned end of input + luac listings choke on long strings
12 years ago
Roberto Ierusalimschy
2b4bd21585
'tonumber': base must be a number
12 years ago
Roberto Ierusalimschy
beff5b078a
'tonumber': does not accept numbers when given a base + convertion from
strings to numbers with a base moved to a separated function (more
modular)
12 years ago
Roberto Ierusalimschy
5519c98655
'lua_cvtonum' -> 'lua_strtonum'; converts only strings to numbers
12 years ago
Roberto Ierusalimschy
cbe164191c
new function 'ifloor'
12 years ago
Roberto Ierusalimschy
66d046833d
no need to check "bad conversion number->int;" in luaL_checkversion,
as now Lua does not use tricks for the conversion, but there is a
need to check the sizes of number types, as they can be different
in two modules
12 years ago
Roberto Ierusalimschy
15fdbd26fe
'numbits' moved from 'math' to 'debug' library
12 years ago
Roberto Ierusalimschy
2b4975dca7
LUA_SMALL_* changed to LUA_*SIZE + added support for long double + better
support for ANSI systems
12 years ago
Roberto Ierusalimschy
e39da66c8c
macro 'lua_strx2number' does not need to be global
12 years ago
Roberto Ierusalimschy
483c2ccd0f
avoid using raw representation of numbers for hashing, as number may
not use all its space (e.g., long double can have sizeof=12 but
use only 10 bytes)
12 years ago
Roberto Ierusalimschy
982aa7058f
'luaL_len' returns lua_Integer instead of 'int'
12 years ago
Roberto Ierusalimschy
80cdf39d0e
avoid using 'modf' in the implementation of 'math.modf', to avoid
problems with 'double*'. (When using 'float' as lua_Number,
'float*' is not compatible with 'double*'...)
12 years ago
Roberto Ierusalimschy
45f3797a5b
'long' may have more than 32 bits in some machines; use 'int' for
small lua_Integer unless necessary to use 'long'
12 years ago
Roberto Ierusalimschy
de6e5a5919
small bugs uncovered in a 64-bit machine (where 'long' has 64 bits)
12 years ago
Roberto Ierusalimschy
81102d3689
try to avoid warnings when converting int to pointer
12 years ago
Roberto Ierusalimschy
6579bd4190
reorganization of warnings + update of explicit dependencies (gcc -MM)
12 years ago
Roberto Ierusalimschy
f45177f2d3
In the table that hashes constants, use a light userdata as keys
to integer values to avoid collisions with floats with the same
numerical value
12 years ago
Roberto Ierusalimschy
d6f5fb2d2c
avoid warning for unary minus over an unsigned value
12 years ago
Roberto Ierusalimschy
7c4cc505db
added "reasonable" limit for 'string.rep' (otherwise it is too easy
to crash the machine)
12 years ago
Roberto Ierusalimschy
453450d687
new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
12 years ago
Roberto Ierusalimschy
55f566bd22
use lua_Integer for integer parameters to avoid truncation
12 years ago
Roberto Ierusalimschy
130c0e40e0
new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible
from Lua; these must fit in a lua_Integer
12 years ago
Roberto Ierusalimschy
c72fb1cf8e
detail (removed 'assert')
12 years ago
Roberto Ierusalimschy
138e69cc55
correct error message for floating-point values out of (integer) range
12 years ago
Roberto Ierusalimschy
53210d7e5b
correct way (I hope) to convert floats to unsigned int
12 years ago
Roberto Ierusalimschy
0394314c7a
avoid using a negative value to test 'lua_tounsigned'
12 years ago
Roberto Ierusalimschy
0beeb4f6fa
configuration of number sizes goes "mainstream"
12 years ago
Roberto Ierusalimschy
788b251157
'math.random' operates with integers when used for integer results
(1 or 2 parameters)
12 years ago
Roberto Ierusalimschy
318575627f
avoid adding '.0' to "numbers" like "nan" and "inf"
12 years ago
Roberto Ierusalimschy
a14992992a
new version (5.3)
12 years ago
Roberto Ierusalimschy
48adb6984c
'io.write' writes integers directly (and correctly)
12 years ago
Roberto Ierusalimschy
c5069528e1
details ('Type* id' -> 'Type *id')
12 years ago
Roberto Ierusalimschy
6fb0b11350
string contatenation handles conversion of integers to strings +
floats always format as floats (with decimal dot or exponent)
12 years ago
Roberto Ierusalimschy
932e7fb0e1
'lua_tounsigned' takes number modulo 2^numbits as a result when
number is a float
(That may change...)
12 years ago
Roberto Ierusalimschy
188192ce9a
'luai_hashnum' "inlined" into 'hashfloat'
12 years ago
Roberto Ierusalimschy
fc083f1138
removed all tricks for conversions + 'luai_hashnum' moved to ltable.c
12 years ago
Roberto Ierusalimschy
ee865b9fe7
new implementation for 'lua_strx2number' to correct small
problems with numbers like 0x10000...000p-100
12 years ago
Roberto Ierusalimschy
d630daca1a
"legal" way to convert a float to an integer in C
12 years ago
Roberto Ierusalimschy
8c883cb4e8
'objlen' can return integers
12 years ago
Roberto Ierusalimschy
c75cca0559
detail (case '%d' of 'luaO_pushvfstring' should use integers)
12 years ago
Roberto Ierusalimschy
1414b7123c
support for the case when 'l_mathop' does not conform to lua_Number
(problem with pointers to lua_Number solved by a typedef selected
automatically by 'l_mathop')
12 years ago
Roberto Ierusalimschy
3563b3f519
first version of control for number sizes (still in 'local' section)
12 years ago
Roberto Ierusalimschy
d46ed54646
no more IEEE tricks
12 years ago
Roberto Ierusalimschy
e2c8c756ee
removed 'IEEE tricks' (should not be needed in Lua with integers)
12 years ago
Roberto Ierusalimschy
5ca5086c19
'tonumber' now works with integers too
12 years ago