def get_nLessX_dict(testres):
    '\n        Build a (histogram) dictionary mapping X (as in #ranks < X) to a list\n        of cfg scores\n        '
    X_LIST = testres.get_X_LIST()
    nLessX_dict = {int(X): np.zeros(testres.nConfig) for X in X_LIST}
    cfgx2_qx2_gt_rank = testres.get_infoprop_list('qx2_gt_rank')
    for X in X_LIST:
        cfgx2_lessX_mask = [np.logical_and((0 <= qx2_gt_ranks), (qx2_gt_ranks < X)) for qx2_gt_ranks in cfgx2_qx2_gt_rank]
        cfgx2_nLessX = np.array([lessX_.sum(axis=0) for lessX_ in cfgx2_lessX_mask])
        nLessX_dict[int(X)] = cfgx2_nLessX
    return nLessX_dict
Build a (histogram) dictionary mapping X (as in #ranks < X) to a list
of cfg scores
def get_nLessX_dict(testres):
    '\n        Build a (histogram) dictionary mapping X (as in #ranks < X) to a list\n        of cfg scores\n        '
    X_LIST = testres.get_X_LIST()
    nLessX_dict = {int(X): np.zeros(testres.nConfig) for X in X_LIST}
    cfgx2_qx2_gt_rank = testres.get_infoprop_list('qx2_gt_rank')
    for X in X_LIST:
        cfgx2_lessX_mask = [np.logical_and((0 <= qx2_gt_ranks), (qx2_gt_ranks < X)) for qx2_gt_ranks in cfgx2_qx2_gt_rank]
        cfgx2_nLessX = np.array([lessX_.sum(axis=0) for lessX_ in cfgx2_lessX_mask])
        nLessX_dict[int(X)] = cfgx2_nLessX
    return nLessX_dict