> For the complete documentation index, see [llms.txt](https://calnix.gitbook.io/eth-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://calnix.gitbook.io/eth-dev/foundry/testing/assume-vs-bound.md).

# assume vs bound

* Supposed to use bound for most things,
* Only use vm.assume for very narrow checks

For broad checks, such as ensuring a `uint256` falls within a certain range, you can bound your input with the modulo operator or Forge Standard's [`bound`](https://book.getfoundry.sh/reference/forge-std/bound.html) method.

\
<https://book.getfoundry.sh/cheatcodes/assume.html>
