# +

math operators

The `+` operator consumes two parameters from the top of the stack and pushes back the result of adding them.

The meaning of adding depends on the type of parameter:

• If both parameters are numbers, the result is the sum of both numbers.

• If both parameters are strings, the result is the concatenation of both strings.

• If both parameters are byte arrays, the result is the concatenation of both byte arrays (version 2.1+).

• If the first parameter is a list, the + operator clones the list and appends the second parameter to the cloned list.

• If the first parameter is a set, the + operator clones the set and appends the second parameter to the cloned set.

• If both parameters are macros, the result is a macro concatenating the two others in any other case + with throw an exception.

• If the first parameter is a vector, the + operator adds the second numeric parameter to each element of the vector.

• If the second parameter is a vector, the + operator adds the first numeric parameter to each element of the vector.

• If both parameters are vectors, the + operator adds each element of vectors which are on the same index. Vectors must be the same size.

• If the first parameter is a matrix, the + operator adds the second numeric parameter to each element of the matrix.

• If the second parameter is a matrix, the + operator adds the first numeric parameter to each element of the matrix.

• If both parameters are matrices, the + operator adds each element of matrices which are on the same index. Matrices must be the same size.

• If one of the parameters is a Geo Time Seriesâ„˘, the result will be a Geo Time Seriesâ„˘ of type DOUBLE.

+ is available since version 1.0.0.