|View source on GitHub|
Reduces intrinsics to their bodies as defined in
This function operates on the AST level; meaning, it takes in a
building_blocks.ComputationBuildingBlock as an argument and
returns one as well.
replace_intrinsics_with_bodies is intended to be the
standard reduction function, which will reduce all currently implemented
intrinsics to their bodies.
Notice that the success of this function depends on the contract of
intrinsic_bodies.get_intrinsic_bodies, that the dict returned by that
function is ordered from more complex intrinsic to less complex intrinsics.
comp: Instance of
building_blocks.ComputationBuildingBlockin which we wish to replace all intrinsics with their bodies.
An instance of
all intrinsics defined in
intrinsic_bodies.py replaced with their bodies.