/usr/share/doc/regina-normal/examples/progress.session is in regina-normal 4.90-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | example$ regina-python
Regina 4.90
Software for 3-manifold topology and normal surface theory
Copyright (c) 1999-2011, The Regina development team
>>> ################################
... #
... # Sample Python Script
... #
... # Illustrates progress reporting during long operations.
... #
... # See the file "progress.session" for the results of running this script.
... #
... ################################
...
>>> import time
>>>
>>> # Create an 18-tetrahedron triangulation of a knot complement with real
... # boundary faces (not an ideal vertex). The knot is L106003 from the
... # knot/link census. We used Regina to truncate the ideal vertex, and
... # then copied the isomorphism signature so that we can reconstruct the
... # triangulation here.
... sig = 'sfLfvQvwwMQQQccjghjkmqlonrnrqpqrnsnksaisnrobocksks'
>>> tri = regina.NTriangulation.fromIsoSig(sig)
>>> print tri.getNumberOfTetrahedra(), 'tetrahedra'
18 tetrahedra
>>>
>>> # Create a progress manager to use during the normal surface enumeration.
... # This will report the state of progress while the enumeration runs in
... # the background.
... manager = regina.NProgressManager()
>>>
>>> # Start the normal surface enumeration.
... # Because we are passing a progress manager to enumerate(), the
... # enumeration will start in the background and control will return
... # immediately to the python console.
... surfaces = regina.NNormalSurfaceList.enumerate(tri,
... regina.NNormalSurfaceList.STANDARD, 1, manager)
>>>
>>> # Wait for the surface enumeration to fully start up.
... while not manager.isStarted():
... time.sleep(1)
...
>>>
>>> # At this point the enumeration is up and running.
... # Output a progress report every second until it finishes.
... prog = manager.getProgress()
>>> while not manager.isFinished():
... print 'Progress:', prog.getDescription()
... time.sleep(1)
...
Progress: 17/21
Progress: 17/21
Progress: 19/21
Progress: 19/21
>>>
>>> # The surface enumeration is now complete.
... print surfaces.getNumberOfSurfaces(), 'normal surfaces'
2319 normal surfaces
>>>
>>> # Output the total time spent during the surface enumeration.
... print 'Total real time:', prog.getRealTime(), 'seconds'
Total real time: 5 seconds
>>> print 'Total cpu time:', prog.totalCPUTime(), 'seconds'
Total cpu time: 4 seconds
>>>
|