         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);

    idx += offset;

    // initialize the force to 0
    Scalar4 force = make_scalar4(Scalar(0), Scalar(0), Scalar(0), Scalar(0));
    Scalar4 torque = make_scalar4(Scalar(0), Scalar(0), Scalar(0), Scalar(0));
    Scalar virialxx = Scalar(0);
    Scalar virialxy = Scalar(0);
    Scalar virialxz = Scalar(0);
    Scalar virialyy = Scalar(0);
    Scalar virialyz = Scalar(0);
    Scalar virialzz = Scalar(0);

    if (active)
        {
