MCPcopy Index your code
hub / github.com/dask/dask / lower_once

Method lower_once

dask/_expr.py:463–495  ·  view source on GitHub ↗
(self, lowered: dict)

Source from the content-addressed store, hash-verified

461 return
462
463 def lower_once(self, lowered: dict):
464 # Check for a cached result
465 try:
466 return lowered[self._name]
467 except KeyError:
468 pass
469
470 expr = self
471
472 # Lower this node
473 out = expr._lower()
474 if out is None:
475 out = expr
476 if not isinstance(out, Expr):
477 return out
478
479 # Lower all children
480 new_operands = []
481 changed = False
482 for operand in out.operands:
483 if isinstance(operand, Expr):
484 new = operand.lower_once(lowered)
485 if new._name != operand._name:
486 changed = True
487 else:
488 new = operand
489 new_operands.append(new)
490
491 if changed:
492 out = type(out)(*new_operands)
493
494 # Cache the result and return
495 return lowered.setdefault(self._name, out)
496
497 def lower_completely(self) -> Expr:
498 """Lower an expression completely

Callers 1

lower_completelyMethod · 0.45

Calls 1

_lowerMethod · 0.45

Tested by

no test coverage detected