Eqn Attribute | Internet Development Index | 
Defines the equation used by a formula. Read/write String.
Applies To
Tag Syntax
<v: element eqn="expression">
Script Syntax
element.eqn="expression"
expression=element.eqn
Remarks
Equations are defined by the evaluation of a text expression that has the general form of an operation followed by up to three arguments. Each argument may be of the following types:
The table below defines the formulas that can be used with the optional arguments given the names v , p1, and p2. The formula pattern is:
   <f eqn="operation [v] [p1] [p2]"/> 
| Operation | 
 Params  | 
Exact | Result | Description | 
| val | 1 | yes | v | Defines a guide value from some other value. | 
| sum | 3 | yes | v + p1 - p2 | Used for addition and subtraction. | 
| product | 3 | rounds | v * p1 / p2 | Used for multiplication and division. | 
| mid | 2 | (c) | (v + p1) / 2 | Average. | 
| abs | 1 | yes | abs(v) | Absolute value. | 
| min | 2 | yes | min(v,p1) | The lesser value of v and p1. | 
| max | 2 | yes | max(v,p1) | The greater value of v and p1. | 
| if | 3 | yes | v > 0 ? p1 : p2 | Conditional testing. | 
| mod | 3 | no | sqrt(v^2 + p1^2 + p2^2) | Modulus value. | 
| atan2 | 2 | no | atan2(p1,v) | Polar value in degrees * 2^16 (fd units). | 
| sin | 2 | no | v * sin(p1) | Sin, argument in degrees * 2^16 (fd units). | 
| cos | 2 | no | v * cos(p1) | Cos, argument in degrees * 2^16 (fd units). | 
| cosatan2 | 3 | no | v * cos(atan2(p2,p1)) | Preserves full accuracy in intermediate calculation. | 
| sinatan2 | 3 | no | v * sin(atan2(p2,p1)) | Preserves full accuracy in intermediate calculation. | 
| sqrt | 1 | no | sqrt(v) | Result is positive and rounds down. | 
| sumangle | 3 | yes | v + p1 * 2^16 + p2*2^16 | v scaled by 2^16; p1 and p2 are degrees.  | 
| ellipse | 3 | no | p2 * sqrt(1-(v/p1)^2) | Ellipse. | 
| tan | 2 | no | v * tan(p1) | Tangent, argument in degrees * 2^16 (fd units). | 
Note that the equation only consists of operations and numbers; mathematical symbols are omitted. For example, the equation
   eqn="sum 5 9 3"
would yield the equivalent of
   5 + 9 - 3
for the returned value of 11. If operands are missing, the value is not used. For example,
   eqn="sum 5 9"
would yield the equivalent of
   5 + 9
and would ignore the missing operand.
VML Standard Attribute
Example
The following formula would yield a result of 6 (the sum of both numbers divided by 2), which, if this were the first formula, could be retrieved by the symbol @0.
<v:f eqn="mid 5 7"/>