def PrintMatchingResults(bestmat_list, stats_res_list):
    """
    print on stdout  matching results
    """
    print('\n-----------------------------------------')
    print('results:')
    print('matrix:                                         matching results')
    if len(stats_res_list) == 1 and len(bestmat_list) != 1:
        bestmat_list = [bestmat_list]
    for mat_elem, stat_elem in zip(bestmat_list, stats_res_list):
        mean_angular_residues = stat_elem[2]
        matching_rate = 100.0 * stat_elem[0] / stat_elem[1]
        for kkk in list(range(3)):
            txt = '%s        ' % str(mat_elem[kkk])
            if kkk == 0:
                txt += 'res: %s %.3f %.2f' % (str(stat_elem[:2]),
                    mean_angular_residues, matching_rate)
            if len(stat_elem) > 3:
                if kkk == 1:
                    txt += 'spot indices %s' % str(stat_elem[3])
                if kkk == 2:
                    txt += 'planes %s' % str(stat_elem[4].tolist())
            print('%s' % txt)
        print('')
