Skip to content

Commit e82c590

Browse files
committed
remove dep to python 3.9
1 parent 9c103b1 commit e82c590

File tree

86 files changed

+42297
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+42297
-1
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ if (WIN32)
5959
set(Python3_FIND_REGISTRY LAST)
6060
endif()
6161

62-
find_package (Python3 3.9 EXACT COMPONENTS Interpreter Development NumPy REQUIRED)
62+
find_package (Python3 COMPONENTS Interpreter Development NumPy REQUIRED)
6363
include_directories(${Python3_INCLUDE_DIRS})
6464

6565
# --- Libraries

doc/_images/gallery/tomato.png

685 KB
Loading

doc/conf.py.bak

+290
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# LPy documentation build configuration file, created by
4+
# sphinx-quickstart on Fri Oct 6 12:50:27 2017.
5+
#
6+
# This file is execfile()d with the current directory set to its
7+
# containing dir.
8+
#
9+
# Note that not all possible configuration values are present in this
10+
# autogenerated file.
11+
#
12+
# All configuration values have a default; values that are commented out
13+
# serve to show the default.
14+
15+
import sys
16+
import os
17+
from os.path import join as pj
18+
19+
# If extensions (or modules to document with autodoc) are in another directory,
20+
# add these directories to sys.path here. If the directory is relative to the
21+
# documentation root, use os.path.abspath to make it absolute, like shown here.
22+
#sys.path.insert(0, os.path.abspath('.'))
23+
24+
# -- General configuration ------------------------------------------------
25+
f = pj(os.path.dirname(__file__),'..','src', 'openalea', 'lpy','__version__.py')
26+
d = {}
27+
execfile(f,d,d)
28+
version= d['LPY_VERSION_STR']
29+
30+
# If your documentation needs a minimal Sphinx version, state it here.
31+
#needs_sphinx = '1.0'
32+
33+
# Add any Sphinx extension module names here, as strings. They can be
34+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
35+
# ones.
36+
extensions = []
37+
38+
# Add any paths that contain templates here, relative to this directory.
39+
templates_path = ['_templates']
40+
41+
# The suffix(es) of source filenames.
42+
# You can specify multiple suffix as a list of string:
43+
# source_suffix = ['.rst', '.md']
44+
source_suffix = '.rst'
45+
46+
# The encoding of source files.
47+
#source_encoding = 'utf-8-sig'
48+
49+
# The master toctree document.
50+
master_doc = 'index'
51+
52+
# General information about the project.
53+
project = u'LPy'
54+
copyright = u'2017, F. Boudon, T. Cokelaer, C. Pradal and C. Godin'
55+
author = u'F. Boudon, T. Cokelaer, C. Pradal and C. Godin'
56+
57+
# The version info for the project you're documenting, acts as replacement for
58+
# |version| and |release|, also used in various other places throughout the
59+
# built documents.
60+
#
61+
# The short X.Y version.
62+
#version = u'1'
63+
# The full version, including alpha/beta/rc tags.
64+
release = u'0'
65+
66+
# The language for content autogenerated by Sphinx. Refer to documentation
67+
# for a list of supported languages.
68+
#
69+
# This is also used if you do content translation via gettext catalogs.
70+
# Usually you set "language" from the command line for these cases.
71+
language = None
72+
73+
# There are two options for replacing |today|: either, you set today to some
74+
# non-false value, then it is used:
75+
#today = ''
76+
# Else, today_fmt is used as the format for a strftime call.
77+
#today_fmt = '%B %d, %Y'
78+
79+
# List of patterns, relative to source directory, that match files and
80+
# directories to ignore when looking for source files.
81+
exclude_patterns = ['_build']
82+
83+
# The reST default role (used for this markup: `text`) to use for all
84+
# documents.
85+
#default_role = None
86+
87+
# If true, '()' will be appended to :func: etc. cross-reference text.
88+
#add_function_parentheses = True
89+
90+
# If true, the current module name will be prepended to all description
91+
# unit titles (such as .. function::).
92+
#add_module_names = True
93+
94+
# If true, sectionauthor and moduleauthor directives will be shown in the
95+
# output. They are ignored by default.
96+
#show_authors = False
97+
98+
# The name of the Pygments (syntax highlighting) style to use.
99+
pygments_style = 'sphinx'
100+
101+
# A list of ignored prefixes for module index sorting.
102+
#modindex_common_prefix = []
103+
104+
# If true, keep warnings as "system message" paragraphs in the built documents.
105+
#keep_warnings = False
106+
107+
# If true, `todo` and `todoList` produce output, else they produce nothing.
108+
todo_include_todos = False
109+
110+
111+
# -- Options for HTML output ----------------------------------------------
112+
113+
# The theme to use for HTML and HTML Help pages. See the documentation for
114+
# a list of builtin themes.
115+
#html_theme = 'classic'
116+
#html_theme = "sphinx_rtd_theme"
117+
#html_theme_path = ["_themes", ]
118+
119+
# Theme options are theme-specific and customize the look and feel of a theme
120+
# further. For a list of options available for each theme, see the
121+
# documentation.
122+
#html_theme_options = {}
123+
124+
# Add any paths that contain custom themes here, relative to this directory.
125+
#html_theme_path = []
126+
127+
# The name for this set of Sphinx documents. If None, it defaults to
128+
# "<project> v<release> documentation".
129+
#html_title = None
130+
131+
# A shorter title for the navigation bar. Default is the same as html_title.
132+
#html_short_title = None
133+
134+
# The name of an image file (relative to this directory) to place at the top
135+
# of the sidebar.
136+
#html_logo = None
137+
138+
# The name of an image file (relative to this directory) to use as a favicon of
139+
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
140+
# pixels large.
141+
#html_favicon = None
142+
143+
# Add any paths that contain custom static files (such as style sheets) here,
144+
# relative to this directory. They are copied after the builtin static files,
145+
# so a file named "default.css" will overwrite the builtin "default.css".
146+
#html_static_path = ['_static']
147+
148+
# Add any extra paths that contain custom files (such as robots.txt or
149+
# .htaccess) here, relative to this directory. These files are copied
150+
# directly to the root of the documentation.
151+
#html_extra_path = []
152+
153+
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
154+
# using the given strftime format.
155+
#html_last_updated_fmt = '%b %d, %Y'
156+
157+
# If true, SmartyPants will be used to convert quotes and dashes to
158+
# typographically correct entities.
159+
#html_use_smartypants = True
160+
161+
# Custom sidebar templates, maps document names to template names.
162+
#html_sidebars = {}
163+
164+
# Additional templates that should be rendered to pages, maps page names to
165+
# template names.
166+
#html_additional_pages = {}
167+
168+
# If false, no module index is generated.
169+
#html_domain_indices = True
170+
171+
# If false, no index is generated.
172+
#html_use_index = True
173+
174+
# If true, the index is split into individual pages for each letter.
175+
#html_split_index = False
176+
177+
# If true, links to the reST sources are added to the pages.
178+
#html_show_sourcelink = True
179+
180+
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
181+
#html_show_sphinx = True
182+
183+
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
184+
#html_show_copyright = True
185+
186+
# If true, an OpenSearch description file will be output, and all pages will
187+
# contain a <link> tag referring to it. The value of this option must be the
188+
# base URL from which the finished HTML is served.
189+
#html_use_opensearch = ''
190+
191+
# This is the file name suffix for HTML files (e.g. ".xhtml").
192+
#html_file_suffix = None
193+
194+
# Language to be used for generating the HTML full-text search index.
195+
# Sphinx supports the following languages:
196+
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
197+
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
198+
#html_search_language = 'en'
199+
200+
# A dictionary with options for the search language support, empty by default.
201+
# Now only 'ja' uses this config value
202+
#html_search_options = {'type': 'default'}
203+
204+
# The name of a javascript file (relative to the configuration directory) that
205+
# implements a search results scorer. If empty, the default will be used.
206+
#html_search_scorer = 'scorer.js'
207+
208+
# Output file base name for HTML help builder.
209+
htmlhelp_basename = 'LPydoc'
210+
211+
# -- Options for LaTeX output ---------------------------------------------
212+
213+
latex_elements = {
214+
# The paper size ('letterpaper' or 'a4paper').
215+
#'papersize': 'letterpaper',
216+
217+
# The font size ('10pt', '11pt' or '12pt').
218+
#'pointsize': '10pt',
219+
220+
# Additional stuff for the LaTeX preamble.
221+
#'preamble': '',
222+
223+
# Latex figure (float) alignment
224+
#'figure_align': 'htbp',
225+
}
226+
227+
# Grouping the document tree into LaTeX files. List of tuples
228+
# (source start file, target name, title,
229+
# author, documentclass [howto, manual, or own class]).
230+
latex_documents = [
231+
(master_doc, 'LPy.tex', u'LPy Documentation',
232+
u'F. Boudon and C. Godin', 'manual'),
233+
]
234+
235+
# The name of an image file (relative to this directory) to place at the top of
236+
# the title page.
237+
#latex_logo = None
238+
239+
# For "manual" documents, if this is true, then toplevel headings are parts,
240+
# not chapters.
241+
#latex_use_parts = False
242+
243+
# If true, show page references after internal links.
244+
#latex_show_pagerefs = False
245+
246+
# If true, show URL addresses after external links.
247+
#latex_show_urls = False
248+
249+
# Documents to append as an appendix to all manuals.
250+
#latex_appendices = []
251+
252+
# If false, no module index is generated.
253+
#latex_domain_indices = True
254+
255+
256+
# -- Options for manual page output ---------------------------------------
257+
258+
# One entry per manual page. List of tuples
259+
# (source start file, name, description, authors, manual section).
260+
man_pages = [
261+
(master_doc, 'lpy', u'LPy Documentation',
262+
[author], 1)
263+
]
264+
265+
# If true, show URL addresses after external links.
266+
#man_show_urls = False
267+
268+
269+
# -- Options for Texinfo output -------------------------------------------
270+
271+
# Grouping the document tree into Texinfo files. List of tuples
272+
# (source start file, target name, title, author,
273+
# dir menu entry, description, category)
274+
texinfo_documents = [
275+
(master_doc, 'LPy', u'LPy Documentation',
276+
author, 'LPy', 'One line description of project.',
277+
'Miscellaneous'),
278+
]
279+
280+
# Documents to append as an appendix to all manuals.
281+
#texinfo_appendices = []
282+
283+
# If false, no module index is generated.
284+
#texinfo_domain_indices = True
285+
286+
# How to display URL addresses: 'footnote', 'no', or 'inline'.
287+
#texinfo_show_urls = 'footnote'
288+
289+
# If true, do not generate a @detailmenu in the "Top" node's menu.
290+
#texinfo_no_detailmenu = False

