![]() |
A representation of an intrinsic in TFF's internal language.
Inherits From: ComputationBuildingBlock
, TypedObject
tff.framework.Intrinsic(
uri: str,
type_signature: tff.types.Type
)
An instrinsic is a symbol known to the TFF's compiler pipeline, represented as a known URI. It generally appears in expressions with a concrete type, although all intrinsic are defined with template types. This class does not deal with parsing intrinsic URIs and verifying their types, it is only a container. Parsing and type analysis are a responsibility of the components that manipulate ASTs. See intrinsic_defs.py for the list of known intrinsics.
Args | |
---|---|
uri
|
The URI of the intrinsic. |
type_signature
|
A tff.Type , the type of the intrinsic.
|
Raises | |
---|---|
TypeError
|
if the arguments are of the wrong types. |
Attributes | |
---|---|
proto
|
Returns a serialized form of this object as a pb.Computation instance. |
type_signature
|
Returns the TFF type of this object (an instance of tff.Type ).
|
uri
|
Methods
check_block
check_block()
Check that this is a 'Block'.
check_call
check_call()
Check that this is a 'Call'.
check_compiled_computation
check_compiled_computation()
Check that this is a 'CompiledComputation'.
check_data
check_data()
Check that this is a 'Data'.
check_intrinsic
check_intrinsic()
Check that this is an 'Intrinsic'.
check_lambda
check_lambda()
Check that this is a 'Lambda'.
check_placement
check_placement()
Check that this is a 'Placement'.
check_reference
check_reference()
Check that this is a 'Reference'.
check_selection
check_selection()
Check that this is a 'Selection'.
check_struct
check_struct()
Check that this is a Struct
.
children
children() -> Iterator[tff.framework.ComputationBuildingBlock
]
Returns an iterator yielding immediate child building blocks.
compact_representation
compact_representation()
Returns the compact string representation of this building block.
formatted_representation
formatted_representation()
Returns the formatted string representation of this building block.
from_proto
@classmethod
from_proto( computation_proto: pb.Computation ) -> 'Intrinsic'
Returns an instance of a derived class based on 'computation_proto'.
Args | |
---|---|
computation_proto
|
An instance of pb.Computation. |
Returns | |
---|---|
An instance of a class that implements 'ComputationBuildingBlock' and that contains the deserialized logic from in 'computation_proto'. |
Raises | |
---|---|
NotImplementedError
|
if computation_proto contains a kind of computation for which deserialization has not been implemented yet. |
ValueError
|
if deserialization failed due to the argument being invalid. |
intrinsic_def
intrinsic_def() -> intrinsic_defs.IntrinsicDef
is_block
is_block()
Returns whether or not this block is a Block
.
is_call
is_call()
Returns whether or not this block is a Call
.
is_compiled_computation
is_compiled_computation()
Returns whether or not this block is a CompiledComputation
.
is_data
is_data()
Returns whether or not this block is a Data
.
is_intrinsic
is_intrinsic()
Returns whether or not this block is an Intrinsic
.
is_lambda
is_lambda()
Returns whether or not this block is a Lambda
.
is_placement
is_placement()
Returns whether or not this block is a Placement
.
is_reference
is_reference()
Returns whether or not this block is a Reference
.
is_selection
is_selection()
Returns whether or not this block is a Selection
.
is_struct
is_struct()
Returns whether or not this block is a Struct
.
structural_representation
structural_representation()
Returns the structural string representation of this building block.