## CGAL::Circular_kernel_2<LinearKernel,AlgebraicKernelForCircles>

*#include <CGAL/Circular_kernel_2.h>*

### Is Model for the Concepts

*CircularKernel*

### Parameters

The circular kernel is parameterized by a *LinearKernel* parameter
(and derives from it), in order to reuse all needed functionalities on
basic linear objects provided by one of the CGAL kernels. It also
allows other implementations of these basic functionalities.

The second parameter, *AlgebraicKernelForCircles*, is meant to provide the
circular kernel with all the algebraic functionalities required for the
manipulation of algebraic curves.

### Inherits From

*LinearKernel*

### Types

The circular kernel uses basic number types of the algebraic kernel:

In fact, the two number types *AlgebraicKernelForCircles::RT* and
*LinearKernel::RT* must coincide, as well as
*AlgebraicKernelForCircles::FT* and *LinearKernel::FT*.
The following types are available, as well as all the functionality on
them described in the *CircularKernel* concept.

### See Also

*LinearKernel*

*AlgebraicKernelForCircles*

*CGAL::Exact_circular_kernel_2*