neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

conv.h (2246B)


      1 #ifndef MPACK_CONV_H
      2 #define MPACK_CONV_H
      3 
      4 #include "mpack_core.h"
      5 
      6 #if ULLONG_MAX == 0xffffffffffffffff
      7 typedef long long mpack_sintmax_t;
      8 typedef unsigned long long mpack_uintmax_t;
      9 #elif UINT64_MAX == 0xffffffffffffffff
     10 typedef int64_t mpack_sintmax_t;
     11 typedef uint64_t mpack_uintmax_t;
     12 #else
     13 typedef mpack_sint32_t mpack_sintmax_t;
     14 typedef mpack_uint32_t mpack_uintmax_t;
     15 #endif
     16 
     17 MPACK_API mpack_token_t mpack_pack_nil(void) FUNUSED FPURE;
     18 MPACK_API mpack_token_t mpack_pack_boolean(unsigned v) FUNUSED FPURE;
     19 MPACK_API mpack_token_t mpack_pack_uint(mpack_uintmax_t v) FUNUSED FPURE;
     20 MPACK_API mpack_token_t mpack_pack_sint(mpack_sintmax_t v) FUNUSED FPURE;
     21 MPACK_API mpack_token_t mpack_pack_float_compat(double v) FUNUSED FPURE;
     22 MPACK_API mpack_token_t mpack_pack_float_fast(double v) FUNUSED FPURE;
     23 MPACK_API mpack_token_t mpack_pack_number(double v) FUNUSED FPURE;
     24 MPACK_API mpack_token_t mpack_pack_chunk(const char *p, mpack_uint32_t l)
     25  FUNUSED FPURE FNONULL;
     26 MPACK_API mpack_token_t mpack_pack_str(mpack_uint32_t l) FUNUSED FPURE;
     27 MPACK_API mpack_token_t mpack_pack_bin(mpack_uint32_t l) FUNUSED FPURE;
     28 MPACK_API mpack_token_t mpack_pack_ext(int type, mpack_uint32_t l)
     29  FUNUSED FPURE;
     30 MPACK_API mpack_token_t mpack_pack_array(mpack_uint32_t l) FUNUSED FPURE;
     31 MPACK_API mpack_token_t mpack_pack_map(mpack_uint32_t l) FUNUSED FPURE;
     32 MPACK_API bool mpack_unpack_boolean(mpack_token_t t) FUNUSED FPURE;
     33 MPACK_API mpack_uintmax_t mpack_unpack_uint(mpack_token_t t) FUNUSED FPURE;
     34 MPACK_API mpack_sintmax_t mpack_unpack_sint(mpack_token_t t) FUNUSED FPURE;
     35 MPACK_API double mpack_unpack_float_fast(mpack_token_t t) FUNUSED FPURE;
     36 MPACK_API double mpack_unpack_float_compat(mpack_token_t t) FUNUSED FPURE;
     37 MPACK_API double mpack_unpack_number(mpack_token_t t) FUNUSED FPURE;
     38 
     39 /* The mpack_{pack,unpack}_float_fast functions should work in 99% of the
     40 * platforms. When compiling for a platform where floats don't use ieee754 as
     41 * the internal format, pass
     42 * -Dmpack_{pack,unpack}_float=mpack_{pack,unpack}_float_compat to the
     43 *  compiler.*/
     44 #ifndef mpack_pack_float
     45 # define mpack_pack_float mpack_pack_float_fast
     46 #endif
     47 #ifndef mpack_unpack_float
     48 # define mpack_unpack_float mpack_unpack_float_fast
     49 #endif
     50 
     51 #endif  /* MPACK_CONV_H */