## CGAL::Filtered_kernel<CK>

### Definition

Filtered_kernel<CK>is a kernel that uses the filtering technique [BBP01] to achieve a kernel with exact and efficient predicates. The geometric constructions are exactly those of the kernel CK, which means that they are not necessarily exact.

### Is Model for the Concept

Kernel

#include <CGAL/Filtered_kernel.h>

### Example

The following example shows how to produce a kernel whose geometric objects and constructions are those of Simple_cartesian<double> but the predicates are exact.

    #include <CGAL/Simple_cartesian.h>
    #include <CGAL/Filtered_kernel.h>

    typedef CGAL::Simple_cartesian<double> CK;
    typedef CGAL::Filtered_kernel<CK> K;

### Implementation

The implementation uses CGAL::Filtered_predicate<EP, FP, C2E, C2F> over each predicate of the kernel traits interface. Additionally, faster static filters are used for a few selected critical predicates. The static filters can be disabled by compiling with -DCGAL_NO_STATIC_FILTERS.