SPDZ- How to do secure equality comparison The SPDZ paper explains how the SPDZ protocol can be used to find the sum/product of secret values and find the sum/product of a secret and a non-secret value (page 6).

The paper seems to say that from this you can do any other operation. How would you use this to do secure equality comparison between a secret and a non-secret value?

The Array Lookup section of the Bristol SPDZ implementation tutorial shows that their implementation has a way of securely evaluating whether a secret value equals a non-secret value to get a secret result. This is heavily used in Array lookups so one would hope it is an efficient operation. How did they implement this? It doesn't seem to be in the paper.
One way of doing this is to subtract the non-secret value from the secret value (in the secure computation) and to test that the result is 0. There are a number of ways of testing 0; generically, you can generate a shared unknown random value, multiply it with the value you want to test and then open. If the opened value is 0 then you know that you started with 0. Otherwise, it's a random value and reveals nothing (since the shared random value is unknown to all parties and so masks the original value).