BitwuzlaOptions

A Bitwuzla instance is created from a configuration options BitwuzlaOptions instance via bitwuzla_options_new(), and must be released via bitwuzla_options_delete().

Note

This options instance must be configured before creating the Bitwuzla instance. After the Bitwuzla instance is created, configuration options are fixed and cannot be changed.

Boolean and numeric options are configured via bitwuzla_set_option(), and options with option modes are configured via bitwuzla_set_option_mode(). The option kind is defined via BitwuzlaOption. A comprehensive list of all configurable options is available here.

More information on and an example for how to configure and query configuration options is here.

Note

Some options are labeled as “expert” options. Use with caution.



typedef struct BitwuzlaOptions BitwuzlaOptions

The Bitwuzla configuration options.


BitwuzlaOptions *bitwuzla_options_new()

Create a new BitwuzlaOptions instance.

The returned instance must be deleted via bitwuzla_options_delete().

Returns:

A pointer to the created BitwuzlaOptions instance.

void bitwuzla_options_delete(BitwuzlaOptions *options)

Delete a BitwuzlaOptions instance.

The given instance must have been created via bitwuzla_options_new().

Parameters:

options – The BitwuzlaOptions instance to delete.

bool bitwuzla_option_is_valid(BitwuzlaOptions *options, const char *name)

Determine if given string is a valid short or long option name.

Parameters:
  • options – The Bitwuzla options instance.

  • name – The name.

Returns:

True if given string is a option name.

bool bitwuzla_option_is_numeric(BitwuzlaOptions *options, BitwuzlaOption option)

Determine if a given option is a numeric (or Boolean) option.

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

Returns:

True if the given option is a numeric or Boolean option.

bool bitwuzla_option_is_mode(BitwuzlaOptions *options, BitwuzlaOption option)

Determine if a given option is an option with a mode

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

Returns:

True if the given option is an option with a mode.

void bitwuzla_set_option(BitwuzlaOptions *options, BitwuzlaOption option, uint64_t val)

Set option.

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

  • val – The option value.

void bitwuzla_set_option_mode(BitwuzlaOptions *options, BitwuzlaOption option, const char *val)

Set option mode for options with modes.

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

  • val – The option string value.

uint64_t bitwuzla_get_option(BitwuzlaOptions *options, BitwuzlaOption option)

Get the current value of an option.

See also

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

Returns:

The option value.

const char *bitwuzla_get_option_mode(BitwuzlaOptions *options, BitwuzlaOption option)

Get the current mode of an option as a string if option has modes.

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

Returns:

The option value.

void bitwuzla_get_option_info(BitwuzlaOptions *options, BitwuzlaOption option, BitwuzlaOptionInfo *info)

Get the details of an option.

Parameters:
  • options – The Bitwuzla options instance.

  • option – The option.

  • info – The option info to populate, will be valid until the next bitwuzla_get_option_info call.