tff.framework.Intrinsic

A representation of an intrinsic in TFF's internal language.

Inherits From: ComputationBuildingBlock, TypedObject

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.

uri The URI of the intrinsic.
type_signature A tff.Type, the type of the intrinsic.

TypeError if the arguments are of the wrong types.

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

View source

Check that this is a 'Block'.

check_call

View source

Check that this is a 'Call'.

check_compiled_computation

View source

Check that this is a 'CompiledComputation'.

check_data

View source

Check that this is a 'Data'.

check_intrinsic

View source

Check that this is an 'Intrinsic'.

check_lambda

View source

Check that this is a 'Lambda'.

check_placement

View source

Check that this is a 'Placement'.

check_reference

View source

Check that this is a 'Reference'.

check_selection

View source

Check that this is a 'Selection'.

check_struct

View source

Check that this is a Struct.

children

View source

Returns an iterator yielding immediate child building blocks.

compact_representation

View source

Returns the compact string representation of this building block.

formatted_representation

View source

Returns the formatted string representation of this building block.

from_proto

View source

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

View source

is_block

View source

Returns whether or not this block is a Block.

is_call

View source

Returns whether or not this block is a Call.

is_compiled_computation

View source

Returns whether or not this block is a CompiledComputation.

is_data

View source

Returns whether or not this block is a Data.

is_intrinsic

View source

Returns whether or not this block is an Intrinsic.

is_lambda

View source

Returns whether or not this block is a Lambda.

is_placement

View source

Returns whether or not this block is a Placement.

is_reference

View source

Returns whether or not this block is a Reference.

is_selection

View source

Returns whether or not this block is a Selection.

is_struct

View source

Returns whether or not this block is a Struct.

structural_representation

View source

Returns the structural string representation of this building block.