Skip to content

Commit

Permalink
Merge pull request #3338 from stacks-network/pow-corner-cases
Browse files Browse the repository at this point in the history
docs: add details for corner cases of `pow`
  • Loading branch information
jcnelson authored Oct 15, 2022
2 parents 50d3757 + 022b753 commit 0a265b7
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion clarity/src/vm/docs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,13 @@ const MOD_API: SimpleFunctionAPI = SimpleFunctionAPI {
const POW_API: SimpleFunctionAPI = SimpleFunctionAPI {
name: None,
signature: "(pow i1 i2)",
description: "Returns the result of raising `i1` to the power of `i2`. In the event of an _overflow_, throws a runtime error.",
description: "Returns the result of raising `i1` to the power of `i2`. In the event of an _overflow_, throws a runtime error.
Note: Corner cases are handled with the following rules:
* if both `i1` and `i2` are `0`, return `1`
* if `i1` is `1`, return `1`
* if `i1` is `0`, return `0`
* if `i2` is `1`, return `i1`
* if `i2` is negative or greater than `u32::MAX`, throw a runtime error",
example: "(pow 2 3) ;; Returns 8
(pow 2 2) ;; Returns 4
(pow 7 1) ;; Returns 7
Expand Down

0 comments on commit 0a265b7

Please sign in to comment.