Whether an implicit type conversion occurs between decimal literals and float types

Yes. In the declaration float fval = 3.14 the initialiser is implicitly converted from double to float.