tff.framework.Intrinsic

View source on GitHub

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

Inherits From: ComputationBuildingBlock

An instrinsic is a symbol known to the TFF's compiler pipeline, represended a 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 or the components that manipulate ASTs.

uri The URI of the intrinsic.
type_spec Either the types.Type that represents the type of this intrinsic, or something convertible to it by types.to_type().

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

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.

structural_representation

View source

Returns the structural string representation of this building block.