void goal::copy_to(goal & target) const { SASSERT(&m_manager == &(target.m_manager)); if (this == &target) return; m().copy(m_forms, target.m_forms); m().copy(m_proofs, target.m_proofs); m().copy(m_dependencies, target.m_dependencies); target.m_depth = std::max(m_depth, target.m_depth); SASSERT(target.m_proofs_enabled == m_proofs_enabled); SASSERT(target.m_core_enabled == m_core_enabled); target.m_inconsistent = m_inconsistent; target.m_precision = mk_union(prec(), target.prec()); }
int main(){ struct bitset *mybitset,* myotherbitset; /*Checking mybitset = bitset_new(17); //Make pointer from int without cast. What? myotherbitset = bitset_new(8); bitset_add(mybitset,2); bitset_add(mybitset,1); bitset_add(myotherbitset,4); printf("%d %d\n",mybitset->bits[0],bitset_lookup(mybitset,2)); printf("%d %d\n",mybitset->bits[0],bitset_lookup(mybitset,3)); struct bitset *setunion; setunion = mk_union(mybitset, myotherbitset); print_set(mybitset); print_set(myotherbitset); print_set(setunion); //End checking*/ /*This block creates two sets and reads in two strings It the puts the strings in the set */ struct bitset *one,*two; char input1[MAX],input2[MAX]; printf("First sentace plox: \n"); fgets(input1,MAX,stdin); one = parse_string(input1); printf("Second sentance plox\n"); fgets(input2,MAX,stdin); two = parse_string(input2); printf("Line 1\n\n"); print_set(one); printf("Line 2\n\n"); print_set(two); struct bitset * setunion; setunion = mk_union(one,two); printf("\nUnion:\n"); print_set(setunion); struct bitset * intersection; intersection = intersect(one,two); printf("\nIntersetion:\n"); print_set(intersection); return 0; }