root/lj_carith.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2 ** C data arithmetic.
   3 ** Copyright (C) 2005-2017 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

/* [<][>][^][v][top][bottom][index][help] */