xref: /libCEED/rust/libceed-sys/c-src/include/ceed/ceed-f64.h (revision 80a9ef0545a39c00cdcaab1ca26f8053604f3120)
1*80a9ef05SNatalie Beams /// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2*80a9ef05SNatalie Beams /// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3*80a9ef05SNatalie Beams /// reserved. See files LICENSE and NOTICE for details.
4*80a9ef05SNatalie Beams ///
5*80a9ef05SNatalie Beams /// This file is part of CEED, a collection of benchmarks, miniapps, software
6*80a9ef05SNatalie Beams /// libraries and APIs for efficient high-order finite element and spectral
7*80a9ef05SNatalie Beams /// element discretizations for exascale applications. For more information and
8*80a9ef05SNatalie Beams /// source code availability see http://github.com/ceed.
9*80a9ef05SNatalie Beams ///
10*80a9ef05SNatalie Beams /// The CEED research is supported by the Exascale Computing Project 17-SC-20-SC,
11*80a9ef05SNatalie Beams /// a collaborative effort of two U.S. Department of Energy organizations (Office
12*80a9ef05SNatalie Beams /// of Science and the National Nuclear Security Administration) responsible for
13*80a9ef05SNatalie Beams /// the planning and preparation of a capable exascale ecosystem, including
14*80a9ef05SNatalie Beams /// software, applications, hardware, advanced system engineering and early
15*80a9ef05SNatalie Beams /// testbed platforms, in support of the nation's exascale computing imperative.
16*80a9ef05SNatalie Beams 
17*80a9ef05SNatalie Beams /// @file
18*80a9ef05SNatalie Beams /// Public header for definitions related to using FP64 floating point (double
19*80a9ef05SNatalie Beams /// precision) for CeedScalar. This is the default header included in ceed/ceed.h.
20*80a9ef05SNatalie Beams #ifndef _ceed_f64_h
21*80a9ef05SNatalie Beams #define _ceed_f64_h
22*80a9ef05SNatalie Beams 
23*80a9ef05SNatalie Beams /// Set base scalar type to FP64.  (See CeedScalarType enum in ceed/ceed.h
24*80a9ef05SNatalie Beams /// for all options.)
25*80a9ef05SNatalie Beams #define CEED_SCALAR_TYPE CEED_SCALAR_FP64
26*80a9ef05SNatalie Beams typedef double CeedScalar;
27*80a9ef05SNatalie Beams 
28*80a9ef05SNatalie Beams /// Machine epsilon
29*80a9ef05SNatalie Beams #define CEED_EPSILON 1e-16
30*80a9ef05SNatalie Beams 
31*80a9ef05SNatalie Beams #endif
32