         Scalar3 posi = make_scalar3(postypei.x, postypei.y, postypei.z);
         Scalar4 quati = __ldg(d_orientation + idx);
 
-        Scalar di = 0.0f;
+        Scalar di = Scalar(0);
         if (evaluator::needsDiameter())
             di = __ldg(d_diameter + idx);
 
-        Scalar qi = 0.0f;
+        Scalar qi = Scalar(0);
         if (evaluator::needsCharge())
             qi = __ldg(d_charge + idx);
 

                    energy_shift = true;

                // evaluate the potential
                Scalar3 jforce = { 0.0f, 0.0f, 0.0f };
                Scalar3 torquei = { 0.0f, 0.0f, 0.0f };
                Scalar3 torquej = { 0.0f, 0.0f, 0.0f };
                Scalar pair_eng = 0.0f;

                // constructor call
                evaluator eval(dx, quati, quatj, rcutsq, param);

                Scalar3 posj = make_scalar3(postypej.x, postypej.y, postypej.z);
                Scalar4 quatj = __ldg(d_orientation + cur_j);

                Scalar dj = Scalar(0);
                if (evaluator::needsDiameter())
                    dj = __ldg(d_diameter + cur_j);

                Scalar qj = Scalar(0);
                if (evaluator::needsCharge())
                    qj = __ldg(d_charge + cur_j);

