int main () { //these work fine - functions given by Allen Hashable *hashable1 = make_hashable_int (1); Hashable *hashable2 = make_hashable_string ("Allen"); Hashable *hashable3 = make_hashable_int (2); // make_int_value also given Value *value1 = make_int_value (17); //failing here! Node *node1 = make_node(hashable1, value1, NULL); fprintf(stdout, "Print node:\n"); print_node (node1); Value *value2 = make_string_value ("Downey"); Node *list = prepend(hashable2, value2, node1); fprintf(stdout, "Print list:\n"); print_list (list); // run some test lookups Value *value = list_lookup (list, hashable1); fprintf(stdout, "List lookup:\n"); print_lookup(value); fprintf(stdout, "List lookup:\n"); value = list_lookup (list, hashable2); print_lookup(value); fprintf(stdout, "List lookup:\n"); value = list_lookup (list, hashable3); print_lookup(value); // make a map Map *map = make_map(10); map_add(map, hashable1, value1); map_add(map, hashable2, value2); printf ("Map\n"); print_map(map); // run some test lookups value = map_lookup(map, hashable1); print_lookup(value); value = map_lookup(map, hashable2); print_lookup(value); value = map_lookup(map, hashable3); print_lookup(value); return 0; }
int main () { Hashable *hashable1 = make_hashable_int (1); Hashable *hashable2 = make_hashable_string ("Allen"); Hashable *hashable3 = make_hashable_int (2); // make a list by hand Value *value1 = make_int_value (17); Node *node1 = make_node(hashable1, value1, NULL); print_node (node1); Value *value2 = make_string_value ("Downey"); Node *list = prepend(hashable2, value2, node1); print_list (list); // run some test lookups Value *value = list_lookup (list, hashable1); print_lookup(value); value = list_lookup (list, hashable2); print_lookup(value); value = list_lookup (list, hashable3); print_lookup(value); // make a map Map *map = make_map(10); map_add(map, hashable1, value1); map_add(map, hashable2, value2); printf ("Map\n"); print_map(map); // run some test lookups value = map_lookup(map, hashable1); print_lookup(value); value = map_lookup(map, hashable2); print_lookup(value); value = map_lookup(map, hashable3); print_lookup(value); return 0; }