IMP logo
IMP Manual  for IMP version 2.16.0
checks.md
1 Runtime checks {#checks}
2 ==============
3 
4 %IMP implements lots of runtime checks to ensure that
5  - it is being used correctly (`USAGE` checks); for example, input parameters
6  are checked to make sure they are within the expected range.
7  - it is working correctly (`INTERNAL` or debug checks).
8 
9 The maximum check level is set [when IMP is built](@ref cmake_config). It is
10 generally recommended to build with only `USAGE` checks, since `INTERNAL`
11 checks typically result in much slower code.
12 
13 Runtime checks can also be turned on and off
14 globally at runtime using IMP::set_check_level()
15 or for individual objects.
16 
17 Note that while it is possible to turn off `USAGE` checks it is generally
18 not recommended. If %IMP runs markedly more slowly with `USAGE` checks turned
19 on, then this is a bug and [it should be reported](@ref bugs).