Author: Jean-Franc̜ois Patarin