xref: /libCEED/rust/libceed-sys/c-src/include/ceed/ceed-f32.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 FP32 floating point (single
19*80a9ef05SNatalie Beams /// precision) for CeedScalar.  Include this header in ceed/ceed.h to use
20*80a9ef05SNatalie Beams /// float instead of double.
21*80a9ef05SNatalie Beams #ifndef _ceed_f32_h
22*80a9ef05SNatalie Beams #define _ceed_f32_h
23*80a9ef05SNatalie Beams 
24*80a9ef05SNatalie Beams /// Set base scalar type to FP32.  (See CeedScalarType enum in ceed/ceed.h
25*80a9ef05SNatalie Beams /// for all options.)
26*80a9ef05SNatalie Beams #define CEED_SCALAR_TYPE CEED_SCALAR_FP32
27*80a9ef05SNatalie Beams typedef float CeedScalar;
28*80a9ef05SNatalie Beams 
29*80a9ef05SNatalie Beams /// Machine epsilon
30*80a9ef05SNatalie Beams #define CEED_EPSILON 6e-08
31*80a9ef05SNatalie Beams 
32*80a9ef05SNatalie Beams #endif
33