/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/cares/src/lib/util/ares_math.h
58 строк
2 KB
Node.js GitHub Bot
deps: update c-ares to 1.34.8
08 июл 2026, 21:54
Не верифицирован
08 июл 2026, 21:54
a18052e
Код
Авторство
О чём код?
/* MIT License * * Copyright (c) 2024 Brad House * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * SPDX-License-Identifier: MIT */ #ifndef __ARES_MATH_H #define __ARES_MATH_H #include "ares_setup.h" #ifdef HAVE_STDINT_H # include <stdint.h> typedef int64_t ares_int64_t; typedef uint64_t ares_uint64_t; #else /* HAVE_STDINT_H */ # ifdef _MSC_VER typedef __int64 ares_int64_t; typedef unsigned __int64 ares_uint64_t; # else typedef long long ares_int64_t; typedef unsigned long long ares_uint64_t; # endif /* _MSC_VER */ #endif /* HAVE_STDINT_H */ ares_bool_t ares_is_64bit(void); size_t ares_round_up_pow2(size_t n); size_t ares_log2(size_t n); size_t ares_pow(size_t x, size_t y); size_t ares_count_digits(size_t n); size_t ares_count_hexdigits(size_t n); unsigned char ares_count_bits_u8(unsigned char x); /*! Multiply two size_t values, checking for overflow. On success writes the * product to *res and returns ARES_FALSE. On overflow returns ARES_TRUE and * leaves *res untouched. */ ares_bool_t ares_size_t_mul_overflow(size_t a, size_t b, size_t *res); #endif