Mojo function
constrained
constrained[: Bool, : Origin[$0], //, cond: Bool, msg: StringSlice[$1]]()
Compile time checks that the condition is true.
The constrained
is similar to static_assert
in C++ and is used to
introduce constraints on the enclosing function. In Mojo, the assert places
a constraint on the function. The message is displayed when the assertion
fails.
Example:
from sys.info import num_physical_cores
def main():
alias cores_to_use = 2
multicore_check[cores_to_use]()
def multicore_check[cores: Int]():
constrained[
cores <= num_physical_cores(),
"build failed: not enough cores"
]()
constrained[
cores >= 2,
"at least two cores are required"
]()
from sys.info import num_physical_cores
def main():
alias cores_to_use = 2
multicore_check[cores_to_use]()
def multicore_check[cores: Int]():
constrained[
cores <= num_physical_cores(),
"build failed: not enough cores"
]()
constrained[
cores >= 2,
"at least two cores are required"
]()
Parameters:
- cond (
Bool
): The bool value to assert. - msg (
StringSlice[$1]
): The message to display on failure.
constrained[cond: Bool]()
Compile time checks that the condition is true.
The constrained
is similar to static_assert
in C++ and is used to
introduce constraints on the enclosing function. In Mojo, the assert places
a constraint on the function.
Example:
from sys.info import num_physical_cores
def main():
alias cores_to_use = 2
multicore_check[cores_to_use]()
def multicore_check[cores: Int]():
constrained[cores <= num_physical_cores()]()
constrained[cores >= 2]()
**Parameters:**
* <b>cond</b> (`Bool`): The bool value to assert.
</div>
</section>
from sys.info import num_physical_cores
def main():
alias cores_to_use = 2
multicore_check[cores_to_use]()
def multicore_check[cores: Int]():
constrained[cores <= num_physical_cores()]()
constrained[cores >= 2]()
**Parameters:**
* <b>cond</b> (`Bool`): The bool value to assert.
</div>
</section>
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!