v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
ranges.h
Go to the documentation of this file.
1// Copyright 2017 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Slightly adapted for inclusion in V8.
6// Copyright 2025 the V8 project authors. All rights reserved.
7
8#ifndef V8_BASE_NUMERICS_RANGES_H_
9#define V8_BASE_NUMERICS_RANGES_H_
10
11#include <cmath>
12#include <type_traits>
13
14namespace v8::base {
15
16template <typename T>
17constexpr bool IsApproximatelyEqual(T lhs, T rhs, T tolerance) {
18 static_assert(std::is_arithmetic_v<T>, "Argument must be arithmetic");
19 return std::abs(rhs - lhs) <= tolerance;
20}
21
22} // namespace v8::base
23
24#endif // V8_BASE_NUMERICS_RANGES_H_
constexpr bool IsApproximatelyEqual(T lhs, T rhs, T tolerance)
Definition ranges.h:17