:- module version_bitmap.
:- pragma termination_info(version_bitmap.init((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.num_bits((builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.set((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.set((builtin.in), (builtin.in), (builtin.out)), infinite, can_loop).
:- pragma termination_info(version_bitmap.clear((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.clear((builtin.in), (builtin.in), (builtin.out)), infinite, can_loop).
:- pragma termination_info(version_bitmap.flip((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.flip((builtin.in), (builtin.in), (builtin.out)), infinite, can_loop).
:- pragma termination_info(version_bitmap.is_set((builtin.in), (builtin.in)), finite(0, [no, no]), can_loop).
:- pragma termination_info(version_bitmap.is_clear((builtin.in), (builtin.in)), finite(0, [no, no]), can_loop).
:- pragma termination_info(version_bitmap.bit((builtin.in), (builtin.in)) = (builtin.out), finite(0, [no, no, no]), can_loop).
:- pragma termination_info(version_bitmap.'bit :='((builtin.in), (builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.copy((builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.complement((builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.union((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.intersect((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.difference((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.xor((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.resize((builtin.in), (builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.resize((builtin.in), (builtin.in), (builtin.in), (builtin.out)), infinite, can_loop).
:- pragma termination_info(version_bitmap.unsafe_rewind((builtin.in)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(version_bitmap.unsafe_rewind((builtin.in), (builtin.out)), infinite, cannot_loop).
:- pragma termination_info(version_bitmap.clear_filler_bits((builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma termination_info(version_bitmap.complement_2((builtin.in), (builtin.in)) = (builtin.out), infinite, can_loop).
:- pragma exceptions(function, (version_bitmap.init), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.num_bits), 2, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.set), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.set), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.clear), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.clear), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.flip), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.flip), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.is_set), 2, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.is_clear), 2, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.bit), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.'bit :='), 4, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.copy), 2, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.complement), 2, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.union), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.intersect), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.difference), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.xor), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.resize), 4, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (version_bitmap.resize), 4, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.unsafe_rewind), 2, 0, will_not_throw).
:- pragma exceptions(predicate, (version_bitmap.unsafe_rewind), 2, 0, will_not_throw).
:- pragma exceptions(function, (version_bitmap.clear_filler_bits), 2, 0, may_throw(user_exception)).
:- pragma exceptions(function, (version_bitmap.complement_2), 3, 0, may_throw(user_exception)).
