Arithmetic/Integer: Difference between revisions
Content deleted Content added
m →{{header|Sidef}}: updated the example |
No edit summary |
||
Line 2,214: | Line 2,214: | ||
a pow b = 6624737266949237011120128 |
a pow b = 6624737266949237011120128 |
||
ok |
ok |
||
</pre> |
|||
=={{header|Onyx}}== |
|||
<lang onyx># Most of this long script is mere presentation. |
|||
# All you really need to do is push to intergers onto the stack |
|||
# and then execute add, sub, mul, idiv, or pow. |
|||
$ClearScreen { # Using ANSI terminal control |
|||
`\e[2J\e[1;1H' print flush |
|||
} bind def |
|||
$Say { # string Say - |
|||
`\n' cat print flush |
|||
} bind def |
|||
$ShowPreamble { |
|||
`To show how integer arithmetic in done in Onyx,' Say |
|||
`we\'ll use two numbers of your choice, which' Say |
|||
`we\'ll call A and B.\n' Say |
|||
} bind def |
|||
$Prompt { # stack: string -- |
|||
stdout exch write pop flush |
|||
} def |
|||
$GetInt { # stack: name -- integer |
|||
dup cvs `Enter integer ' exch cat `: ' cat |
|||
Prompt stdin readline pop cvx eval def |
|||
} bind def |
|||
$Template { # arithmetic_operator_name label_string Template result_string |
|||
A cvs ` ' B cvs ` ' 5 ncat over cvs ` gives ' 3 ncat exch |
|||
A B dn cvx eval cvs `.' 3 ncat Say |
|||
} bind def |
|||
$ShowResults { |
|||
$add `Addition: ' Template |
|||
$sub `Subtraction: ' Template |
|||
$mul `Multiplication: ' Template |
|||
$idiv `Division: ' Template |
|||
`Note that the result of integer division is rounded toward zero.' Say |
|||
$pow `Exponentiation: ' Template |
|||
`Note that the result of raising to a negative power always gives a real number.' Say |
|||
} bind def |
|||
ClearScreen ShowPreamble $A GetInt $B GetInt ShowResults</lang> |
|||
{{out}} |
|||
<pre> |
|||
To show how integer arithmetic in done in Onyx, |
|||
we'll use two numbers of your choice, which |
|||
we'll call A and B. |
|||
Enter integer A: 34 |
|||
Enter integer B: 2 |
|||
Addition: 34 2 add gives 36. |
|||
Subtraction: 34 2 sub gives 32. |
|||
Multiplication: 34 2 mul gives 68. |
|||
Division: 34 2 idiv gives 17. |
|||
Note that the result of integer division is rounded toward zero. |
|||
Exponentiation: 34 2 pow gives 1156. |
|||
Note that the result of raising to a negative power always gives a real number. |
|||
</pre> |
</pre> |
||