With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

Calling C functions

We can call C functions from Cython. In this example, we call the C log() function. This function works on a single number only. Remember that the NumPy log() function can also work with arrays. We will compute the so-called log returns of stock prices.

How to do it...

We start by writing some Cython code:

1. First, import the C log() function from the libc namespace. Then, apply this function to numbers in a for loop. Finally, use the NumPy diff() function to get the first-order difference between the log values in the second step:
from libc.math cimport log
import numpy as np

def logrets(numbers):
logs = [log(x) for x in numbers]
return np.diff(logs)

Building has been covered in the previous recipes. We only need to change some values ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required