Want to keep learning?

This content is taken from the Partnership for Advanced Computing in Europe (PRACE)'s online course, Python in High Performance Computing. Join the course to learn more.

Hands-on: Static typing in a simple extension

In this exercise you can practice using static type declarations in Cython modules.

The code for this exercise is located under cython/static-typing.

Continue with the simple Cython module for subtracting two numbers:

def subtract(x, y):
    result = x - y
    return result

Declare the function internal variable result as integer. Try to call the function with different types of arguments (integers and floats), what kind of results you do get?

Next, declare also the function arguments as integers, and rebuild the module (Note: if working with interactive interpreter you need to exit or reload the module). What happens when you now call the function with floating point arguments?

Finally, try to declare arguments as floating point numbers (while keeping result as integer), what happens?

Share this article:

This article is from the free online course:

Python in High Performance Computing

Partnership for Advanced Computing in Europe (PRACE)