| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
5.9.1 Arithmetic & logical operators
Asymptote uses the standard binary arithmetic operators.
However, when one integer is divided by another, both arguments are
converted to real values before dividing and a real quotient is
returned (since this is usually what is intended). The function
int quotient(int x, int y) returns the greatest integer less
than or equal to x/y. In all other cases both operands are
promoted to the same type, which will also be the type of the result:
-
+ -
- -
* -
/ -
% modulo; the result always has the same sign as the divisor. In particular, this makes
q*quotient(p,q)+p%q == pfor all integerspand nonzero integersq.-
^ -
power; if the exponent (second argument) is an int, recursive multiplication is used; otherwise, logarithms and exponentials are used (
**is a synonym for^).
The usual boolean operators are also defined:
Asymptote also supports the C-like conditional syntax:
bool positive=(pi >= 0) ? true : false;
The function T interp(T a, T b, real t) returns (1-t)*a+t*b
for nonintegral built-in arithmetic types T. If a and
b are pens, they are first promoted to the same color space.
Asymptote also defines bitwise functions int AND(int,int),
int OR(int,int), int XOR(int,int), and int NOT(int).
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
