TermStreamer

TermStreamer()

A term streamer that can handle large expressions, by streaming terms to and from disk.

Methods

Name Description
fits_in_memory Check if the term stream fits in memory.
get_byte_size Get the byte size of the term stream.
get_num_terms Get the number of terms in the stream.
load Load terms and their state from a binary file into the term streamer. The number of terms loaded is returned.
map Apply a transformer to all terms in the stream.
map_single_thread Apply a transformer to all terms in the stream using a single thread.
normalize Sort and fuse all terms in the stream.
push Push an expression to the term stream.
save Export terms and their state to a binary file.
to_expression Convert the term stream into an expression. This may exceed the available memory.

clear

TermStreamer.clear()

Clear the term streamer.

fits_in_memory

TermStreamer.fits_in_memory()

Check if the term stream fits in memory.

get_byte_size

TermStreamer.get_byte_size()

Get the byte size of the term stream.

get_num_terms

TermStreamer.get_num_terms()

Get the number of terms in the stream.

load

TermStreamer.load(filename, conflict_fn=None)

Load terms and their state from a binary file into the term streamer. The number of terms loaded is returned.

The state will be merged with the current one. If a symbol has conflicting attributes, the conflict can be resolved using the renaming function conflict_fn.

A term stream can be exported using TermStreamer.save.

map

TermStreamer.map(f)

Apply a transformer to all terms in the stream.

map_single_thread

TermStreamer.map_single_thread(f)

Apply a transformer to all terms in the stream using a single thread.

normalize

TermStreamer.normalize()

Sort and fuse all terms in the stream.

push

TermStreamer.push(expr)

Push an expression to the term stream.

save

TermStreamer.save(filename, compression_level=9)

Export terms and their state to a binary file. The resulting file can be read back using TermStreamer.load or by using Expression.load. In the latter case, the whole term stream will be read into memory as a single expression.

to_expression

TermStreamer.to_expression()

Convert the term stream into an expression. This may exceed the available memory.