home *** CD-ROM | disk | FTP | other *** search
/ swCHIP 1991 January / swCHIP_95-1.bin / demo / wit4711 / lib / help / point / calc. / calc.bin
Text File  |  1995-12-09  |  2KB  |  62 lines

  1. OPERATOR
  2.  
  3. calc --- perform alu operations on two input objects
  4.  
  5.  
  6. DESCRIPTION
  7.  
  8. The calc operator performs alu type operations on two input objects. The input 
  9. objects may be any combination of primitive objects or vectors of primitives. 
  10. The output is casted to integer or double following the same casting rules 
  11. as in C. The operation to be performed is specified by a C style 
  12. mathematical expression, entered using the expression parameter. The userConstant 
  13. field allows the user to specify a constant of type double for use within 
  14. the specified expression. 
  15.  
  16. There are five case insensitive variables available for access by the user: 
  17. variables
  18.   A (or a) - top input object
  19.   B (or b) - bottom input object
  20.   X (or x) - current vector column value.
  21.   Y (or y) - current vector row value.
  22.   K (or k) - the value specified in userConstant
  23. 
  24.  
  25. The available operators (ordered by precedence from highest to lowest) are 
  26. listed below and may be used to form the expression: 
  27. binary operators
  28.   **               - exponentiation
  29.   * / %            - multiplication, division, modulus
  30.   + -              - addition, subtraction
  31.   << >>            - bit shift left, bit shift right
  32.   < > >= <= == !=  - boolean comparisons
  33.   & | ^            - bitwise and, or, xor.
  34.   && ||            - boolean conjunction, boolean disjunction
  35.  
  36.  
  37.  
  38. unary operators
  39.   - !                   - unary negation, boolean not
  40.   abs() sqrt() exp()    - absolute value, square root, e**x
  41.   sin() cos() tan()     - trigonometric functions
  42.   asin() acos() atan()  - inverse trigonometric functions
  43.   log() log10() log2()  - natural log, log base 10, log base 2
  44.   floor() ceil() rint() - floor, ceiling and rounding functions.
  45.  
  46.  
  47.  
  48. precedence
  49.   ( )              - parentheses can be used to alter precedence
  50.  
  51.  
  52.  
  53. conditional operator
  54.   (comparison) ? (result if true) : (result if false)
  55.  
  56. 
  57.  
  58. Note that all calculations are performed using double precision except for the 
  59. modulus and bit operations, which have their operands cast to integer first. 
  60. To perform integer division, rather than floating point division, use 
  61. floor(A/B) rather than A/B. 
  62.