Commit 1b964d5e authored by gabrieldemarmiesse's avatar gabrieldemarmiesse

Changed the list comprehension and also added a note about the inefficiency of this example.

parent 978640f8
......@@ -13,7 +13,7 @@ def random_noise(int number=1):
for i in range(number):
my_array[i] = ran(0, 1)
return [my_array[i] for i in range(number)]
return [x for x in my_array[:number]]
finally:
# return the previously allocated memory to the system
free(my_array)
......@@ -35,6 +35,15 @@ in cython from ``clibc.stdlib``. Their signatures are:
A very simple example of malloc usage is the following:
.. literalinclude:: ../../examples/tutorial/memory_allocation/malloc.pyx
:linenos:
.. note::
Here we take Python doubles (with ``ran(0, 1)``) and convert
them to C doubles when putting them in ``my_array``. After that,
we put them back into a Python list at line 19. So those C doubles
are converted again into Python doubles. This is highly inefficient,
and only for demo purposes.
Note that the C-API functions for allocating memory on the Python heap
are generally preferred over the low-level C functions above as the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment