Revision: 193
Author: roman_yakovenko
Date: 2006-05-31 13:34:41 -0700 (Wed, 31 May 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=193&view=rev
Log Message:
-----------
updating documentation and adding few examples
Modified Paths:
--------------
pyplusplus_dev/docs/examples/boost/boost.rest
pyplusplus_dev/examples/pyboost_dev/dev/rational/generate_code.py
pyplusplus_dev/examples/pyboost_dev/pyboost/rational/__init__.py
Added Paths:
-----------
pyplusplus_dev/examples/pyboost_dev/crc_example.py
pyplusplus_dev/examples/pyboost_dev/random_example.py
pyplusplus_dev/examples/pyboost_dev/rational_example.py
Modified: pyplusplus_dev/docs/examples/boost/boost.rest
===================================================================
--- pyplusplus_dev/docs/examples/boost/boost.rest 2006-05-31 20:32:46 UTC (rev 192)
+++ pyplusplus_dev/docs/examples/boost/boost.rest 2006-05-31 20:34:41 UTC (rev 193)
@@ -67,16 +67,100 @@
pyboost package
---------------
-...
+Documentation
+-------------
+Right now, pyboost package does not have a documentation. In my opinion it is
+fairly simple to read original documentation and "translate" it to Python.
+
+Examples
--------
+
+random
+~~~~~~
+
+* C++ code: http://boost.org/libs/random/index.html
+
+* Python code:
+
+ ::
+
+ import time
+ from pyboost import boost_random
+ |
+ rng = boost_random.mt19937( int( time.time() ) ) #setting initial seed
+ six = boost_random.uniform_int(1,6)
+ die = boost_random.variate_generator( rng, six )
+ |
+ print die()
+
+rational
+~~~~~~~~
+
+* C++ code: http://boost.org/libs/rational/rational_example.cpp
+
+* Python code:
+
+ ::
+
+ import unittest
+ from pyboost import rational
+
+
+ half = rational.rational( 1, 2 )
+ one = rational.rational( 1 )
+ two = rational.rational( 2 )
+
+
+ #Some basic checks
+ assert half.numerator() == 1
+ assert half.denominator() == 2
+ assert float(half) == 0.5
+
+
+ #Arithmetic
+ assert half + half == one == 1
+ assert one - half == half
+ assert two * half == one == 1
+ assert one / half == two == 2
+
+
+crc
+~~~
+
+* C++ code: http://boost.org/libs/crc/crc_example.cpp
+
+* Python code:
+
+ ::
+
+ import os
+ import sys
+ from pyboost import crc
+
+
+ if __name__ == '__main__':
+ if sys.argv:
+ files = sys.argv
+ else:
+ files = [ sys.executable ]
+
+ try:
+ result = crc.crc_32_type()
+ for file_name in files:
+ ifs = file( file_name, 'rb' )
+ for line in ifs:
+ result.process_bytes( line )
+ print hex( result.checksum() ).upper()
+ except Exception, error:
+ sys.stderr.write( "Found an exception with'%s'%s" %( str( error ), os.linesep ) )
+ sys.exit( 1 )
+
+--------
Download
--------
http://sourceforge.net/project/showfiles.php?group_id=118209.
-
-I am going to continue development of the `Python`_ bindings for
-`boost.date_time`_ library.
.. _`boost.date_time` : http://boost.org/doc/html/date_time.html
Added: pyplusplus_dev/examples/pyboost_dev/crc_example.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/crc_example.py (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/crc_example.py 2006-05-31 20:34:41 UTC (rev 193)
@@ -0,0 +1,20 @@
+import os
+import sys
+from pyboost import crc
+
+if __name__ == '__main__':
+ if sys.argv:
+ files = sys.argv
+ else:
+ files = [ sys.executable ]
+
+ try:
+ result = crc.crc_32_type()
+ for file_name in files:
+ ifs = file( file_name, 'rb' )
+ for line in ifs:
+ result.process_bytes( line )
+ print hex( result.checksum() ).upper()
+ except Exception, error:
+ sys.stderr.write( "Found an exception with'%s'%s" %( str( error ), os.linesep ) )
+ sys.exit( 1 )
Modified: pyplusplus_dev/examples/pyboost_dev/dev/rational/generate_code.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/dev/rational/generate_code.py 2006-05-31 20:32:46 UTC (rev 192)
+++ pyplusplus_dev/examples/pyboost_dev/dev/rational/generate_code.py 2006-05-31 20:34:41 UTC (rev 193)
@@ -19,6 +19,8 @@
// http://www.boost.org/LICENSE_1_0.txt)
"""
+#TODO: for some reason unary - was not exported
+
class code_generator_t(object):
def __init__(self):
module_builder.set_logger_level( logging.INFO )
Modified: pyplusplus_dev/examples/pyboost_dev/pyboost/rational/__init__.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/rational/__init__.py 2006-05-31 20:32:46 UTC (rev 192)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/rational/__init__.py 2006-05-31 20:34:41 UTC (rev 193)
@@ -9,6 +9,7 @@
from _rational_ import rational
from _rational_ import lcm
from _rational_ import gcd
+from _rational_ import bad_rational
rational.__abs__ = _rational_.abs
rational.__float__ = _rational_.to_double
Added: pyplusplus_dev/examples/pyboost_dev/random_example.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/random_example.py (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/random_example.py 2006-05-31 20:34:41 UTC (rev 193)
@@ -0,0 +1,8 @@
+import time
+from pyboost import boost_random
+
+rng = boost_random.mt19937( int( time.time() ) ) #setting initial seed
+six = boost_random.uniform_int(1,6)
+die = boost_random.variate_generator( rng, six )
+
+print die()
\ No newline at end of file
Added: pyplusplus_dev/examples/pyboost_dev/rational_example.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/rational_example.py (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/rational_example.py 2006-05-31 20:34:41 UTC (rev 193)
@@ -0,0 +1 @@
+import unittest
from pyboost import rational
half = rational.rational( 1, 2 )
one = rational.rational( 1 )
two = rational.rational( 2 )
#Some basic checks
assert half.numerator() == 1
assert half.denominator() == 2
assert float(half) == 0.5
#Arithmetic
assert half + half == one == 1
assert one - half == half
assert two * half == one == 1
assert one / half == two == 2
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|