1 Runtime checks {#checks}
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).
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.
13 Runtime checks can also be turned on and off
14 globally at runtime
using IMP::set_check_level()
15 or
for individual objects.
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).