1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

95 lines
5.6 KiB
MiniZinc

/***
@groupdef stdlib.debug Assertions and debugging functions
These functions help debug models and check that input data conforms to
the expectations.
*/
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function $T: assert(bool: b, string: msg, $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function opt $T: assert(bool: b, string: msg, opt $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function var $T: assert(bool: b, string: msg, var $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function var opt $T: assert(bool: b, string: msg, var opt $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function array[$U] of $T: assert(bool: b, string: msg, array[$U] of $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function array[$U] of opt $T: assert(bool: b, string: msg, array[$U] of opt $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function array[$U] of var $T: assert(bool: b, string: msg, array[$U] of var $T: x);
/** @group stdlib.debug If \a b is true, return \a x, otherwise abort with message \a msg. */
function array[$U] of var opt $T: assert(bool: b, string: msg, array[$U] of var opt $T: x);
/** @group stdlib.debug If \a b is true, return true, otherwise abort with message \a msg. */
function bool: assert(bool: b, string: msg);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function $T: trace(string: msg, $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function opt $T: trace(string: msg, opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function var $T: trace(string: msg, var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function var opt $T: trace(string: msg, var opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of $T: trace(string: msg, array [$U] of $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of opt $T: trace(string: msg, array [$U] of opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of var $T: trace(string: msg, array [$U] of var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of var opt $T: trace(string: msg, array [$U] of var opt $T: x);
/** @group stdlib.debug Return true, and print message \a msg. */
function bool: trace(string: msg);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function $T: trace_stdout(string: msg, $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function opt $T: trace_stdout(string: msg, opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function var $T: trace_stdout(string: msg, var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function var opt $T: trace_stdout(string: msg, var opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of $T: trace_stdout(string: msg, array [$U] of $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of opt $T: trace_stdout(string: msg, array [$U] of opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of var $T: trace_stdout(string: msg, array [$U] of var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg. */
function array [$U] of var opt $T: trace_stdout(string: msg, array [$U] of var opt $T: x);
/** @group stdlib.debug Return true, and print message \a msg. */
function bool: trace_stdout(string: msg);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function $T: trace_logstream(string: msg, $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function opt $T: trace_logstream(string: msg, opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function var $T: trace_logstream(string: msg, var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function var opt $T: trace_logstream(string: msg, var opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function array [$U] of $T: trace_logstream(string: msg, array [$U] of $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function array [$U] of opt $T: trace_logstream(string: msg, array [$U] of opt $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function array [$U] of var $T: trace_logstream(string: msg, array [$U] of var $T: x);
/** @group stdlib.debug Return \a x, and print message \a msg to logging stream. */
function array [$U] of var opt $T: trace_logstream(string: msg, array [$U] of var opt $T: x);
/** @group stdlib.debug Return true, and print message \a msg to logging stream. */
function bool: trace_logstream(string: msg);
/** @group stdlib.debug Return logging stream as string */
function string: logstream_to_string();
/** @group stdlib.debug With debug build of the MiniZinc compiler, call
MiniZinc::mzn_break_here when flattening this expression to make
debugging easier. This annotation is ignored by the release build. */
annotation mzn_break_here;
/** @group stdlib.debug Abort evaluation and print message \a msg. */
function bool: abort(string: msg);