catboost 1.25.1 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEPLOYMENT.md +22 -15
- package/README.md +37 -27
- package/binding.gyp +5 -7
- package/build_scripts/bootstrap.js +2 -1
- package/build_scripts/out/build.js +46 -68
- package/build_scripts/out/build_model.js +1 -1
- package/build_scripts/out/{build_ya.js → build_native.js} +1 -1
- package/build_scripts/out/ci.js +5 -5
- package/build_scripts/out/config.js +32 -18
- package/build_scripts/out/install.js +5 -3
- package/build_scripts/out/package_prepublish.js +1 -1
- package/build_scripts/out/packaging.js +1 -19
- package/build_scripts/out/run_tests.js +1 -1
- package/build_scripts/out/test.js +8 -3
- package/config.json +18 -11
- package/inc/catboost/libs/model_interface/c_api.h +349 -3
- package/lib/catboost.d.ts +65 -21
- package/package.json +4 -4
- package/src/api_helpers.cpp +100 -24
- package/src/api_helpers.h +8 -7
- package/src/api_module.cpp +1 -2
- package/src/model.cpp +483 -83
- package/src/model.h +24 -9
- package/inc/contrib/libs/cxxsupp/system_stl/include/stlfwd +0 -14
- package/inc/util/charset/recode_result.h +0 -9
- package/inc/util/charset/unicode_table.h +0 -123
- package/inc/util/charset/unidata.h +0 -421
- package/inc/util/charset/utf8.h +0 -384
- package/inc/util/charset/wide.h +0 -843
- package/inc/util/charset/wide_specific.h +0 -22
- package/inc/util/datetime/base.h +0 -669
- package/inc/util/datetime/constants.h +0 -7
- package/inc/util/datetime/cputimer.h +0 -124
- package/inc/util/datetime/parser.h +0 -292
- package/inc/util/datetime/systime.h +0 -47
- package/inc/util/datetime/uptime.h +0 -8
- package/inc/util/digest/city.h +0 -88
- package/inc/util/digest/fnv.h +0 -73
- package/inc/util/digest/multi.h +0 -14
- package/inc/util/digest/murmur.h +0 -57
- package/inc/util/digest/numeric.h +0 -86
- package/inc/util/digest/sequence.h +0 -48
- package/inc/util/draft/date.h +0 -129
- package/inc/util/draft/datetime.h +0 -184
- package/inc/util/draft/enum.h +0 -136
- package/inc/util/draft/holder_vector.h +0 -102
- package/inc/util/draft/ip.h +0 -131
- package/inc/util/draft/matrix.h +0 -108
- package/inc/util/draft/memory.h +0 -40
- package/inc/util/folder/dirent_win.h +0 -46
- package/inc/util/folder/dirut.h +0 -121
- package/inc/util/folder/filelist.h +0 -81
- package/inc/util/folder/fts.h +0 -108
- package/inc/util/folder/iterator.h +0 -109
- package/inc/util/folder/lstat_win.h +0 -20
- package/inc/util/folder/path.h +0 -225
- package/inc/util/folder/pathsplit.h +0 -113
- package/inc/util/folder/tempdir.h +0 -42
- package/inc/util/generic/adaptor.h +0 -134
- package/inc/util/generic/algorithm.h +0 -765
- package/inc/util/generic/array_ref.h +0 -282
- package/inc/util/generic/array_size.h +0 -24
- package/inc/util/generic/benchmark/vector_count_ctor/f.h +0 -9
- package/inc/util/generic/bitmap.h +0 -1115
- package/inc/util/generic/bitops.h +0 -459
- package/inc/util/generic/bt_exception.h +0 -24
- package/inc/util/generic/buffer.h +0 -232
- package/inc/util/generic/cast.h +0 -176
- package/inc/util/generic/deque.h +0 -24
- package/inc/util/generic/explicit_type.h +0 -42
- package/inc/util/generic/fastqueue.h +0 -55
- package/inc/util/generic/flags.h +0 -244
- package/inc/util/generic/function.h +0 -103
- package/inc/util/generic/fwd.h +0 -171
- package/inc/util/generic/guid.h +0 -61
- package/inc/util/generic/hash.h +0 -2032
- package/inc/util/generic/hash_primes.h +0 -140
- package/inc/util/generic/hash_set.h +0 -490
- package/inc/util/generic/hide_ptr.h +0 -3
- package/inc/util/generic/intrlist.h +0 -876
- package/inc/util/generic/is_in.h +0 -53
- package/inc/util/generic/iterator.h +0 -137
- package/inc/util/generic/iterator_range.h +0 -105
- package/inc/util/generic/lazy_value.h +0 -66
- package/inc/util/generic/list.h +0 -22
- package/inc/util/generic/map.h +0 -44
- package/inc/util/generic/mapfindptr.h +0 -60
- package/inc/util/generic/maybe.h +0 -713
- package/inc/util/generic/maybe_traits.h +0 -164
- package/inc/util/generic/mem_copy.h +0 -55
- package/inc/util/generic/noncopyable.h +0 -38
- package/inc/util/generic/object_counter.h +0 -53
- package/inc/util/generic/ptr.h +0 -1113
- package/inc/util/generic/queue.h +0 -57
- package/inc/util/generic/refcount.h +0 -162
- package/inc/util/generic/reserve.h +0 -11
- package/inc/util/generic/scope.h +0 -65
- package/inc/util/generic/serialized_enum.h +0 -406
- package/inc/util/generic/set.h +0 -42
- package/inc/util/generic/singleton.h +0 -136
- package/inc/util/generic/size_literals.h +0 -65
- package/inc/util/generic/stack.h +0 -18
- package/inc/util/generic/store_policy.h +0 -120
- package/inc/util/generic/strbase.h +0 -612
- package/inc/util/generic/strbuf.h +0 -552
- package/inc/util/generic/strfcpy.h +0 -17
- package/inc/util/generic/string.h +0 -1572
- package/inc/util/generic/string_hash.h +0 -21
- package/inc/util/generic/string_ut.h +0 -1175
- package/inc/util/generic/type_name.h +0 -34
- package/inc/util/generic/typelist.h +0 -114
- package/inc/util/generic/typetraits.h +0 -325
- package/inc/util/generic/utility.h +0 -132
- package/inc/util/generic/va_args.h +0 -400
- package/inc/util/generic/variant.h +0 -631
- package/inc/util/generic/variant_traits.h +0 -171
- package/inc/util/generic/vector.h +0 -119
- package/inc/util/generic/xrange.h +0 -258
- package/inc/util/generic/yexception.h +0 -212
- package/inc/util/generic/yexception_ut.h +0 -14
- package/inc/util/generic/ylimits.h +0 -92
- package/inc/util/generic/ymath.h +0 -206
- package/inc/util/memory/addstorage.h +0 -93
- package/inc/util/memory/alloc.h +0 -27
- package/inc/util/memory/blob.h +0 -296
- package/inc/util/memory/mmapalloc.h +0 -8
- package/inc/util/memory/pool.h +0 -432
- package/inc/util/memory/segmented_string_pool.h +0 -194
- package/inc/util/memory/segpool_alloc.h +0 -118
- package/inc/util/memory/smallobj.h +0 -141
- package/inc/util/memory/tempbuf.h +0 -111
- package/inc/util/network/address.h +0 -136
- package/inc/util/network/endpoint.h +0 -61
- package/inc/util/network/hostip.h +0 -16
- package/inc/util/network/init.h +0 -60
- package/inc/util/network/interface.h +0 -17
- package/inc/util/network/iovec.h +0 -65
- package/inc/util/network/ip.h +0 -116
- package/inc/util/network/nonblock.h +0 -8
- package/inc/util/network/pair.h +0 -9
- package/inc/util/network/poller.h +0 -58
- package/inc/util/network/pollerimpl.h +0 -707
- package/inc/util/network/sock.h +0 -608
- package/inc/util/network/socket.h +0 -421
- package/inc/util/random/common_ops.h +0 -130
- package/inc/util/random/easy.h +0 -47
- package/inc/util/random/entropy.h +0 -21
- package/inc/util/random/fast.h +0 -101
- package/inc/util/random/init_atfork.h +0 -3
- package/inc/util/random/lcg_engine.h +0 -66
- package/inc/util/random/mersenne.h +0 -46
- package/inc/util/random/mersenne32.h +0 -50
- package/inc/util/random/mersenne64.h +0 -50
- package/inc/util/random/normal.h +0 -38
- package/inc/util/random/random.h +0 -30
- package/inc/util/random/shuffle.h +0 -39
- package/inc/util/str_stl.h +0 -266
- package/inc/util/stream/aligned.h +0 -99
- package/inc/util/stream/buffer.h +0 -119
- package/inc/util/stream/buffered.h +0 -225
- package/inc/util/stream/debug.h +0 -53
- package/inc/util/stream/direct_io.h +0 -43
- package/inc/util/stream/file.h +0 -108
- package/inc/util/stream/format.h +0 -444
- package/inc/util/stream/fwd.h +0 -100
- package/inc/util/stream/hex.h +0 -8
- package/inc/util/stream/holder.h +0 -44
- package/inc/util/stream/input.h +0 -273
- package/inc/util/stream/labeled.h +0 -19
- package/inc/util/stream/length.h +0 -100
- package/inc/util/stream/mem.h +0 -255
- package/inc/util/stream/multi.h +0 -32
- package/inc/util/stream/null.h +0 -61
- package/inc/util/stream/output.h +0 -304
- package/inc/util/stream/pipe.h +0 -112
- package/inc/util/stream/printf.h +0 -25
- package/inc/util/stream/str.h +0 -207
- package/inc/util/stream/tee.h +0 -28
- package/inc/util/stream/tempbuf.h +0 -21
- package/inc/util/stream/tokenizer.h +0 -214
- package/inc/util/stream/trace.h +0 -60
- package/inc/util/stream/walk.h +0 -35
- package/inc/util/stream/zerocopy.h +0 -91
- package/inc/util/stream/zerocopy_output.h +0 -57
- package/inc/util/stream/zlib.h +0 -173
- package/inc/util/string/ascii.h +0 -236
- package/inc/util/string/builder.h +0 -39
- package/inc/util/string/cast.h +0 -347
- package/inc/util/string/cstriter.h +0 -14
- package/inc/util/string/escape.h +0 -70
- package/inc/util/string/hex.h +0 -59
- package/inc/util/string/join.h +0 -194
- package/inc/util/string/printf.h +0 -13
- package/inc/util/string/reverse.h +0 -16
- package/inc/util/string/split.h +0 -1080
- package/inc/util/string/strip.h +0 -257
- package/inc/util/string/strspn.h +0 -65
- package/inc/util/string/subst.h +0 -56
- package/inc/util/string/type.h +0 -50
- package/inc/util/string/util.h +0 -195
- package/inc/util/string/vector.h +0 -132
- package/inc/util/system/align.h +0 -50
- package/inc/util/system/atexit.h +0 -22
- package/inc/util/system/atomic.h +0 -51
- package/inc/util/system/atomic_gcc.h +0 -90
- package/inc/util/system/atomic_ops.h +0 -189
- package/inc/util/system/atomic_win.h +0 -114
- package/inc/util/system/backtrace.h +0 -39
- package/inc/util/system/byteorder.h +0 -186
- package/inc/util/system/compat.h +0 -84
- package/inc/util/system/compiler.h +0 -620
- package/inc/util/system/condvar.h +0 -71
- package/inc/util/system/context.h +0 -181
- package/inc/util/system/context_aarch64.h +0 -8
- package/inc/util/system/context_i686.h +0 -9
- package/inc/util/system/context_x86.h +0 -12
- package/inc/util/system/context_x86_64.h +0 -7
- package/inc/util/system/cpu_id.h +0 -159
- package/inc/util/system/daemon.h +0 -28
- package/inc/util/system/datetime.h +0 -98
- package/inc/util/system/defaults.h +0 -149
- package/inc/util/system/demangle.h +0 -5
- package/inc/util/system/demangle_impl.h +0 -23
- package/inc/util/system/direct_io.h +0 -71
- package/inc/util/system/dynlib.h +0 -119
- package/inc/util/system/env.h +0 -32
- package/inc/util/system/error.h +0 -95
- package/inc/util/system/event.h +0 -122
- package/inc/util/system/execpath.h +0 -17
- package/inc/util/system/fasttime.h +0 -6
- package/inc/util/system/fhandle.h +0 -27
- package/inc/util/system/file.h +0 -210
- package/inc/util/system/file_lock.h +0 -34
- package/inc/util/system/filemap.h +0 -383
- package/inc/util/system/flock.h +0 -35
- package/inc/util/system/fs.h +0 -156
- package/inc/util/system/fs_win.h +0 -29
- package/inc/util/system/fstat.h +0 -46
- package/inc/util/system/getpid.h +0 -12
- package/inc/util/system/guard.h +0 -179
- package/inc/util/system/hi_lo.h +0 -139
- package/inc/util/system/hostname.h +0 -10
- package/inc/util/system/hp_timer.h +0 -36
- package/inc/util/system/info.h +0 -12
- package/inc/util/system/interrupt_signals.h +0 -22
- package/inc/util/system/madvise.h +0 -30
- package/inc/util/system/maxlen.h +0 -32
- package/inc/util/system/mem_info.h +0 -18
- package/inc/util/system/mincore.h +0 -38
- package/inc/util/system/mktemp.h +0 -11
- package/inc/util/system/mlock.h +0 -43
- package/inc/util/system/mutex.h +0 -67
- package/inc/util/system/nice.h +0 -3
- package/inc/util/system/pipe.h +0 -90
- package/inc/util/system/platform.h +0 -246
- package/inc/util/system/progname.h +0 -13
- package/inc/util/system/protect.h +0 -25
- package/inc/util/system/rusage.h +0 -26
- package/inc/util/system/rwlock.h +0 -78
- package/inc/util/system/sanitizers.h +0 -122
- package/inc/util/system/sem.h +0 -41
- package/inc/util/system/shellcommand.h +0 -472
- package/inc/util/system/shmat.h +0 -32
- package/inc/util/system/sigset.h +0 -78
- package/inc/util/system/spin_wait.h +0 -10
- package/inc/util/system/spinlock.h +0 -121
- package/inc/util/system/src_location.h +0 -25
- package/inc/util/system/src_root.h +0 -68
- package/inc/util/system/sys_alloc.h +0 -43
- package/inc/util/system/sysstat.h +0 -52
- package/inc/util/system/tempfile.h +0 -34
- package/inc/util/system/thread.h +0 -167
- package/inc/util/system/tls.h +0 -307
- package/inc/util/system/types.h +0 -119
- package/inc/util/system/unaligned_mem.h +0 -67
- package/inc/util/system/user.h +0 -5
- package/inc/util/system/utime.h +0 -6
- package/inc/util/system/valgrind.h +0 -48
- package/inc/util/system/winint.h +0 -43
- package/inc/util/system/yassert.h +0 -121
- package/inc/util/system/yield.h +0 -4
- package/inc/util/thread/factory.h +0 -65
- package/inc/util/thread/fwd.h +0 -30
- package/inc/util/thread/lfqueue.h +0 -406
- package/inc/util/thread/lfstack.h +0 -188
- package/inc/util/thread/pool.h +0 -388
- package/inc/util/thread/singleton.h +0 -42
- package/inc/util/ysafeptr.h +0 -427
- package/inc/util/ysaveload.h +0 -700
package/inc/util/system/types.h
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
// DO_NOT_STYLE
|
|
4
|
-
|
|
5
|
-
#include "platform.h"
|
|
6
|
-
|
|
7
|
-
#include <inttypes.h>
|
|
8
|
-
|
|
9
|
-
typedef int8_t i8;
|
|
10
|
-
typedef int16_t i16;
|
|
11
|
-
typedef uint8_t ui8;
|
|
12
|
-
typedef uint16_t ui16;
|
|
13
|
-
|
|
14
|
-
typedef int yssize_t;
|
|
15
|
-
#define PRIYSZT "d"
|
|
16
|
-
|
|
17
|
-
#if defined(_darwin_) && defined(_32_)
|
|
18
|
-
typedef unsigned long ui32;
|
|
19
|
-
typedef long i32;
|
|
20
|
-
#else
|
|
21
|
-
typedef uint32_t ui32;
|
|
22
|
-
typedef int32_t i32;
|
|
23
|
-
#endif
|
|
24
|
-
|
|
25
|
-
#if defined(_darwin_) && defined(_64_)
|
|
26
|
-
typedef unsigned long ui64;
|
|
27
|
-
typedef long i64;
|
|
28
|
-
#else
|
|
29
|
-
typedef uint64_t ui64;
|
|
30
|
-
typedef int64_t i64;
|
|
31
|
-
#endif
|
|
32
|
-
|
|
33
|
-
#define LL(number) INT64_C(number)
|
|
34
|
-
#define ULL(number) UINT64_C(number)
|
|
35
|
-
|
|
36
|
-
// Macro for size_t and ptrdiff_t types
|
|
37
|
-
#if defined(_32_)
|
|
38
|
-
# if defined(_darwin_)
|
|
39
|
-
# define PRISZT "lu"
|
|
40
|
-
# undef PRIi32
|
|
41
|
-
# define PRIi32 "li"
|
|
42
|
-
# undef SCNi32
|
|
43
|
-
# define SCNi32 "li"
|
|
44
|
-
# undef PRId32
|
|
45
|
-
# define PRId32 "li"
|
|
46
|
-
# undef SCNd32
|
|
47
|
-
# define SCNd32 "li"
|
|
48
|
-
# undef PRIu32
|
|
49
|
-
# define PRIu32 "lu"
|
|
50
|
-
# undef SCNu32
|
|
51
|
-
# define SCNu32 "lu"
|
|
52
|
-
# undef PRIx32
|
|
53
|
-
# define PRIx32 "lx"
|
|
54
|
-
# undef SCNx32
|
|
55
|
-
# define SCNx32 "lx"
|
|
56
|
-
# elif !defined(_cygwin_)
|
|
57
|
-
# define PRISZT PRIu32
|
|
58
|
-
# else
|
|
59
|
-
# define PRISZT "u"
|
|
60
|
-
# endif
|
|
61
|
-
# define SCNSZT SCNu32
|
|
62
|
-
# define PRIPDT PRIi32
|
|
63
|
-
# define SCNPDT SCNi32
|
|
64
|
-
# define PRITMT PRIi32
|
|
65
|
-
# define SCNTMT SCNi32
|
|
66
|
-
#elif defined(_64_)
|
|
67
|
-
# if defined(_darwin_)
|
|
68
|
-
# define PRISZT "lu"
|
|
69
|
-
# undef PRIu64
|
|
70
|
-
# define PRIu64 PRISZT
|
|
71
|
-
# undef PRIx64
|
|
72
|
-
# define PRIx64 "lx"
|
|
73
|
-
# undef PRIX64
|
|
74
|
-
# define PRIX64 "lX"
|
|
75
|
-
# undef PRId64
|
|
76
|
-
# define PRId64 "ld"
|
|
77
|
-
# undef PRIi64
|
|
78
|
-
# define PRIi64 "li"
|
|
79
|
-
# undef SCNi64
|
|
80
|
-
# define SCNi64 "li"
|
|
81
|
-
# undef SCNu64
|
|
82
|
-
# define SCNu64 "lu"
|
|
83
|
-
# undef SCNx64
|
|
84
|
-
# define SCNx64 "lx"
|
|
85
|
-
# else
|
|
86
|
-
# define PRISZT PRIu64
|
|
87
|
-
# endif
|
|
88
|
-
# define SCNSZT SCNu64
|
|
89
|
-
# define PRIPDT PRIi64
|
|
90
|
-
# define SCNPDT SCNi64
|
|
91
|
-
# define PRITMT PRIi64
|
|
92
|
-
# define SCNTMT SCNi64
|
|
93
|
-
#else
|
|
94
|
-
# error "Unsupported platform"
|
|
95
|
-
#endif
|
|
96
|
-
|
|
97
|
-
// SUPERLONG
|
|
98
|
-
#if !defined(DONT_USE_SUPERLONG) && !defined(SUPERLONG_MAX)
|
|
99
|
-
#define SUPERLONG_MAX ~LL(0)
|
|
100
|
-
typedef i64 SUPERLONG;
|
|
101
|
-
#endif
|
|
102
|
-
|
|
103
|
-
// UNICODE
|
|
104
|
-
#ifdef __cplusplus
|
|
105
|
-
// UCS-2, native byteorder
|
|
106
|
-
typedef char16_t wchar16;
|
|
107
|
-
// internal symbol type: UTF-16LE
|
|
108
|
-
typedef wchar16 TChar;
|
|
109
|
-
typedef char32_t wchar32;
|
|
110
|
-
#endif
|
|
111
|
-
|
|
112
|
-
#if defined(_MSC_VER)
|
|
113
|
-
#include <basetsd.h>
|
|
114
|
-
typedef SSIZE_T ssize_t;
|
|
115
|
-
#define HAVE_SSIZE_T 1
|
|
116
|
-
#include <wchar.h>
|
|
117
|
-
#endif
|
|
118
|
-
|
|
119
|
-
#include <sys/types.h>
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include "defaults.h"
|
|
4
|
-
#include "yassert.h"
|
|
5
|
-
|
|
6
|
-
#include <string.h>
|
|
7
|
-
#include <type_traits>
|
|
8
|
-
|
|
9
|
-
// The following code used to have smart tricks assuming that unaligned reads and writes are OK on x86. This assumption
|
|
10
|
-
// is wrong because compiler may emit alignment-sensitive x86 instructions e.g. movaps. See IGNIETFERRO-735.
|
|
11
|
-
|
|
12
|
-
template <class T>
|
|
13
|
-
inline T ReadUnaligned(const void* from) noexcept {
|
|
14
|
-
T ret;
|
|
15
|
-
memcpy(&ret, from, sizeof(T));
|
|
16
|
-
return ret;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// std::remove_reference_t for non-deduced context to prevent such code to blow below:
|
|
20
|
-
// ui8 first = f(); ui8 second = g();
|
|
21
|
-
// WriteUnaligned(to, first - second) (int will be deduced)
|
|
22
|
-
template <class T>
|
|
23
|
-
inline void WriteUnaligned(void* to, const std::remove_reference_t<T>& t) noexcept {
|
|
24
|
-
memcpy(to, &t, sizeof(T));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
template <class T, unsigned Align = sizeof(T)>
|
|
28
|
-
class TUnalignedMemoryIterator {
|
|
29
|
-
public:
|
|
30
|
-
inline TUnalignedMemoryIterator(const void* buf, size_t len)
|
|
31
|
-
: C_((const unsigned char*)buf)
|
|
32
|
-
, E_(C_ + len)
|
|
33
|
-
, L_(E_ - (len % Align))
|
|
34
|
-
{
|
|
35
|
-
Y_FAKE_READ(buf);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
inline bool AtEnd() const noexcept {
|
|
39
|
-
return C_ == L_;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
inline T Cur() const noexcept {
|
|
43
|
-
Y_ASSERT(C_ < L_ || sizeof(T) < Align);
|
|
44
|
-
return ::ReadUnaligned<T>(C_);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
inline T Next() noexcept {
|
|
48
|
-
T ret(Cur());
|
|
49
|
-
|
|
50
|
-
C_ += sizeof(T);
|
|
51
|
-
|
|
52
|
-
return ret;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
inline const unsigned char* Last() const noexcept {
|
|
56
|
-
return C_;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
inline size_t Left() const noexcept {
|
|
60
|
-
return E_ - C_;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private:
|
|
64
|
-
const unsigned char* C_;
|
|
65
|
-
const unsigned char* E_;
|
|
66
|
-
const unsigned char* L_;
|
|
67
|
-
};
|
package/inc/util/system/user.h
DELETED
package/inc/util/system/utime.h
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#if defined(WITH_VALGRIND) && defined(HAVE_VALGRIND)
|
|
4
|
-
#include <valgrind/valgrind.h>
|
|
5
|
-
#include <valgrind/memcheck.h>
|
|
6
|
-
|
|
7
|
-
#if !defined(VALGRIND_CHECK_READABLE)
|
|
8
|
-
#define VALGRIND_CHECK_READABLE(s, l) VALGRIND_CHECK_MEM_IS_DEFINED(s, l)
|
|
9
|
-
#endif
|
|
10
|
-
|
|
11
|
-
#if !defined(VALGRIND_MAKE_READABLE)
|
|
12
|
-
#define VALGRIND_MAKE_READABLE(a, b) VALGRIND_MAKE_MEM_DEFINED(a, b)
|
|
13
|
-
#endif
|
|
14
|
-
#else
|
|
15
|
-
#define RUNNING_ON_VALGRIND 0
|
|
16
|
-
#define VALGRIND_CHECK_READABLE(s, l)
|
|
17
|
-
#define VALGRIND_MAKE_READABLE(a, b) 0
|
|
18
|
-
#define VALGRIND_STACK_REGISTER(start, end) 0
|
|
19
|
-
#define VALGRIND_STACK_DEREGISTER(id)
|
|
20
|
-
#define VALGRIND_DISCARD(v) ((void)v)
|
|
21
|
-
static inline int VALGRIND_PRINTF(...) {
|
|
22
|
-
return 0;
|
|
23
|
-
}
|
|
24
|
-
#define VALGRIND_DO_LEAK_CHECK
|
|
25
|
-
#endif
|
|
26
|
-
|
|
27
|
-
namespace NValgrind {
|
|
28
|
-
inline constexpr static bool ValgrindIsOn() noexcept {
|
|
29
|
-
#if defined(WITH_VALGRIND)
|
|
30
|
-
return true;
|
|
31
|
-
#else
|
|
32
|
-
return false;
|
|
33
|
-
#endif
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Returns valgrinded if running under Valgrind and plain otherwise
|
|
37
|
-
// Ment to be used in test code for constants (timeouts, etc)
|
|
38
|
-
template <typename T>
|
|
39
|
-
inline constexpr static T PlainOrUnderValgrind(T plain, T valgrinded) noexcept {
|
|
40
|
-
#if defined(WITH_VALGRIND)
|
|
41
|
-
Y_UNUSED(plain);
|
|
42
|
-
return valgrinded;
|
|
43
|
-
#else
|
|
44
|
-
Y_UNUSED(valgrinded);
|
|
45
|
-
return plain;
|
|
46
|
-
#endif
|
|
47
|
-
}
|
|
48
|
-
}
|
package/inc/util/system/winint.h
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include "platform.h"
|
|
4
|
-
|
|
5
|
-
#if defined(_win_)
|
|
6
|
-
|
|
7
|
-
#ifndef WIN32_LEAN_AND_MEAN
|
|
8
|
-
#define WIN32_LEAN_AND_MEAN
|
|
9
|
-
#endif
|
|
10
|
-
|
|
11
|
-
#ifndef NOMINMAX
|
|
12
|
-
#define NOMINMAX
|
|
13
|
-
#endif
|
|
14
|
-
|
|
15
|
-
#include <windows.h>
|
|
16
|
-
|
|
17
|
-
#undef GetFreeSpace
|
|
18
|
-
#undef LoadImage
|
|
19
|
-
#undef GetMessage
|
|
20
|
-
#undef SendMessage
|
|
21
|
-
#undef DeleteFile
|
|
22
|
-
#undef OPTIONAL
|
|
23
|
-
#undef GetUserName
|
|
24
|
-
#undef CreateMutex
|
|
25
|
-
#undef GetObject
|
|
26
|
-
#undef GetGeoInfo
|
|
27
|
-
#undef GetClassName
|
|
28
|
-
#undef LANG_LAO
|
|
29
|
-
#undef GetKValue
|
|
30
|
-
#undef StartDoc
|
|
31
|
-
#undef UpdateResource
|
|
32
|
-
#undef GetNameInfo
|
|
33
|
-
#undef GetProp
|
|
34
|
-
#undef SetProp
|
|
35
|
-
#undef RemoveProp
|
|
36
|
-
|
|
37
|
-
#undef IGNORE
|
|
38
|
-
#undef ERROR
|
|
39
|
-
#undef TRANSPARENT
|
|
40
|
-
|
|
41
|
-
#undef CM_NONE
|
|
42
|
-
|
|
43
|
-
#endif
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include "defaults.h"
|
|
4
|
-
#include "src_root.h"
|
|
5
|
-
#include "backtrace.h"
|
|
6
|
-
|
|
7
|
-
#if defined(_MSC_VER)
|
|
8
|
-
#include <new>
|
|
9
|
-
#if defined(_DEBUG)
|
|
10
|
-
#if defined(_CRTDBG_MAP_ALLOC)
|
|
11
|
-
#include <cstdlib> /* definitions for malloc/calloc */
|
|
12
|
-
#include <malloc.h> /* must be before their redefinitions as _*_dbg() */
|
|
13
|
-
#endif
|
|
14
|
-
#include <crtdbg.h>
|
|
15
|
-
#else
|
|
16
|
-
#endif
|
|
17
|
-
#include <cassert>
|
|
18
|
-
#elif defined(__GNUC__)
|
|
19
|
-
#ifdef _sun_
|
|
20
|
-
#include <alloca.h>
|
|
21
|
-
#endif
|
|
22
|
-
#include <cassert>
|
|
23
|
-
#endif
|
|
24
|
-
|
|
25
|
-
#if !defined(_MSC_VER)
|
|
26
|
-
|
|
27
|
-
#if defined(__x86_64__) || defined(__i386__)
|
|
28
|
-
#define __debugbreak ydebugbreak
|
|
29
|
-
inline void ydebugbreak() {
|
|
30
|
-
__asm__ volatile("int $3\n");
|
|
31
|
-
}
|
|
32
|
-
#else
|
|
33
|
-
inline void __debugbreak() {
|
|
34
|
-
assert(0);
|
|
35
|
-
}
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
inline bool YaIsDebuggerPresent() {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
#else
|
|
43
|
-
// __debugbreak is intrinsic in MSVC
|
|
44
|
-
|
|
45
|
-
extern "C" {
|
|
46
|
-
__declspec(dllimport) int __stdcall IsDebuggerPresent();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
inline bool YaIsDebuggerPresent() {
|
|
50
|
-
return IsDebuggerPresent() != 0;
|
|
51
|
-
}
|
|
52
|
-
#endif
|
|
53
|
-
|
|
54
|
-
#undef Y_ASSERT
|
|
55
|
-
|
|
56
|
-
#if !defined(NDEBUG) && !defined(__GCCXML__)
|
|
57
|
-
#define Y_ASSERT(a) \
|
|
58
|
-
do { \
|
|
59
|
-
try { \
|
|
60
|
-
if (Y_UNLIKELY(!(a))) { \
|
|
61
|
-
if (YaIsDebuggerPresent()) \
|
|
62
|
-
__debugbreak(); \
|
|
63
|
-
else { \
|
|
64
|
-
PrintBackTrace(); \
|
|
65
|
-
assert(false && (a)); \
|
|
66
|
-
} \
|
|
67
|
-
} \
|
|
68
|
-
} catch (...) { \
|
|
69
|
-
if (YaIsDebuggerPresent()) \
|
|
70
|
-
__debugbreak(); \
|
|
71
|
-
else { \
|
|
72
|
-
PrintBackTrace(); \
|
|
73
|
-
assert(false && "Exception during assert"); \
|
|
74
|
-
} \
|
|
75
|
-
} \
|
|
76
|
-
} while (false)
|
|
77
|
-
#else
|
|
78
|
-
#define Y_ASSERT(a) \
|
|
79
|
-
do { \
|
|
80
|
-
if (false) { \
|
|
81
|
-
auto __xxx = static_cast<bool>(a); \
|
|
82
|
-
Y_UNUSED(__xxx); \
|
|
83
|
-
} \
|
|
84
|
-
} while (false)
|
|
85
|
-
#endif
|
|
86
|
-
|
|
87
|
-
namespace NPrivate {
|
|
88
|
-
/// method should not be used directly
|
|
89
|
-
[[noreturn]] void Panic(const TStaticBuf& file, int line, const char* function, const char* expr, const char* format, ...) noexcept Y_PRINTF_FORMAT(5, 6);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/// Assert that does not depend on NDEBUG macro and outputs message like printf
|
|
93
|
-
#define Y_VERIFY(expr, ...) \
|
|
94
|
-
do { \
|
|
95
|
-
if (Y_UNLIKELY(!(expr))) { \
|
|
96
|
-
::NPrivate::Panic(__SOURCE_FILE_IMPL__, __LINE__, __FUNCTION__, #expr, " " __VA_ARGS__); \
|
|
97
|
-
} \
|
|
98
|
-
} while (false)
|
|
99
|
-
|
|
100
|
-
#define Y_FAIL(...) \
|
|
101
|
-
do { \
|
|
102
|
-
::NPrivate::Panic(__SOURCE_FILE_IMPL__, __LINE__, __FUNCTION__, nullptr, " " __VA_ARGS__); \
|
|
103
|
-
} while (false)
|
|
104
|
-
|
|
105
|
-
#ifndef NDEBUG
|
|
106
|
-
/// Assert that depend on NDEBUG macro and outputs message like printf
|
|
107
|
-
#define Y_VERIFY_DEBUG(expr, ...) \
|
|
108
|
-
do { \
|
|
109
|
-
if (Y_UNLIKELY(!(expr))) { \
|
|
110
|
-
::NPrivate::Panic(__SOURCE_FILE_IMPL__, __LINE__, __FUNCTION__, #expr, " " __VA_ARGS__); \
|
|
111
|
-
} \
|
|
112
|
-
} while (false)
|
|
113
|
-
#else
|
|
114
|
-
#define Y_VERIFY_DEBUG(expr, ...) \
|
|
115
|
-
do { \
|
|
116
|
-
if (false) { \
|
|
117
|
-
bool __xxx = static_cast<bool>(expr); \
|
|
118
|
-
Y_UNUSED(__xxx); \
|
|
119
|
-
} \
|
|
120
|
-
} while (false)
|
|
121
|
-
#endif
|
package/inc/util/system/yield.h
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <util/generic/ptr.h>
|
|
4
|
-
#include <functional>
|
|
5
|
-
|
|
6
|
-
class IThreadFactory {
|
|
7
|
-
public:
|
|
8
|
-
class IThreadAble {
|
|
9
|
-
public:
|
|
10
|
-
inline IThreadAble() noexcept = default;
|
|
11
|
-
|
|
12
|
-
virtual ~IThreadAble() = default;
|
|
13
|
-
|
|
14
|
-
inline void Execute() {
|
|
15
|
-
DoExecute();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
private:
|
|
19
|
-
virtual void DoExecute() = 0;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
class IThread {
|
|
23
|
-
friend class IThreadFactory;
|
|
24
|
-
|
|
25
|
-
public:
|
|
26
|
-
inline IThread() noexcept = default;
|
|
27
|
-
|
|
28
|
-
virtual ~IThread() = default;
|
|
29
|
-
|
|
30
|
-
inline void Join() noexcept {
|
|
31
|
-
DoJoin();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
private:
|
|
35
|
-
inline void Run(IThreadAble* func) {
|
|
36
|
-
DoRun(func);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
private:
|
|
40
|
-
// it's actually DoStart
|
|
41
|
-
virtual void DoRun(IThreadAble* func) = 0;
|
|
42
|
-
virtual void DoJoin() noexcept = 0;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
inline IThreadFactory() noexcept = default;
|
|
46
|
-
|
|
47
|
-
virtual ~IThreadFactory() = default;
|
|
48
|
-
|
|
49
|
-
// XXX: rename to Start
|
|
50
|
-
inline THolder<IThread> Run(IThreadAble* func) {
|
|
51
|
-
THolder<IThread> ret(DoCreate());
|
|
52
|
-
|
|
53
|
-
ret->Run(func);
|
|
54
|
-
|
|
55
|
-
return ret;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
THolder<IThread> Run(std::function<void()> func);
|
|
59
|
-
|
|
60
|
-
private:
|
|
61
|
-
virtual IThread* DoCreate() = 0;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
IThreadFactory* SystemThreadFactory();
|
|
65
|
-
void SetSystemThreadFactory(IThreadFactory* pool);
|
package/inc/util/thread/fwd.h
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <stlfwd>
|
|
4
|
-
|
|
5
|
-
struct TDefaultLFCounter;
|
|
6
|
-
|
|
7
|
-
template <class T, class TCounter = TDefaultLFCounter>
|
|
8
|
-
class TLockFreeQueue;
|
|
9
|
-
|
|
10
|
-
template <class T, class TCounter = TDefaultLFCounter>
|
|
11
|
-
class TAutoLockFreeQueue;
|
|
12
|
-
|
|
13
|
-
template <class T>
|
|
14
|
-
class TLockFreeStack;
|
|
15
|
-
|
|
16
|
-
class IThreadFactory;
|
|
17
|
-
|
|
18
|
-
struct IObjectInQueue;
|
|
19
|
-
class TThreadFactoryHolder;
|
|
20
|
-
|
|
21
|
-
using TThreadFunction = std::function<void()>;
|
|
22
|
-
|
|
23
|
-
class IThreadPool;
|
|
24
|
-
class TFakeThreadPool;
|
|
25
|
-
class TThreadPool;
|
|
26
|
-
class TAdaptiveThreadPool;
|
|
27
|
-
class TSimpleThreadPool;
|
|
28
|
-
|
|
29
|
-
template <class TQueueType, class TSlave>
|
|
30
|
-
class TThreadPoolBinder;
|