(self, stack)
return True
TODO move this to _split_to_stacks, deal with memoize better
        TODO add test to this func
TODO move this to _split_to_stacks, deal with memoize better
        TODO add test to this func
TODO move this to _split_to_stacks deal with memoize better TODO add test to this func
def _is_simple_stack(self, stack):
        """
        TODO move this to _split_to_stacks, deal with memoize better
        TODO add test to this func
        """
        reduction_axes = [False, False]
        for s in stack:
            if isinstance(s, dict):
                if s['op'] == 'dot' or s['op'] == 'transpose':
                    return False
                elif s['op'] in OpCollection.reduction_ops:
                    reduction_axes[s['axis']] = True
                    if reduction_axes[1 - s['axis']]:
                        return False
        return True
def _is_simple_stack ( self , stack ) : reduction_axes = [ False , False ] for s in stack : if isinstance ( s , dict ) : if s [ 'op' ] == 'dot' or s [ 'op' ] == 'transpose' : return False elif s [ 'op' ] in OpCollection . reduction_ops : reduction_axes [ s [ 'axis' ] ] = True if reduction_axes [ 1 - s [ 'axis' ] ] : return False return True