xref: /libCEED/rust/libceed-sys/c-src/include/ceed/ceed-f32.h (revision 9ba83ac0e4b1fca39d6fa6737a318a9f0cbc172d)
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 FP32 floating point (single precision) for CeedScalar.
1049aac155SJeremy L Thompson /// Include this header in ceed.h to use float instead of double.
116a96780fSJeremy L Thompson #pragma once
126a96780fSJeremy L Thompson 
136a96780fSJeremy L Thompson #define CEED_SCALAR_IS_FP32
1480a9ef05SNatalie Beams 
1549aac155SJeremy L Thompson /// Set base scalar type to FP32. (See CeedScalarType enum in ceed.h for all options.)
1680a9ef05SNatalie Beams #define CEED_SCALAR_TYPE CEED_SCALAR_FP32
1780a9ef05SNatalie Beams typedef float CeedScalar;
1880a9ef05SNatalie Beams 
1980a9ef05SNatalie Beams /// Machine epsilon
2080a9ef05SNatalie Beams #define CEED_EPSILON 6e-08
21