| [ << ] | [ < ] | [ 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 == 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), 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.
