* Fake modules for Rust std lib functions Signed-off-by: Nick Cameron <nrc@ncameron.org> * Include the missing @ in Rust std lib fns Signed-off-by: Nick Cameron <nrc@ncameron.org> * Move revolve and mirror2d to better modules Signed-off-by: Nick Cameron <nrc@ncameron.org> * Use docs from KCL mods for type summaries Signed-off-by: Nick Cameron <nrc@ncameron.org> * Use type docs to describe types from KCL std lib Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
28 KiB
28 KiB
title, excerpt, layout
title | excerpt | layout |
---|---|---|
std::assert | Check a value meets some expected conditions at runtime. Program terminates with an error if conditions aren't met. If you provide multiple conditions, they will all be checked and all must be met. | manual |
Check a value meets some expected conditions at runtime. Program terminates with an error if conditions aren't met. If you provide multiple conditions, they will all be checked and all must be met.
assert(
@actual: number,
isGreaterThan?: number,
isLessThan?: number,
isGreaterThanOrEqual?: number,
isLessThanOrEqual?: number,
isEqualTo?: number,
tolerance?: number,
error?: string,
): ()
Arguments
Name | Type | Description | Required |
---|---|---|---|
actual |
number |
Value to check. It will be compared with one of the comparison arguments. | Yes |
isGreaterThan |
number |
Comparison argument. If given, checks the actual value is greater than this. |
No |
isLessThan |
number |
Comparison argument. If given, checks the actual value is less than this. |
No |
isGreaterThanOrEqual |
number |
Comparison argument. If given, checks the actual value is greater than or equal to this. |
No |
isLessThanOrEqual |
number |
Comparison argument. If given, checks the actual value is less than or equal to this. |
No |
isEqualTo |
number |
Comparison argument. If given, checks the actual value is less than or equal to this. |
No |
tolerance |
number |
If isEqualTo is used, this is the tolerance to allow for the comparison. This tolerance is used because KCL's number system has some floating-point imprecision when used with very large decimal places. |
No |
error |
string |
If the value was false, the program will terminate with this error message | No |
Returns
()
Examples
n = 10
assert(n, isEqualTo = 10)
assert(
n,
isGreaterThanOrEqual = 0,
isLessThan = 100,
error = "number should be between 0 and 100",
)
assert(
1.0000000000012,
isEqualTo = 1,
tolerance = 0.0001,
error = "number should be almost exactly 1",
)