xref: /libCEED/rust/libceed-sys/c-src/include/ceed/ceed-f64.h (revision d4cc18453651bd0f94c1a2e078b2646a92dafdcc)
1*9ba83ac0SJeremy L Thompson /// Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2c9c2c079SJeremy L Thompson /// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3c9c2c079SJeremy L Thompson ///
4c9c2c079SJeremy L Thompson /// SPDX-License-Identifier: BSD-2-Clause
5c9c2c079SJeremy L Thompson ///
6c9c2c079SJeremy L Thompson /// This file is part of CEED:  http://github.com/ceed
780a9ef05SNatalie Beams 
880a9ef05SNatalie Beams /// @file
9ea61e9acSJeremy L Thompson /// Public header for definitions related to using FP64 floating point (double precision) for CeedScalar.
1049aac155SJeremy L Thompson /// This is the default header included in ceed.h.
116a96780fSJeremy L Thompson #pragma once
126a96780fSJeremy L Thompson 
136a96780fSJeremy L Thompson #define CEED_SCALAR_IS_FP64
1480a9ef05SNatalie Beams 
1549aac155SJeremy L Thompson /// Set base scalar type to FP64. (See CeedScalarType enum in ceed.h for all options.)
1680a9ef05SNatalie Beams #define CEED_SCALAR_TYPE CEED_SCALAR_FP64
1780a9ef05SNatalie Beams typedef double CeedScalar;
1880a9ef05SNatalie Beams 
1980a9ef05SNatalie Beams /// Machine epsilon
2080a9ef05SNatalie Beams #define CEED_EPSILON 1e-16
21