## CGAL::Filtered_kernel<CK>

### Definition

*Filtered_kernel<CK>*is a kernel that uses the filtering technique based
on interval arithmetic from [BBP01] to achieve
exact and efficient predicates. In addition, a few selected important
predicates are implemented using the formally proved, semi-static, filtering
techniques from [MP05].

The geometric constructions are exactly those
of the kernel *CK*, which means that they are not necessarily exact.

### Is Model for the Concepts

*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*.