doc/contextesouples.docx

86.5 KB
Binary file not shown.

doc/gallery.pptx

1.56 MB
Binary file not shown.

doc/user/massart.rst

Whitespace-only changes.

futur/multiprocess.py

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
from openalea.lpy import *
2+
from string import ascii_uppercase
3+
4+
lsystem = Lsystem()
5+
code = '''
6+
Axiom:
7+
8+
production:
9+
'''
10+
for l,nl in zip(ascii_uppercase, ascii_uppercase[1:]+ascii_uppercase[0]):
11+
#code += l+' --> '+nl+'\n'
12+
code += l+''' :
13+
for i in range(100):
14+
i+1
15+
produce '''+nl+'\n'
16+
code += '\n'
17+
#print(code)
18+
19+
lsystem.setCode(code)
20+
21+
#print(lstring)
22+
23+
def partial_application(lstring):
24+
return str(lsystem.iterate(Lstring(lstring)))
25+
26+
def sequential_application(lstring, length):
27+
res = list(map(partial_application,[lstring[i*length:i*length+length] for i in range(len(ascii_uppercase))]))
28+
return res
29+
30+
def parallel_application(lstring, length):
31+
from multiprocessing import Pool, cpu_count
32+
with Pool(cpu_count()) as p:
33+
res = list(p.imap(partial_application,[lstring[i*length:i*length+length] for i in range(len(ascii_uppercase))]))
34+
return res
35+
36+
if __name__ == '__main__':
37+
import sys
38+
if len(sys.argv) > 1:
39+
length = int(sys.argv[1])
40+
lstring = ''.join([l*length for l in ascii_uppercase])
41+
else:
42+
length = 100000
43+
lstring = ''.join([l*length for l in ascii_uppercase])
44+
45+
import time
46+
c = time.perf_counter()
47+
res1 = sequential_application(lstring, length)
48+
print('Sequential :',time.perf_counter()-c)
49+
c = time.perf_counter()
50+
res2 = parallel_application(lstring, length)
51+
from multiprocessing import cpu_count
52+
print('Parallel ('+str(cpu_count())+') :',time.perf_counter()-c)
53+
#print(res1)
54+
#print(res2)
55+
assert res1 == res2

0 commit comments

Comments
 (0)