Operator Class 
Operators in Symbol Form 
Arithmetic 
The arithmetic symbols include the following items:
+, , *, /, MOD, %, ++, and . 
Assignment 
The assignment symbols include the following items:
=, +=, =, *=, /=, %=, ^=, &=, and =.
The equal operator evaluates the expression on the right side of the operator and sets the operand on the left side of the operator to the result. When operating on container properties, the hierarchy of subproperty names on the left and right side must match. For each property value, the assignment converts between different data types whenever possible, for example, numeric to string. 
Bitwise 
The bitwise symbols include the following items:
AND, OR, NOT, XOR, &, , ~, ^ , >>, and <<. 
Comparison 
The comparison symbols include the following items:
==, !=, <>, >, >=, <, and <=. Floatingpoint comparisons use 14 digits of precision.
Comparison operators work on string, numeric, and Boolean values. If one operand is a string and another is a numeric, the operator converts the string to a numeric value. If both operands are strings, the comparison is caseinsensitive. If both operands are nonzero floatingpoint numeric values, the comparison uses 14 digits of precision. TestStand treats NAN and IND as equivalent in expression comparisons. 
Logical 
The logical symbols include the following items:
&&, , and !. 
Other 
Some additional operators include the following items:
() 
Parentheses—Alter evaluation order. 
. 
Dot—Property field separator. 
.. 
Double Dot—Specify a range of indexes in array subscripts. This operator indexes multiple elements in the array and returns a subarray. The operand on each side of the range operator must evaluate to a numeric value, such as array[1..3]. 
[] 
Brackets—Array subscript

Note The operand for an array subscript must evaluate to a numeric value, unless the array contains step or sequence elements. For arrays of step or sequence elements, the subscript can evaluate to a string value that contains the name of a step or sequence element in the array, such as RunState.Sequence.Main["MyGoto"].
You can use the double dot operator (..) within the [] operator to index multiple elements in the array and return a subarray. For example, the expression array[1..3][2] returns the elements at indexes [1][2], [2][2], and [3][2] in a new subarray. 

, 
Comma—Expression separator or terminator. 
?: 
Conditional—Given a Boolean value, chooses one of two other expressions to evaluate
Usage: booleanValue ? expr1 : expr2 
{} 
Array constant. 
// 
Single line comment (C++). 
’ 
Single line comment (Basic). 
/* */ 
Comment (C/C++). 
& 
Get Reference—Returns a Reference that refers to the operand. 
* 
Dereference—Returns the object to which the Reference operand refers. The Reference must refer to an object that supports the TestStand PropertyObject interface. 
> 
Dereference and access field—Returns the specified subproperty of the object to which the Reference operand refers. The Reference must refer to an object that supports the TestStand PropertyObject interface. 

Constants 
The formats for the different types of constants include the following items:
1.23e4 
Floating point 
1234 
Integer 
0x1234efa9 
Hexadecimal integer 
0b11011011 
Binary number 
1234i64 
64bit integer constant 
1234ui64 
64bit unsigned integer constant 
True 
Boolean 
False 
Boolean 
"1234wxyz" 
String 
@"file path" 
Unescaped string, such as @"C:\Windows\temp" 
Nothing 
Empty ActiveX reference 
NAN 
Not a number 
IND 
Indeterminate number 
INF 
Infinite number 
PI 
PI constant (3.141592...) 
tsRed 
Color constant 

Note TestStand declares some special constant values that are similar to values used in other environments or used infrequently. 
