def sysinfo2float(version_info=sys.version_info):
vers_str = '<STR_LIT:.>'.join([str(v) for v in version_info[<NUM_LIT:0>:<NUM_LIT:3>]])<EOL>if version_info[<NUM_LIT:3>] != '<STR_LIT>':<EOL><INDENT>vers_str += '<STR_LIT:.>' + '<STR_LIT>'.join([str(i) for i in version_info[<NUM_LIT:3>:]])<EOL><DEDENT>if IS_PYPY:<EOL><INDENT>vers_str += '<STR_LIT>'<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>import platform<EOL>platform = platform.python_implementation()<EOL>if platform in ('<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>vers_str += platform<EOL>pass<EOL><DEDENT><DEDENT>except ImportError:<EOL><INDENT>pass<EOL><DEDENT>except AttributeError:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>return py_str2float(vers_str)<EOL>
Convert a sys.versions_info-compatible list into a 'canonic'
    floating-point number which that can then be used to look up a
    magic number.  Note that this can only be used for released version
    of C Python, not interim development versions, since we can't
    represent that as a floating-point number.

    For handling Pypy, pyston, jython, etc. and interim versions of
    C Python, use sysinfo2magic.