ljx

FORK: LuaJIT with native 5.2 and 5.3 support
git clone https://git.neptards.moe/neptards/ljx.git
Log | Files | Refs | README

lj_carith.h (1123B)


      1 /*
      2 ** C data arithmetic.
      3 ** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
      4 */
      5 
      6 #ifndef _LJ_CARITH_H
      7 #define _LJ_CARITH_H
      8 
      9 #include "lj_obj.h"
     10 
     11 #if LJ_HASFFI
     12 
     13 LJ_FUNC int lj_carith_op(lua_State *L, MMS mm);
     14 
     15 #if LJ_32
     16 LJ_FUNC uint64_t lj_carith_shl64(uint64_t x, int32_t sh);
     17 LJ_FUNC uint64_t lj_carith_shr64(uint64_t x, int32_t sh);
     18 LJ_FUNC uint64_t lj_carith_sar64(uint64_t x, int32_t sh);
     19 LJ_FUNC uint64_t lj_carith_rol64(uint64_t x, int32_t sh);
     20 LJ_FUNC uint64_t lj_carith_ror64(uint64_t x, int32_t sh);
     21 #endif
     22 LJ_FUNC uint64_t lj_carith_shift64(uint64_t x, int32_t sh, int op);
     23 LJ_FUNC uint64_t lj_carith_check64(lua_State *L, int narg, CTypeID *id);
     24 
     25 #if LJ_32 && LJ_HASJIT
     26 LJ_FUNC int64_t lj_carith_mul64(int64_t x, int64_t k);
     27 #endif
     28 LJ_FUNC uint64_t lj_carith_divu64(uint64_t a, uint64_t b);
     29 LJ_FUNC int64_t lj_carith_divi64(int64_t a, int64_t b);
     30 LJ_FUNC uint64_t lj_carith_modu64(uint64_t a, uint64_t b);
     31 LJ_FUNC int64_t lj_carith_modi64(int64_t a, int64_t b);
     32 LJ_FUNC uint64_t lj_carith_powu64(uint64_t x, uint64_t k);
     33 LJ_FUNC int64_t lj_carith_powi64(int64_t x, int64_t k);
     34 
     35 #endif
     36 
     37 #endif