Roberto Ierusalimschy
|
d39bb51faa
|
bug: interpreter cannot pop activation frame before calling return
hook (as it may want to access local variables active by the end
of the function)
|
2015-05-22 14:48:19 -03:00 |
Roberto Ierusalimschy
|
6dc20ff293
|
'l <= r' for numbers has its own function, instead of using
'not (r < l)' (seems to be slightly more efficient)
|
2015-05-20 15:19:11 -03:00 |
Roberto Ierusalimschy
|
0ec12c1bd1
|
new semantics for numerical order (following math regardless
representation)
|
2015-05-20 13:22:55 -03:00 |
Roberto Ierusalimschy
|
04ba6ea83b
|
new semantics for equality int-float
|
2015-04-29 15:27:16 -03:00 |
Roberto Ierusalimschy
|
ae76c39712
|
Bug: suspended '__le' metamethod can give wrong result
|
2015-04-10 14:56:25 -03:00 |
Roberto Ierusalimschy
|
abb2f5511d
|
detail ('b + base' -> 'base + b' to follow all other similar uses)
|
2015-03-30 12:45:01 -03:00 |
Roberto Ierusalimschy
|
4ba0cb4580
|
always use macros to operate on lua_Numbers
|
2015-03-07 16:30:16 -03:00 |
Roberto Ierusalimschy
|
6408bc0b7f
|
new macros 'chgfltvalue'/'chgivalue' (numerical for loop does
not need to set the type of its internal variable at each iteration)
|
2015-03-02 13:04:52 -03:00 |
Roberto Ierusalimschy
|
81245b1ad5
|
'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old
'tointeger_aux'), which can do the same job.
|
2015-02-20 12:27:53 -02:00 |
Roberto Ierusalimschy
|
c8d6cb0136
|
macros 'luai_num*' (for float arithmetic operations) moved to
llimits.h.
|
2015-02-05 15:15:33 -02:00 |
Roberto Ierusalimschy
|
7e2015a46d
|
size of short strings stored in a single byte, to reduce the size
of struct 'TString'
|
2015-01-16 14:54:37 -02:00 |
Roberto Ierusalimschy
|
50e2eb8954
|
change in macro 'vmcase', avoding code inside it. (Code inside the
macro harms tools such as debuggers.)
|
2014-12-27 18:30:38 -02:00 |
Roberto Ierusalimschy
|
2b83711fba
|
new macro 'nvalue' (to convert an object to a float when we know
object is a number)
|
2014-12-19 11:36:32 -02:00 |
Roberto Ierusalimschy
|
049cf14cf9
|
'x//y' extended to floats + more comments about module and floor
division operations
|
2014-11-21 10:15:00 -02:00 |
Roberto Ierusalimschy
|
5d628519d3
|
simpler definition for 'luaV_tonumber_'
|
2014-11-19 13:05:15 -02:00 |
Roberto Ierusalimschy
|
bde14c3adc
|
macro to change method of conversion from float to integer (make it
use floor intead of requiring an exact integral value)
|
2014-11-03 18:07:47 -02:00 |
Roberto Ierusalimschy
|
28fdbcf393
|
added include for 'lprefix.h', for stuff that must be added before
any other header file
|
2014-11-02 17:19:04 -02:00 |
Roberto Ierusalimschy
|
bdf566a8a3
|
`name' in comments changed to 'name'
|
2014-10-25 09:50:46 -02:00 |
Roberto Ierusalimschy
|
463edee2fd
|
'lua_numtointeger' -> 'lua_numbertointeger'
|
2014-10-24 09:42:06 -02:00 |
Roberto Ierusalimschy
|
f97c64d7bf
|
macros 'LUA_QL'/'LUA_QL' deprecated
|
2014-10-17 13:28:21 -03:00 |
Roberto Ierusalimschy
|
3a15c7ce43
|
size for array part of a table ('sizearray') changed from 'int' to
'unsigned int', which allows twice as many elements in the array part
|
2014-09-04 15:15:29 -03:00 |
Roberto Ierusalimschy
|
d861706620
|
new macro 'cvt2num' to better control whether strings are convertible
to numbers
|
2014-07-30 11:42:44 -03:00 |
Roberto Ierusalimschy
|
34ac039fb8
|
new macro 'cvt2str' to better control whether numbers are convertible
to strings
|
2014-07-30 11:00:14 -03:00 |
Roberto Ierusalimschy
|
17ee57f8e0
|
'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
|
2014-07-21 13:02:10 -03:00 |
Roberto Ierusalimschy
|
ca41b43f53
|
type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
|
2014-07-18 10:36:14 -03:00 |
Roberto Ierusalimschy
|
8bb272a3e3
|
new conversion float->integer: conversion is valid only when
float has an exact representation as an integer
|
2014-07-17 09:30:53 -03:00 |
Roberto Ierusalimschy
|
b9dcf9974d
|
detail (typos in comments)
|
2014-06-30 16:48:08 -03:00 |
Roberto Ierusalimschy
|
89b56e7d84
|
more precision between closure types ('LClosure' x 'CClosure')
|
2014-06-19 15:27:20 -03:00 |
Roberto Ierusalimschy
|
1a3656e56e
|
more relaxed rules for __eq metamethod (more similar to other
operators)
|
2014-06-10 15:53:18 -03:00 |
Roberto Ierusalimschy
|
c98f195eb9
|
function 'luaV_numtointeger' changed to a global macro
'lua_numtointeger' (tricky, small, and useful in several places)
|
2014-05-26 14:10:22 -03:00 |
Roberto Ierusalimschy
|
36715ab7c1
|
detail (comment)
|
2014-05-23 15:32:21 -03:00 |
Roberto Ierusalimschy
|
8a0acf0898
|
comments
|
2014-05-20 11:12:59 -03:00 |
Roberto Ierusalimschy
|
3e977f02ac
|
added a few comments
|
2014-05-15 17:08:32 -03:00 |
Roberto Ierusalimschy
|
f8daddba50
|
added a compat option (although it will be off by default) to
the addition of '.0' to float->string conversions
|
2014-05-14 16:47:11 -03:00 |
Roberto Ierusalimschy
|
45c430eac0
|
addition of '.0' to float representation done by the kernel
|
2014-05-12 18:44:17 -03:00 |
Roberto Ierusalimschy
|
27d9219cf3
|
no more integer exponentiation
|
2014-05-12 18:22:05 -03:00 |
Roberto Ierusalimschy
|
12bd01c567
|
added comments to several functions
|
2014-05-12 16:13:32 -03:00 |
Roberto Ierusalimschy
|
06dc893f88
|
in 'for' loops, make the limit an integer whenever initial value and
step are integers
|
2014-05-09 11:20:52 -03:00 |
Roberto Ierusalimschy
|
c549d4fe64
|
'lua_strtonum' (and 'luaO_str2num') now return string size, instead of
receiving it
|
2014-05-01 15:18:06 -03:00 |
Roberto Ierusalimschy
|
ddff6ecf30
|
function 'limittointeger' no needed (now that 'tointeger_aux' handles
integers too)
|
2014-04-30 16:29:51 -03:00 |
Roberto Ierusalimschy
|
1a6ef098b0
|
'luaO_str2d' + 'luaO_str2int' replaced by 'luaO_str2num' plus proper
conversion from strings to integers
|
2014-04-30 13:50:16 -03:00 |
Roberto Ierusalimschy
|
b123a88673
|
merge of common parts from 'limittointeger' and 'luaV_tointeger_'
|
2014-04-29 17:06:05 -03:00 |
Roberto Ierusalimschy
|
ffa43df3cd
|
'setnvalue' -> 'setfltvalue' (for consitency with 'fltvalue')
|
2014-04-29 15:14:16 -03:00 |
Roberto Ierusalimschy
|
9c4398de8f
|
'for' loop tries to convert limit to integer when initial value and
step are integers
|
2014-04-29 15:11:57 -03:00 |
Roberto Ierusalimschy
|
e98ba351ce
|
n^-m gives float result (instead of error)
|
2014-04-27 11:41:11 -03:00 |
Roberto Ierusalimschy
|
037a70dfea
|
cast_u2s/cast_s2u renamed l_castS2U/l_castU2S to be configurable from
outside (mostly for testing)
|
2014-04-15 13:32:49 -03:00 |
Roberto Ierusalimschy
|
8f961da3db
|
macros cast_integer/cast_unsigned replaced by cast_u2s/cast_s2u, that
should be used only between lua_Integer and lua_Unsigned
|
2014-04-15 11:29:30 -03:00 |
Roberto Ierusalimschy
|
2771050dfa
|
'MIN/MAX_INTEGER' replaced by 'LUA_MIN/MAXINTEGER'
|
2014-04-11 16:02:16 -03:00 |
Roberto Ierusalimschy
|
a8aede68c7
|
new definition for 'luai_nummod' (using 'fmod')
|
2014-04-09 14:05:11 -03:00 |
Roberto Ierusalimschy
|
c7859a046d
|
using 'volatile' in 'tofloat' to ensure result has the same precision
(lua_Number) of other computations
|
2014-04-08 11:28:04 -03:00 |
Roberto Ierusalimschy
|
7d514af0bc
|
bug (in work version): comparisons should not try to convert
strings to numbers
|
2014-04-02 13:54:20 -03:00 |
Roberto Ierusalimschy
|
3d1c6730da
|
detail ('1U' -> '1u', like other unsigned constants in the code)
|
2014-03-31 16:18:24 -03:00 |
Roberto Ierusalimschy
|
ea69f17d98
|
macro 'tostring' is used only by 'luaV_concat'
|
2014-03-31 15:37:52 -03:00 |
Roberto Ierusalimschy
|
114d10cbc5
|
detail (comment)
|
2014-03-15 09:29:48 -03:00 |
Roberto Ierusalimschy
|
9f3f5b6f41
|
details
|
2014-03-14 13:54:08 -03:00 |
Roberto Ierusalimschy
|
cd12410195
|
new macro 'cast_void'
|
2014-03-07 13:19:00 -03:00 |
Roberto Ierusalimschy
|
5ff1c18a71
|
back with 'L' for macros 'luai_num*', but now with a new macro
'luai_numinvalidop' to protect constant folding
|
2014-03-06 13:15:18 -03:00 |
Roberto Ierusalimschy
|
d438e1379d
|
insertion of ".0" in floats with integer values done by "luaL_tolstring",
not by the core
|
2014-02-05 17:14:53 -02:00 |
Roberto Ierusalimschy
|
86dd8bf3f5
|
no more 'L' in macros "luai_num*" (several places that use those macros
cannot throw errors anyway...)
|
2014-01-27 11:34:32 -02:00 |
Roberto Ierusalimschy
|
0a850e641d
|
larger limit + better error messages for loop detection in inheritance
|
2014-01-22 18:02:04 -02:00 |
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
2013-12-30 18:47:58 -02:00 |
Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
2013-12-18 12:12:03 -02:00 |
Roberto Ierusalimschy
|
a8f8c7fd80
|
integer exponentiation with negative exponent is invalid
|
2013-12-16 12:30:22 -02:00 |
Roberto Ierusalimschy
|
26629d0af1
|
details (a few casts moved from macro invocation to macro definition)
|
2013-08-29 10:49:57 -03:00 |
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -03:00 |
Roberto Ierusalimschy
|
9eff921f8f
|
"barrier" for link prototype->cache changed to be consistent with
GC behavior (link is cleared to preserve invariant)
|
2013-08-19 11:18:43 -03:00 |
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
2013-08-16 15:55:49 -03:00 |
Roberto Ierusalimschy
|
2f8c51a552
|
use unsigneds for unary minus, too
|
2013-07-10 14:15:12 -03:00 |
Roberto Ierusalimschy
|
453450d687
|
new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
|
2013-06-20 12:02:49 -03:00 |
Roberto Ierusalimschy
|
130c0e40e0
|
new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible
from Lua; these must fit in a lua_Integer
|
2013-06-19 11:27:00 -03:00 |
Roberto Ierusalimschy
|
318575627f
|
avoid adding '.0' to "numbers" like "nan" and "inf"
|
2013-06-07 16:02:05 -03:00 |
Roberto Ierusalimschy
|
6fb0b11350
|
string contatenation handles conversion of integers to strings +
floats always format as floats (with decimal dot or exponent)
|
2013-06-04 16:36:42 -03:00 |
Roberto Ierusalimschy
|
d630daca1a
|
"legal" way to convert a float to an integer in C
|
2013-05-27 09:43:37 -03:00 |
Roberto Ierusalimschy
|
8c883cb4e8
|
'objlen' can return integers
|
2013-05-26 11:47:51 -03:00 |
Roberto Ierusalimschy
|
b22a4280c6
|
macro 'nvalue' removed + cast to void added to avoid warnings
with 'clang'
|
2013-05-06 14:17:09 -03:00 |
Roberto Ierusalimschy
|
6920a7f2e3
|
new macro 'intop' (to perform integer arithmetic on unsigned types)
|
2013-05-02 09:31:26 -03:00 |
Roberto Ierusalimschy
|
88bf2f83c0
|
new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM'
|
2013-04-29 14:12:50 -03:00 |
Roberto Ierusalimschy
|
360587f319
|
favoring 'tonumber' over 'nvalue'
|
2013-04-26 16:51:17 -03:00 |
Roberto Ierusalimschy
|
f79584faca
|
detail
|
2013-04-26 13:06:53 -03:00 |
Roberto Ierusalimschy
|
4abe99dc34
|
new interface for 'tonumber'
|
2013-04-26 13:03:50 -03:00 |
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
2013-04-26 10:08:29 -03:00 |
Roberto Ierusalimschy
|
bb1851ce98
|
'for' loop uses integers when possible
|
2013-04-25 16:50:02 -03:00 |
Roberto Ierusalimschy
|
e381c582de
|
integer handling for order comparisons, power, and modulo operations
|
2013-04-25 16:12:41 -03:00 |
Roberto Ierusalimschy
|
9600c60df3
|
functions 'get_equalTM' and 'call_orderTM' moved to other files
to make 'lvm.c' smaller
|
2013-04-25 13:07:52 -03:00 |
Roberto Ierusalimschy
|
32bf6c9b27
|
functions 'traceexec', 'callTM', and 'call_binTM' moved to other
files to make 'lvm.c' a little smaller
|
2013-04-25 12:59:42 -03:00 |
Roberto Ierusalimschy
|
d4f0c4435d
|
a few more operations supporting integers (minus, umin, mult)
|
2013-04-16 15:43:05 -03:00 |
Roberto Ierusalimschy
|
07f861385e
|
first steps in the support of integers: basic representation + table indexing + basic API ops (tointeger/pushinteger) + equality + a few extra stuff
|
2013-04-15 12:44:46 -03:00 |
Roberto Ierusalimschy
|
8f8665fffa
|
'ttypenv' -> 'ttnov'
|
2013-04-12 16:07:09 -03:00 |
Roberto Ierusalimschy
|
75250a237c
|
typos in comments
|
2013-03-16 18:10:18 -03:00 |
Roberto Ierusalimschy
|
a3e1c40d6d
|
remove of unecessary luaD_checkstack. (In some cases, C should
ensure stack space; in others, Lua can use the extra slots for
temporary values.)
|
2012-08-16 14:34:28 -03:00 |
Roberto Ierusalimschy
|
53480f1163
|
details (remove of some extra spaces)
|
2012-08-14 15:12:34 -03:00 |
Roberto Ierusalimschy
|
cc2a60ecb7
|
bugs in yields inside debug hooks
|
2012-06-08 12:14:04 -03:00 |
Roberto Ierusalimschy
|
5654763797
|
macro 'checkGC' takes care of setting 'top' to limit stack live values
|
2012-05-14 14:50:49 -03:00 |
Roberto Ierusalimschy
|
3cadc37f47
|
no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
|
2012-05-08 10:53:33 -03:00 |
Roberto Ierusalimschy
|
a4b96ce9a3
|
first implementation of long strings
|
2012-01-25 19:05:40 -02:00 |
Roberto Ierusalimschy
|
9f1a8dbdd3
|
'eqstr' -> 'luaS_eqstr'
|
2012-01-23 21:05:18 -02:00 |
Roberto Ierusalimschy
|
c82087b8dd
|
cast from 'bool' to 'int' (for C++)
|
2011-12-07 12:43:55 -02:00 |
Roberto Ierusalimschy
|
8c62bde36f
|
comment
|
2011-11-29 13:54:38 -02:00 |
Roberto Ierusalimschy
|
8119374e74
|
avoid warnings of unreacheable 'break's
|
2011-11-28 15:25:16 -02:00 |
Roberto Ierusalimschy
|
217e67cb22
|
new type 'l_noret' for function that do not return
|
2011-10-07 17:45:19 -03:00 |