81 lines
4.4 KiB
C++
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() {
|
|
}
|
|
}
|