1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2017 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) type t = | Int31head0 | Int31tail0 | Int31add | Int31sub | Int31mul | Int31div | Int31mod (* | Int31lsr | Int31lsl *) | Int31land | Int31lor | Int31lxor | Int31addc | Int31subc | Int31addcarryc | Int31subcarryc | Int31mulc | Int31diveucl | Int31div21 | Int31addmuldiv | Int31eq | Int31lt | Int31le | Int31compare let hash = function | Int31head0 -> 1 | Int31tail0 -> 2 | Int31add -> 3 | Int31sub -> 4 | Int31mul -> 5 | Int31div -> 6 | Int31mod -> 7 (* | Int31lsr -> 8 | Int31lsl -> 9 *) | Int31land -> 10 | Int31lor -> 11 | Int31lxor -> 12 | Int31addc -> 13 | Int31subc -> 14 | Int31addcarryc -> 15 | Int31subcarryc -> 16 | Int31mulc -> 17 | Int31diveucl -> 18 | Int31div21 -> 19 | Int31addmuldiv -> 20 | Int31eq -> 21 | Int31lt -> 22 | Int31le -> 23 | Int31compare -> 24 let to_string = function | Int31head0 -> "head0" | Int31tail0 -> "tail0" | Int31add -> "add" | Int31sub -> "sub" | Int31mul -> "mul" | Int31div -> "div" | Int31mod -> "mod" (* | Int31lsr -> "l_sr" | Int31lsl -> "l_sl" *) | Int31land -> "l_and" | Int31lor -> "l_or" | Int31lxor -> "l_xor" | Int31addc -> "addc" | Int31subc -> "subc" | Int31addcarryc -> "addcarryc" | Int31subcarryc -> "subcarryc" | Int31mulc -> "mulc" | Int31diveucl -> "diveucl" | Int31div21 -> "div21" | Int31addmuldiv -> "addmuldiv" | Int31eq -> "eq" | Int31lt -> "lt" | Int31le -> "le" | Int31compare -> "compare"