[ << ]  [ < ]  [ Up ]  [ > ]  [ >> ]  [Top]  [Contents]  [Index]  [ ? ] 
6.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 == p
for all integersp
and 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 Clike conditional syntax:
bool positive=(pi > 0) ? true : false;
The function T interp(T a, T b, real t)
returns (1t)*a+t*b
for nonintegral builtin 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)
, int NOT(int)
,
int CLZ(int)
(count leading zeros), and int CTZ(int)
(count trailing zeros).
[ << ]  [ < ]  [ Up ]  [ > ]  [ >> ]  [Top]  [Contents]  [Index]  [ ? ] 
This document was generated on May 24, 2014 using texi2html 5.0.