def _check_mixed_float(df, dtype=None):
    # float16 are most likely to be upcasted to float32
    dtypes = dict(A='float32', B='float32', C='float16', D='float64')
    if isinstance(dtype, compat.string_types):
        dtypes = dict([(k, dtype) for k, v in dtypes.items()])
    elif isinstance(dtype, dict):
        dtypes.update(dtype)
    if dtypes.get('A'):
        assert(df.dtypes['A'] == dtypes['A'])
    if dtypes.get('B'):
        assert(df.dtypes['B'] == dtypes['B'])
    if dtypes.get('C'):
        assert(df.dtypes['C'] == dtypes['C'])
    if dtypes.get('D'):
        assert(df.dtypes['D'] == dtypes['D'])
dataset/ETHPy150Open pydata/pandas/pandas/tests/frame/common.py/_check_mixed_float/original