"""Cython wrapper for ``triangle.f90``."""
from libcpp cimport bool as bool_t
cdef extern from "bezier/triangle.h":
void de_casteljau_one_round "BEZ_de_casteljau_one_round" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, const double* lambda1,
const double* lambda2, const double* lambda3, double* new_nodes)
void evaluate_barycentric "BEZ_evaluate_barycentric" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, const double* lambda1,
const double* lambda2, const double* lambda3, double* point)
void evaluate_barycentric_multi "BEZ_evaluate_barycentric_multi" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, const int* num_vals,
const double* param_vals, double* evaluated)
void evaluate_cartesian_multi "BEZ_evaluate_cartesian_multi" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, const int* num_vals,
const double* param_vals, double* evaluated)
void jacobian_both "BEZ_jacobian_both" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, double* new_nodes)
void jacobian_det "BEZ_jacobian_det" (
const int* num_nodes, const double* nodes,
const int* degree, const int* num_vals, const double* param_vals,
double* evaluated)
void specialize_triangle "BEZ_specialize_triangle" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, const double* weights_a,
const double* weights_b, const double* weights_c, double* specialized)
void subdivide_nodes_triangle "BEZ_subdivide_nodes_triangle" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, double* nodes_a, double* nodes_b,
double* nodes_c, double* nodes_d)
void compute_edge_nodes "BEZ_compute_edge_nodes" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* degree, double* nodes1, double* nodes2,
double* nodes3)
void compute_area "BEZ_compute_area" (
int* num_edges, int* sizes,
const double* const* nodes_pointers, double* area, bool_t* not_implemented)