tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

FStar_UInt128.h (2688B)


      1 /*
      2  Copyright (c) INRIA and Microsoft Corporation. All rights reserved.
      3  Licensed under the Apache 2.0 and MIT Licenses.
      4 */
      5 
      6 #ifndef FStar_UInt128_H
      7 #define FStar_UInt128_H
      8 
      9 #include <inttypes.h>
     10 #include <stdbool.h>
     11 #include "krml/internal/compat.h"
     12 #include "krml/lowstar_endianness.h"
     13 #include "krml/internal/types.h"
     14 #include "krml/internal/target.h"
     15 
     16 static inline FStar_UInt128_uint128
     17 FStar_UInt128_add(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     18 
     19 static inline FStar_UInt128_uint128
     20 FStar_UInt128_add_underspec(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     21 
     22 static inline FStar_UInt128_uint128
     23 FStar_UInt128_add_mod(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     24 
     25 static inline FStar_UInt128_uint128
     26 FStar_UInt128_sub(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     27 
     28 static inline FStar_UInt128_uint128
     29 FStar_UInt128_sub_underspec(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     30 
     31 static inline FStar_UInt128_uint128
     32 FStar_UInt128_sub_mod(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     33 
     34 static inline FStar_UInt128_uint128
     35 FStar_UInt128_logand(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     36 
     37 static inline FStar_UInt128_uint128
     38 FStar_UInt128_logxor(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     39 
     40 static inline FStar_UInt128_uint128
     41 FStar_UInt128_logor(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     42 
     43 static inline FStar_UInt128_uint128 FStar_UInt128_lognot(FStar_UInt128_uint128 a);
     44 
     45 static inline FStar_UInt128_uint128
     46 FStar_UInt128_shift_left(FStar_UInt128_uint128 a, uint32_t s);
     47 
     48 static inline FStar_UInt128_uint128
     49 FStar_UInt128_shift_right(FStar_UInt128_uint128 a, uint32_t s);
     50 
     51 static inline bool FStar_UInt128_eq(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     52 
     53 static inline bool FStar_UInt128_gt(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     54 
     55 static inline bool FStar_UInt128_lt(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     56 
     57 static inline bool FStar_UInt128_gte(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     58 
     59 static inline bool FStar_UInt128_lte(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     60 
     61 static inline FStar_UInt128_uint128
     62 FStar_UInt128_eq_mask(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     63 
     64 static inline FStar_UInt128_uint128
     65 FStar_UInt128_gte_mask(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b);
     66 
     67 static inline FStar_UInt128_uint128 FStar_UInt128_uint64_to_uint128(uint64_t a);
     68 
     69 static inline uint64_t FStar_UInt128_uint128_to_uint64(FStar_UInt128_uint128 a);
     70 
     71 static inline FStar_UInt128_uint128 FStar_UInt128_mul32(uint64_t x, uint32_t y);
     72 
     73 static inline FStar_UInt128_uint128 FStar_UInt128_mul_wide(uint64_t x, uint64_t y);
     74 
     75 #define FStar_UInt128_H_DEFINED
     76 #endif /* FStar_UInt128_H */