We propose an arrhythmia discrimination algorithm for a smart phone that can reliably distinguish among normal sinus rhythm (NSR), atrial fibrillation (AF), premature ventricular contractions (PVCs) and premature atrial contraction (PACs). To evaluate the algorithm in clinical application, we recruited 27 subjects with 3 PVC and 4 PAC subjects as well as 20 AF pre- and post-electrical cardioversion. From each subjects, two-minute pulsatile time series from a fingertip is measured using a smart phone. Our arrhythmia discrimination approach combines Poincare plot and Kulback-Leibler (KL) divergence with Root Mean Square of Successive RR Differences (RMSSD) and Shannon Entropy (ShE). Clinical results show that our algorithm discriminates PVC and PAC with accuracy of 100% and 97.87%, respectively.