aboutsummaryrefslogtreecommitdiff
path: root/luaconf.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-02-05 15:15:33 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-02-05 15:15:33 -0200
commitc8d6cb01365780367f949a94b29bb3f043744c0e (patch)
tree7a70fb480a12b656771efcea82ea07ac9c863d3a /luaconf.h
parent0edcdf49c00b70986f3efc12ceae912db2361d67 (diff)
downloadlua-c8d6cb01365780367f949a94b29bb3f043744c0e.tar.gz
lua-c8d6cb01365780367f949a94b29bb3f043744c0e.tar.bz2
lua-c8d6cb01365780367f949a94b29bb3f043744c0e.zip
macros 'luai_num*' (for float arithmetic operations) moved to
llimits.h.
Diffstat (limited to 'luaconf.h')
-rw-r--r--luaconf.h42
1 files changed, 1 insertions, 41 deletions
diff --git a/luaconf.h b/luaconf.h
index b1ec3f9c..b883910d 100644
--- a/luaconf.h
+++ b/luaconf.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: luaconf.h,v 1.243 2015/02/04 12:52:57 roberto Exp roberto $ 2** $Id: luaconf.h,v 1.244 2015/02/05 16:53:34 roberto Exp roberto $
3** Configuration file for Lua 3** Configuration file for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -466,46 +466,6 @@
466 (*(p) = (LUA_INTEGER)(n), 1)) 466 (*(p) = (LUA_INTEGER)(n), 1))
467 467
468 468
469/*
470@@ The luai_num* macros define the primitive operations over numbers.
471** They should work for any size of floating numbers.
472*/
473
474/* the following operations need the math library */
475#if defined(lobject_c) || defined(lvm_c)
476#include <math.h>
477
478/* floor division (defined as 'floor(a/b)') */
479#define luai_numidiv(L,a,b) ((void)L, l_mathop(floor)(luai_numdiv(L,a,b)))
480
481/*
482** module: defined as 'a - floor(a/b)*b'; the previous definition gives
483** NaN when 'b' is huge, but the result should be 'a'. 'fmod' gives the
484** result of 'a - trunc(a/b)*b', and therefore must be corrected when
485** 'trunc(a/b) ~= floor(a/b)'. That happens when the division has a
486** non-integer negative result, which is equivalent to the test below
487*/
488#define luai_nummod(L,a,b,m) \
489 { (m) = l_mathop(fmod)(a,b); if ((m)*(b) < 0) (m) += (b); }
490
491/* exponentiation */
492#define luai_numpow(L,a,b) ((void)L, l_mathop(pow)(a,b))
493
494#endif
495
496/* these are quite standard operations */
497#if defined(LUA_CORE)
498#define luai_numadd(L,a,b) ((a)+(b))
499#define luai_numsub(L,a,b) ((a)-(b))
500#define luai_nummul(L,a,b) ((a)*(b))
501#define luai_numdiv(L,a,b) ((a)/(b))
502#define luai_numunm(L,a) (-(a))
503#define luai_numeq(a,b) ((a)==(b))
504#define luai_numlt(a,b) ((a)<(b))
505#define luai_numle(a,b) ((a)<=(b))
506#define luai_numisnan(a) (!luai_numeq((a), (a)))
507#endif
508
509 469
510/* 470/*
511@@ LUA_INTEGER is the integer type used by Lua. 471@@ LUA_INTEGER is the integer type used by Lua.