# Understanding Cross

Looking for an explanation of “Cross” using standard GT, GE, LT, LE expressions. I want to understand what happens at the threshold and how 'equals' is handled. It seems to me that Cross is an Impulse that only occurs when a specific value is not just reached but is passed, creating a state GT but not GE.

If that is true, is a reversed cross the same? Is the actual value never included but basically skipped because an impulse may never actually crosses the value, only touch it.

Is this correct?

Thanks for everything this year! Happy and Prosperous New Year

`Cross( array1, array2 )`

is essentially

`array1 > array2 AND Ref( array1 <= array2, -1 );`

Thank you so much. Just needed to know where if any the 'equal sign is'.

This seems obvious but to be clear, when you swap array1 for array 2 ( array2, array1 ), I assume the same logic applies;
array2 < array1 AND Ref( array2 <= array1, -1 )
In other words, it is the position in the function parameters that determines the logic.

If you reverse the order of arguments just exchange the arguments in the statement I gave you.

`Cross( array2, array1 )`

is essentially

`array2 > array1 AND Ref( array2 <= array1, -1 );`

(You exchange the arguments, but not operators).

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.