How do you determine that a certain reagent will result in syn addition, anti addition, or be nonstereospecific?

For instance the addition of H2/Pt to a cis-cyclic alkene results in a syn addition. HCl in water is nonstereospecific and Br2 in CCl4 is an anti addition. How can this be determined?