コード例 #1
0
 def topna(cls,
           d: Dict[Node, float],
           pred: Pred = None,
           k: Union[int, None] = 1) -> List[NodeA]:
     '''Returns a list of the top k nodes in d, by activation, restricted to
     nodes of 'type' and that pass 'filter'.'''
     pred: Callable[[Any], bool] = as_pred(pred)
     nas = [NodeA(node, a) for (node, a) in d.items() if pred(node)]
     if k is None:
         return sorted(nas, key=attrgetter('a'), reverse=True)
     else:
         return nlargest(k, nas, key=attrgetter('a'))
コード例 #2
0
 def test_as_pred_type(self) -> None:
     pred = as_pred(Equation)
     self.assertFalse(pred(After))
     self.assertTrue(pred(Equation.make([5, 4], plus)))
     self.assertFalse(pred(Equation))
コード例 #3
0
ファイル: Log.py プロジェクト: bkovitz/FARGish
def ldisable(*args: Pred) -> None:
    '''Disables logging for args.'''
    for arg in args:
        enabled_for_logging.discard(as_pred(arg))
コード例 #4
0
ファイル: Log.py プロジェクト: bkovitz/FARGish
def lenable(*args: Pred) -> None:
    '''Enables logging for args.'''
    for arg in args:
        enabled_for_logging.add(as_pred(arg))
コード例 #5
0
ファイル: Propagator.py プロジェクト: bkovitz/FARGish
 def tss(self, pred: Pred = None) -> List[NodeTimeseries]:
     '''pred selects Nodes.'''
     pred: Callable[[Any], bool] = as_pred(pred)
     return [ts for ts in self.tsd.values() if pred(ts.node)]
コード例 #6
0
ファイル: Tag.py プロジェクト: bkovitz/FARGish
def tagmatch(tag: Any, pred: Pred) -> bool:
    if isinstance(tag, PTag) and not isinstance(pred, PTag):
        return as_pred(pred)(tag.tagpred)
    else:
        return as_pred(pred)(tag)