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

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

structural_representation

View source

Returns the structural string representation of this building block.

__eq__

View source

Return self==value.