lean4-htt/src/library/vm/vm_uint.cpp

81 lines
4.4 KiB
C++

/*
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Author: Leonardo de Moura
*/
#include "library/vm/vm.h"
namespace lean {
static vm_obj dummy_unary_op(vm_obj const &) {
throw exception("uint support has not been implemented in the old VM");
}
static vm_obj dummy_binary_op(vm_obj const &, vm_obj const &) {
throw exception("uint support has not been implemented in the old VM");
}
void initialize_vm_uint() {
DECLARE_VM_BUILTIN(name({"uint8", "of_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint8", "to_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint8", "add"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "sub"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "mul"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "div"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "mod"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "modn"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "dec_eq"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "dec_lt"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint8", "dec_le"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "of_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint16", "to_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint16", "add"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "sub"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "mul"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "div"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "mod"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "modn"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "dec_eq"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "dec_lt"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint16", "dec_le"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "of_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint32", "to_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint32", "add"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "sub"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "mul"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "div"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "mod"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "modn"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "dec_eq"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "dec_lt"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint32", "dec_le"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "of_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint64", "to_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"uint64", "add"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "sub"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "mul"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "div"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "mod"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "modn"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "dec_eq"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "dec_lt"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"uint64", "dec_le"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "of_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"usize", "to_nat"}), dummy_unary_op);
DECLARE_VM_BUILTIN(name({"usize", "add"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "sub"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "mul"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "div"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "mod"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "modn"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "dec_eq"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "dec_lt"}), dummy_binary_op);
DECLARE_VM_BUILTIN(name({"usize", "dec_le"}), dummy_binary_op);
}
void finalize_vm_uint() {
}
}