summaryrefslogtreecommitdiffstats
path: root/src/inlined.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2018-11-07 12:22:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2018-11-07 12:22:44 +0000
commit1e6c93250172946eeb38e94a92a1fd12c9d3011e (patch)
tree8ca5e16dfc7ad6b3bf2738ca0a48408a950f8f7e /src/inlined.h
parentUpdate watch file (diff)
downloadnetdata-1e6c93250172946eeb38e94a92a1fd12c9d3011e.tar.xz
netdata-1e6c93250172946eeb38e94a92a1fd12c9d3011e.zip
Merging upstream version 1.11.0+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/inlined.h')
-rw-r--r--src/inlined.h291
1 files changed, 0 insertions, 291 deletions
diff --git a/src/inlined.h b/src/inlined.h
deleted file mode 100644
index 9ab2dca7..00000000
--- a/src/inlined.h
+++ /dev/null
@@ -1,291 +0,0 @@
-#ifndef NETDATA_INLINED_H
-#define NETDATA_INLINED_H
-
-#include "common.h"
-
-#ifdef KERNEL_32BIT
-typedef uint32_t kernel_uint_t;
-#define str2kernel_uint_t(string) str2uint32_t(string)
-#define KERNEL_UINT_FORMAT "%u"
-#else
-typedef uint64_t kernel_uint_t;
-#define str2kernel_uint_t(string) str2uint64_t(string)
-#define KERNEL_UINT_FORMAT "%" PRIu64
-#endif
-
-#define str2pid_t(string) str2uint32_t(string)
-
-
-// for faster execution, allow the compiler to inline
-// these functions that are called thousands of times per second
-
-static inline uint32_t simple_hash(const char *name) {
- unsigned char *s = (unsigned char *) name;
- uint32_t hval = 0x811c9dc5;
- while (*s) {
- hval *= 16777619;
- hval ^= (uint32_t) *s++;
- }
- return hval;
-}
-
-static inline uint32_t simple_uhash(const char *name) {
- unsigned char *s = (unsigned char *) name;
- uint32_t hval = 0x811c9dc5, c;
- while ((c = *s++)) {
- if (unlikely(c >= 'A' && c <= 'Z')) c += 'a' - 'A';
- hval *= 16777619;
- hval ^= c;
- }
- return hval;
-}
-
-static inline int simple_hash_strcmp(const char *name, const char *b, uint32_t *hash) {
- unsigned char *s = (unsigned char *) name;
- uint32_t hval = 0x811c9dc5;
- int ret = 0;
- while (*s) {
- if(!ret) ret = *s - *b++;
- hval *= 16777619;
- hval ^= (uint32_t) *s++;
- }
- *hash = hval;
- return ret;
-}
-
-static inline int str2i(const char *s) {
- int n = 0;
- char c, negative = (*s == '-');
-
- for(c = (negative)?*(++s):*s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
-
- if(unlikely(negative))
- return -n;
-
- return n;
-}
-
-static inline long str2l(const char *s) {
- long n = 0;
- char c, negative = (*s == '-');
-
- for(c = (negative)?*(++s):*s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
-
- if(unlikely(negative))
- return -n;
-
- return n;
-}
-
-static inline uint32_t str2uint32_t(const char *s) {
- uint32_t n = 0;
- char c;
- for(c = *s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
- return n;
-}
-
-static inline uint64_t str2uint64_t(const char *s) {
- uint64_t n = 0;
- char c;
- for(c = *s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
- return n;
-}
-
-static inline unsigned long str2ul(const char *s) {
- unsigned long n = 0;
- char c;
- for(c = *s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
- return n;
-}
-
-static inline unsigned long long str2ull(const char *s) {
- unsigned long long n = 0;
- char c;
- for(c = *s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
- return n;
-}
-
-static inline long long str2ll(const char *s, char **endptr) {
- int negative = 0;
-
- if(unlikely(*s == '-')) {
- s++;
- negative = 1;
- }
- else if(unlikely(*s == '+'))
- s++;
-
- long long n = 0;
- char c;
- for(c = *s; c >= '0' && c <= '9' ; c = *(++s)) {
- n *= 10;
- n += c - '0';
- }
-
- if(unlikely(endptr))
- *endptr = (char *)s;
-
- if(unlikely(negative))
- return -n;
- else
- return n;
-}
-
-static inline long double str2ld(const char *s, char **endptr) {
- int negative = 0;
- const char *start = s;
- unsigned long long integer_part = 0;
- unsigned long decimal_part = 0;
- size_t decimal_digits = 0;
-
- switch(*s) {
- case '-':
- s++;
- negative = 1;
- break;
-
- case '+':
- s++;
- break;
-
- case 'n':
- if(s[1] == 'a' && s[2] == 'n') {
- if(endptr) *endptr = (char *)&s[3];
- return NAN;
- }
- break;
-
- case 'i':
- if(s[1] == 'n' && s[2] == 'f') {
- if(endptr) *endptr = (char *)&s[3];
- return INFINITY;
- }
- break;
-
- default:
- break;
- }
-
- while (*s >= '0' && *s <= '9') {
- integer_part = (integer_part * 10) + (*s - '0');
- s++;
- }
-
- if(unlikely(*s == '.')) {
- decimal_part = 0;
- s++;
-
- while (*s >= '0' && *s <= '9') {
- decimal_part = (decimal_part * 10) + (*s - '0');
- s++;
- decimal_digits++;
- }
- }
-
- if(unlikely(*s == 'e' || *s == 'E'))
- return strtold(start, endptr);
-
- if(unlikely(endptr))
- *endptr = (char *)s;
-
- if(unlikely(negative)) {
- if(unlikely(decimal_digits))
- return -((long double)integer_part + (long double)decimal_part / powl(10.0, decimal_digits));
- else
- return -((long double)integer_part);
- }
- else {
- if(unlikely(decimal_digits))
- return (long double)integer_part + (long double)decimal_part / powl(10.0, decimal_digits);
- else
- return (long double)integer_part;
- }
-}
-
-#ifdef NETDATA_STRCMP_OVERRIDE
-#ifdef strcmp
-#undef strcmp
-#endif
-#define strcmp(a, b) strsame(a, b)
-#endif // NETDATA_STRCMP_OVERRIDE
-
-static inline int strsame(const char *a, const char *b) {
- if(unlikely(a == b)) return 0;
- while(*a && *a == *b) { a++; b++; }
- return *a - *b;
-}
-
-static inline char *strncpyz(char *dst, const char *src, size_t n) {
- char *p = dst;
-
- while (*src && n--)
- *dst++ = *src++;
-
- *dst = '\0';
-
- return p;
-}
-
-static inline int read_file(const char *filename, char *buffer, size_t size) {
- int fd = open(filename, O_RDONLY, 0666);
- if(unlikely(fd == -1))
- return 1;
-
- ssize_t r = read(fd, buffer, size);
- if(unlikely(r == -1)) {
- close(fd);
- return 2;
- }
- buffer[r] = '\0';
-
- close(fd);
- return 0;
-}
-
-static inline int read_single_number_file(const char *filename, unsigned long long *result) {
- char buffer[30 + 1];
-
- int ret = read_file(filename, buffer, 30);
- if(unlikely(ret)) {
- *result = 0;
- return ret;
- }
-
- buffer[30] = '\0';
- *result = str2ull(buffer);
- return 0;
-}
-
-static inline int read_single_signed_number_file(const char *filename, long long *result) {
- char buffer[30 + 1];
-
- int ret = read_file(filename, buffer, 30);
- if(unlikely(ret)) {
- *result = 0;
- return ret;
- }
-
- buffer[30] = '\0';
- *result = atoll(buffer);
- return 0;
-}
-
-#endif //NETDATA_INLINED_H