about summary refs log tree commit diff stats
path: root/cpp/030container.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/030container.cc')
-rw-r--r--cpp/030container.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/cpp/030container.cc b/cpp/030container.cc
index 0572b693..9de3aad7 100644
--- a/cpp/030container.cc
+++ b/cpp/030container.cc
@@ -83,25 +83,25 @@ Recipe_number["get"] = GET;
 case GET: {
   trace("run") << "ingredient 0 is " << current_instruction().ingredients[0].name;
   reagent base = current_instruction().ingredients[0];
-  int base_address = base.value;
-  int base_type = base.types[0];
+  index_t base_address = base.value;
+  type_number base_type = base.types[0];
   assert(Type[base_type].kind == container);
   trace("run") << "ingredient 1 is " << current_instruction().ingredients[1].name;
   assert(isa_literal(current_instruction().ingredients[1]));
   index_t offset = current_instruction().ingredients[1].value;
-  int src = base_address;
+  index_t src = base_address;
   for (index_t i = 0; i < offset; ++i) {
     src += size_of(Type[base_type].elements[i]);
   }
   trace("run") << "address to copy is " << src;
   assert(Type[base_type].kind == container);
   assert(Type[base_type].elements.size() > offset);
-  int src_type = Type[base_type].elements[offset][0];
+  type_number src_type = Type[base_type].elements[offset][0];
   trace("run") << "its type is " << src_type;
   reagent tmp;
   tmp.set_value(src);
   tmp.types.push_back(src_type);
-  vector<int> result(read_memory(tmp));
+  vector<long long int> result(read_memory(tmp));
   trace("run") << "product 0 is " << result[0];
   write_memory(current_instruction().products[0], result);
   break;
@@ -150,18 +150,18 @@ Recipe_number["get-address"] = GET_ADDRESS;
 case GET_ADDRESS: {
   trace("run") << "ingredient 0 is " << current_instruction().ingredients[0].name;
   reagent base = current_instruction().ingredients[0];
-  int base_address = base.value;
-  int base_type = base.types[0];
+  index_t base_address = base.value;
+  type_number base_type = base.types[0];
   assert(Type[base_type].kind == container);
   trace("run") << "ingredient 1 is " << current_instruction().ingredients[1].name;
   assert(isa_literal(current_instruction().ingredients[1]));
   index_t offset = current_instruction().ingredients[1].value;
-  int src = base_address;
+  index_t src = base_address;
   for (index_t i = 0; i < offset; ++i) {
     src += size_of(Type[base_type].elements[i]);
   }
   trace("run") << "address to copy is " << src;
-  vector<int> result;
+  vector<long long int> result;
   result.push_back(src);
   trace("run") << "product 0 is " << result[0];
   write_memory(current_instruction().products[0], result);