:- module bit_buffer.
:- pragma termination_info(bit_buffer.new_buffer((builtin.in), (builtin.in), (builtin.in), (builtin.in), (builtin.in), (builtin.in)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.new_buffer_2((builtin.in), (builtin.in), (builtin.in), (builtin.in), (builtin.in), (builtin.in), (builtin.in)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.bitmap((bit_buffer.bit_buffer_ui)) = (bitmap.bitmap_uo), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.pos((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.size((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.use_stream((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.stream((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.state((bit_buffer.bit_buffer_ui)) = (builtin.uo), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.filled_bitmaps((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.read_status((bit_buffer.bit_buffer_ui)) = (builtin.out), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.set_all((bitmap.bitmap_di), (builtin.in), (builtin.in), (builtin.di), (builtin.in), (bit_buffer.bit_buffer_di), (bit_buffer.bit_buffer_uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.set_bitmap((bitmap.bitmap_di), (builtin.in), (bit_buffer.bit_buffer_di), (bit_buffer.bit_buffer_uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.set_state((builtin.di), (bit_buffer.bit_buffer_di), (bit_buffer.bit_buffer_uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.set_use_stream((builtin.in), (bit_buffer.bit_buffer_di), (bit_buffer.bit_buffer_uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.set_read_status((builtin.in), (bit_buffer.bit_buffer_di), (bit_buffer.bit_buffer_uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.'ClassMethod_for_stream__bulk_reader____bit_buffer__error_stream__arity0__int__arity0__bitmap__bitmap__arity0__bit_buffer__error_state__arity0__bit_buffer__error_stream_error__arity0______stream__bulk_get_9'((builtin.in), (builtin.in), (builtin.in), (stream.bulk_get_di), (stream.bulk_get_uo), (builtin.out), (builtin.out), (builtin.di), (builtin.uo)), finite(1, [no, no, no, yes, no, no, no, yes, no]), cannot_loop).
:- pragma termination_info(bit_buffer.'ClassMethod_for_stream__error____bit_buffer__error_stream_error__arity0______stream__error_message_1'((builtin.in)) = (builtin.out), finite(0, [no, no]), cannot_loop).
:- pragma termination_info(bit_buffer.'ClassMethod_for_stream__output____bit_buffer__error_stream__arity0__bit_buffer__error_state__arity0______stream__flush_3'((builtin.in), (builtin.di), (builtin.uo)), infinite, cannot_loop).
:- pragma termination_info(bit_buffer.'ClassMethod_for_stream__stream____bit_buffer__error_stream__arity0__bit_buffer__error_state__arity0______stream__name_4'((builtin.in), (builtin.out), (builtin.di), (builtin.uo)), finite(0, [no, no, yes, no]), cannot_loop).
:- pragma termination_info(bit_buffer.'ClassMethod_for_stream__writer____bit_buffer__error_stream__arity0__bitmap__slice__arity0__bit_buffer__error_state__arity0______stream__put_4'((builtin.in), (builtin.in), (builtin.di), (builtin.uo)), infinite, cannot_loop).
:- pragma exceptions(function, (bit_buffer.new_buffer), 7, 0, may_throw(user_exception)).
:- pragma exceptions(function, (bit_buffer.new_buffer_2), 8, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.bitmap), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.pos), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.size), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.use_stream), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.stream), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.state), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.filled_bitmaps), 2, 0, will_not_throw).
:- pragma exceptions(function, (bit_buffer.read_status), 2, 0, will_not_throw).
:- pragma exceptions(predicate, (bit_buffer.set_all), 7, 0, will_not_throw).
:- pragma exceptions(predicate, (bit_buffer.set_bitmap), 4, 0, will_not_throw).
:- pragma exceptions(predicate, (bit_buffer.set_state), 3, 0, will_not_throw).
:- pragma exceptions(predicate, (bit_buffer.set_use_stream), 3, 0, will_not_throw).
:- pragma exceptions(predicate, (bit_buffer.set_read_status), 3, 0, will_not_throw).
