isotree 0.2.2 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -1
- data/LICENSE.txt +2 -2
- data/README.md +32 -14
- data/ext/isotree/ext.cpp +144 -31
- data/ext/isotree/extconf.rb +7 -7
- data/lib/isotree/isolation_forest.rb +110 -30
- data/lib/isotree/version.rb +1 -1
- data/vendor/isotree/LICENSE +1 -1
- data/vendor/isotree/README.md +165 -27
- data/vendor/isotree/include/isotree.hpp +2116 -0
- data/vendor/isotree/include/isotree_oop.hpp +394 -0
- data/vendor/isotree/inst/COPYRIGHTS +132 -0
- data/vendor/isotree/src/RcppExports.cpp +594 -57
- data/vendor/isotree/src/Rwrapper.cpp +2452 -304
- data/vendor/isotree/src/c_interface.cpp +958 -0
- data/vendor/isotree/src/crit.hpp +4236 -0
- data/vendor/isotree/src/digamma.hpp +184 -0
- data/vendor/isotree/src/dist.hpp +1886 -0
- data/vendor/isotree/src/exp_depth_table.hpp +134 -0
- data/vendor/isotree/src/extended.hpp +1444 -0
- data/vendor/isotree/src/external_facing_generic.hpp +399 -0
- data/vendor/isotree/src/fit_model.hpp +2401 -0
- data/vendor/isotree/src/{dealloc.cpp → headers_joined.hpp} +38 -22
- data/vendor/isotree/src/helpers_iforest.hpp +814 -0
- data/vendor/isotree/src/{impute.cpp → impute.hpp} +382 -123
- data/vendor/isotree/src/indexer.cpp +515 -0
- data/vendor/isotree/src/instantiate_template_headers.cpp +118 -0
- data/vendor/isotree/src/instantiate_template_headers.hpp +240 -0
- data/vendor/isotree/src/isoforest.hpp +1659 -0
- data/vendor/isotree/src/isotree.hpp +1815 -394
- data/vendor/isotree/src/isotree_exportable.hpp +99 -0
- data/vendor/isotree/src/merge_models.cpp +159 -16
- data/vendor/isotree/src/mult.hpp +1321 -0
- data/vendor/isotree/src/oop_interface.cpp +844 -0
- data/vendor/isotree/src/oop_interface.hpp +278 -0
- data/vendor/isotree/src/other_helpers.hpp +219 -0
- data/vendor/isotree/src/predict.hpp +1932 -0
- data/vendor/isotree/src/python_helpers.hpp +114 -0
- data/vendor/isotree/src/ref_indexer.hpp +154 -0
- data/vendor/isotree/src/robinmap/LICENSE +21 -0
- data/vendor/isotree/src/robinmap/README.md +483 -0
- data/vendor/isotree/src/robinmap/include/tsl/robin_growth_policy.h +406 -0
- data/vendor/isotree/src/robinmap/include/tsl/robin_hash.h +1639 -0
- data/vendor/isotree/src/robinmap/include/tsl/robin_map.h +807 -0
- data/vendor/isotree/src/robinmap/include/tsl/robin_set.h +660 -0
- data/vendor/isotree/src/serialize.cpp +4316 -139
- data/vendor/isotree/src/sql.cpp +143 -61
- data/vendor/isotree/src/subset_models.cpp +174 -0
- data/vendor/isotree/src/utils.hpp +3786 -0
- data/vendor/isotree/src/xoshiro.hpp +463 -0
- data/vendor/isotree/src/ziggurat.hpp +405 -0
- metadata +40 -105
- data/vendor/cereal/LICENSE +0 -24
- data/vendor/cereal/README.md +0 -85
- data/vendor/cereal/include/cereal/access.hpp +0 -351
- data/vendor/cereal/include/cereal/archives/adapters.hpp +0 -163
- data/vendor/cereal/include/cereal/archives/binary.hpp +0 -169
- data/vendor/cereal/include/cereal/archives/json.hpp +0 -1019
- data/vendor/cereal/include/cereal/archives/portable_binary.hpp +0 -334
- data/vendor/cereal/include/cereal/archives/xml.hpp +0 -956
- data/vendor/cereal/include/cereal/cereal.hpp +0 -1089
- data/vendor/cereal/include/cereal/details/helpers.hpp +0 -422
- data/vendor/cereal/include/cereal/details/polymorphic_impl.hpp +0 -796
- data/vendor/cereal/include/cereal/details/polymorphic_impl_fwd.hpp +0 -65
- data/vendor/cereal/include/cereal/details/static_object.hpp +0 -127
- data/vendor/cereal/include/cereal/details/traits.hpp +0 -1411
- data/vendor/cereal/include/cereal/details/util.hpp +0 -84
- data/vendor/cereal/include/cereal/external/base64.hpp +0 -134
- data/vendor/cereal/include/cereal/external/rapidjson/allocators.h +0 -284
- data/vendor/cereal/include/cereal/external/rapidjson/cursorstreamwrapper.h +0 -78
- data/vendor/cereal/include/cereal/external/rapidjson/document.h +0 -2652
- data/vendor/cereal/include/cereal/external/rapidjson/encodedstream.h +0 -299
- data/vendor/cereal/include/cereal/external/rapidjson/encodings.h +0 -716
- data/vendor/cereal/include/cereal/external/rapidjson/error/en.h +0 -74
- data/vendor/cereal/include/cereal/external/rapidjson/error/error.h +0 -161
- data/vendor/cereal/include/cereal/external/rapidjson/filereadstream.h +0 -99
- data/vendor/cereal/include/cereal/external/rapidjson/filewritestream.h +0 -104
- data/vendor/cereal/include/cereal/external/rapidjson/fwd.h +0 -151
- data/vendor/cereal/include/cereal/external/rapidjson/internal/biginteger.h +0 -290
- data/vendor/cereal/include/cereal/external/rapidjson/internal/diyfp.h +0 -271
- data/vendor/cereal/include/cereal/external/rapidjson/internal/dtoa.h +0 -245
- data/vendor/cereal/include/cereal/external/rapidjson/internal/ieee754.h +0 -78
- data/vendor/cereal/include/cereal/external/rapidjson/internal/itoa.h +0 -308
- data/vendor/cereal/include/cereal/external/rapidjson/internal/meta.h +0 -186
- data/vendor/cereal/include/cereal/external/rapidjson/internal/pow10.h +0 -55
- data/vendor/cereal/include/cereal/external/rapidjson/internal/regex.h +0 -740
- data/vendor/cereal/include/cereal/external/rapidjson/internal/stack.h +0 -232
- data/vendor/cereal/include/cereal/external/rapidjson/internal/strfunc.h +0 -69
- data/vendor/cereal/include/cereal/external/rapidjson/internal/strtod.h +0 -290
- data/vendor/cereal/include/cereal/external/rapidjson/internal/swap.h +0 -46
- data/vendor/cereal/include/cereal/external/rapidjson/istreamwrapper.h +0 -128
- data/vendor/cereal/include/cereal/external/rapidjson/memorybuffer.h +0 -70
- data/vendor/cereal/include/cereal/external/rapidjson/memorystream.h +0 -71
- data/vendor/cereal/include/cereal/external/rapidjson/msinttypes/inttypes.h +0 -316
- data/vendor/cereal/include/cereal/external/rapidjson/msinttypes/stdint.h +0 -300
- data/vendor/cereal/include/cereal/external/rapidjson/ostreamwrapper.h +0 -81
- data/vendor/cereal/include/cereal/external/rapidjson/pointer.h +0 -1414
- data/vendor/cereal/include/cereal/external/rapidjson/prettywriter.h +0 -277
- data/vendor/cereal/include/cereal/external/rapidjson/rapidjson.h +0 -656
- data/vendor/cereal/include/cereal/external/rapidjson/reader.h +0 -2230
- data/vendor/cereal/include/cereal/external/rapidjson/schema.h +0 -2497
- data/vendor/cereal/include/cereal/external/rapidjson/stream.h +0 -223
- data/vendor/cereal/include/cereal/external/rapidjson/stringbuffer.h +0 -121
- data/vendor/cereal/include/cereal/external/rapidjson/writer.h +0 -709
- data/vendor/cereal/include/cereal/external/rapidxml/license.txt +0 -52
- data/vendor/cereal/include/cereal/external/rapidxml/manual.html +0 -406
- data/vendor/cereal/include/cereal/external/rapidxml/rapidxml.hpp +0 -2624
- data/vendor/cereal/include/cereal/external/rapidxml/rapidxml_iterators.hpp +0 -175
- data/vendor/cereal/include/cereal/external/rapidxml/rapidxml_print.hpp +0 -428
- data/vendor/cereal/include/cereal/external/rapidxml/rapidxml_utils.hpp +0 -123
- data/vendor/cereal/include/cereal/macros.hpp +0 -154
- data/vendor/cereal/include/cereal/specialize.hpp +0 -139
- data/vendor/cereal/include/cereal/types/array.hpp +0 -79
- data/vendor/cereal/include/cereal/types/atomic.hpp +0 -55
- data/vendor/cereal/include/cereal/types/base_class.hpp +0 -203
- data/vendor/cereal/include/cereal/types/bitset.hpp +0 -176
- data/vendor/cereal/include/cereal/types/boost_variant.hpp +0 -164
- data/vendor/cereal/include/cereal/types/chrono.hpp +0 -72
- data/vendor/cereal/include/cereal/types/common.hpp +0 -129
- data/vendor/cereal/include/cereal/types/complex.hpp +0 -56
- data/vendor/cereal/include/cereal/types/concepts/pair_associative_container.hpp +0 -73
- data/vendor/cereal/include/cereal/types/deque.hpp +0 -62
- data/vendor/cereal/include/cereal/types/forward_list.hpp +0 -68
- data/vendor/cereal/include/cereal/types/functional.hpp +0 -43
- data/vendor/cereal/include/cereal/types/list.hpp +0 -62
- data/vendor/cereal/include/cereal/types/map.hpp +0 -36
- data/vendor/cereal/include/cereal/types/memory.hpp +0 -425
- data/vendor/cereal/include/cereal/types/optional.hpp +0 -66
- data/vendor/cereal/include/cereal/types/polymorphic.hpp +0 -483
- data/vendor/cereal/include/cereal/types/queue.hpp +0 -132
- data/vendor/cereal/include/cereal/types/set.hpp +0 -103
- data/vendor/cereal/include/cereal/types/stack.hpp +0 -76
- data/vendor/cereal/include/cereal/types/string.hpp +0 -61
- data/vendor/cereal/include/cereal/types/tuple.hpp +0 -123
- data/vendor/cereal/include/cereal/types/unordered_map.hpp +0 -36
- data/vendor/cereal/include/cereal/types/unordered_set.hpp +0 -99
- data/vendor/cereal/include/cereal/types/utility.hpp +0 -47
- data/vendor/cereal/include/cereal/types/valarray.hpp +0 -89
- data/vendor/cereal/include/cereal/types/variant.hpp +0 -109
- data/vendor/cereal/include/cereal/types/vector.hpp +0 -112
- data/vendor/cereal/include/cereal/version.hpp +0 -52
- data/vendor/isotree/src/Makevars +0 -4
- data/vendor/isotree/src/crit.cpp +0 -912
- data/vendor/isotree/src/dist.cpp +0 -749
- data/vendor/isotree/src/extended.cpp +0 -790
- data/vendor/isotree/src/fit_model.cpp +0 -1090
- data/vendor/isotree/src/helpers_iforest.cpp +0 -324
- data/vendor/isotree/src/isoforest.cpp +0 -771
- data/vendor/isotree/src/mult.cpp +0 -607
- data/vendor/isotree/src/predict.cpp +0 -853
- data/vendor/isotree/src/utils.cpp +0 -1566
@@ -1,65 +0,0 @@
|
|
1
|
-
/*! \file polymorphic_impl_fwd.hpp
|
2
|
-
\brief Internal polymorphism support forward declarations
|
3
|
-
\ingroup Internal */
|
4
|
-
/*
|
5
|
-
Copyright (c) 2014, Randolph Voorhies, Shane Grant
|
6
|
-
All rights reserved.
|
7
|
-
|
8
|
-
Redistribution and use in source and binary forms, with or without
|
9
|
-
modification, are permitted provided that the following conditions are met:
|
10
|
-
* Redistributions of source code must retain the above copyright
|
11
|
-
notice, this list of conditions and the following disclaimer.
|
12
|
-
* Redistributions in binary form must reproduce the above copyright
|
13
|
-
notice, this list of conditions and the following disclaimer in the
|
14
|
-
documentation and/or other materials provided with the distribution.
|
15
|
-
* Neither the name of cereal nor the
|
16
|
-
names of its contributors may be used to endorse or promote products
|
17
|
-
derived from this software without specific prior written permission.
|
18
|
-
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL RANDOLPH VOORHIES OR SHANE GRANT BE LIABLE FOR ANY
|
23
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
25
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
26
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
28
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
*/
|
30
|
-
|
31
|
-
/* This code is heavily inspired by the boost serialization implementation by the following authors
|
32
|
-
|
33
|
-
(C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
|
34
|
-
Use, modification and distribution is subject to the Boost Software
|
35
|
-
License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt)
|
36
|
-
|
37
|
-
See http://www.boost.org for updates, documentation, and revision history.
|
38
|
-
|
39
|
-
(C) Copyright 2006 David Abrahams - http://www.boost.org.
|
40
|
-
|
41
|
-
See /boost/serialization/export.hpp and /boost/archive/detail/register_archive.hpp for their
|
42
|
-
implementation.
|
43
|
-
*/
|
44
|
-
|
45
|
-
#ifndef CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_
|
46
|
-
#define CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_
|
47
|
-
|
48
|
-
namespace cereal
|
49
|
-
{
|
50
|
-
namespace detail
|
51
|
-
{
|
52
|
-
//! Forward declaration, see polymorphic_impl.hpp for more information
|
53
|
-
template <class Base, class Derived>
|
54
|
-
struct RegisterPolymorphicCaster;
|
55
|
-
|
56
|
-
//! Forward declaration, see polymorphic_impl.hpp for more information
|
57
|
-
struct PolymorphicCasters;
|
58
|
-
|
59
|
-
//! Forward declaration, see polymorphic_impl.hpp for more information
|
60
|
-
template <class Base, class Derived>
|
61
|
-
struct PolymorphicRelation;
|
62
|
-
} // namespace detail
|
63
|
-
} // namespace cereal
|
64
|
-
|
65
|
-
#endif // CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_
|
@@ -1,127 +0,0 @@
|
|
1
|
-
/*! \file static_object.hpp
|
2
|
-
\brief Internal polymorphism static object support
|
3
|
-
\ingroup Internal */
|
4
|
-
/*
|
5
|
-
Copyright (c) 2014, Randolph Voorhies, Shane Grant
|
6
|
-
All rights reserved.
|
7
|
-
Redistribution and use in source and binary forms, with or without
|
8
|
-
modification, are permitted provided that the following conditions are met:
|
9
|
-
* Redistributions of source code must retain the above copyright
|
10
|
-
notice, this list of conditions and the following disclaimer.
|
11
|
-
* Redistributions in binary form must reproduce the above copyright
|
12
|
-
notice, this list of conditions and the following disclaimer in the
|
13
|
-
documentation and/or other materials provided with the distribution.
|
14
|
-
* Neither the name of cereal nor the
|
15
|
-
names of its contributors may be used to endorse or promote products
|
16
|
-
derived from this software without specific prior written permission.
|
17
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
18
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
19
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
20
|
-
DISCLAIMED. IN NO EVENT SHALL RANDOLPH VOORHIES OR SHANE GRANT BE LIABLE FOR ANY
|
21
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
22
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
23
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
24
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
*/
|
28
|
-
#ifndef CEREAL_DETAILS_STATIC_OBJECT_HPP_
|
29
|
-
#define CEREAL_DETAILS_STATIC_OBJECT_HPP_
|
30
|
-
|
31
|
-
#include "cereal/macros.hpp"
|
32
|
-
|
33
|
-
#if CEREAL_THREAD_SAFE
|
34
|
-
#include <mutex>
|
35
|
-
#endif
|
36
|
-
|
37
|
-
//! Prevent link optimization from removing non-referenced static objects
|
38
|
-
/*! Especially for polymorphic support, we create static objects which
|
39
|
-
may not ever be explicitly referenced. Most linkers will detect this
|
40
|
-
and remove the code causing various unpleasant runtime errors. These
|
41
|
-
macros, adopted from Boost (see force_include.hpp) prevent this
|
42
|
-
(C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
|
43
|
-
Use, modification and distribution is subject to the Boost Software
|
44
|
-
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
45
|
-
http://www.boost.org/LICENSE_1_0.txt) */
|
46
|
-
|
47
|
-
#ifdef _MSC_VER
|
48
|
-
# define CEREAL_DLL_EXPORT __declspec(dllexport)
|
49
|
-
# define CEREAL_USED
|
50
|
-
#else // clang or gcc
|
51
|
-
# define CEREAL_DLL_EXPORT __attribute__ ((visibility("default")))
|
52
|
-
# define CEREAL_USED __attribute__ ((__used__))
|
53
|
-
#endif
|
54
|
-
|
55
|
-
namespace cereal
|
56
|
-
{
|
57
|
-
namespace detail
|
58
|
-
{
|
59
|
-
//! A static, pre-execution object
|
60
|
-
/*! This class will create a single copy (singleton) of some
|
61
|
-
type and ensures that merely referencing this type will
|
62
|
-
cause it to be instantiated and initialized pre-execution.
|
63
|
-
For example, this is used heavily in the polymorphic pointer
|
64
|
-
serialization mechanisms to bind various archive types with
|
65
|
-
different polymorphic classes */
|
66
|
-
template <class T>
|
67
|
-
class CEREAL_DLL_EXPORT StaticObject
|
68
|
-
{
|
69
|
-
private:
|
70
|
-
|
71
|
-
static T & create()
|
72
|
-
{
|
73
|
-
static T t;
|
74
|
-
//! Forces instantiation at pre-execution time
|
75
|
-
(void)instance;
|
76
|
-
return t;
|
77
|
-
}
|
78
|
-
|
79
|
-
StaticObject( StaticObject const & /*other*/ ) {}
|
80
|
-
|
81
|
-
public:
|
82
|
-
static T & getInstance()
|
83
|
-
{
|
84
|
-
return create();
|
85
|
-
}
|
86
|
-
|
87
|
-
//! A class that acts like std::lock_guard
|
88
|
-
class LockGuard
|
89
|
-
{
|
90
|
-
#if CEREAL_THREAD_SAFE
|
91
|
-
public:
|
92
|
-
LockGuard(std::mutex & m) : lock(m) {}
|
93
|
-
private:
|
94
|
-
std::unique_lock<std::mutex> lock;
|
95
|
-
#else
|
96
|
-
public:
|
97
|
-
LockGuard(LockGuard const &) = default; // prevents implicit copy ctor warning
|
98
|
-
~LockGuard() CEREAL_NOEXCEPT {} // prevents variable not used
|
99
|
-
#endif
|
100
|
-
};
|
101
|
-
|
102
|
-
//! Attempts to lock this static object for the current scope
|
103
|
-
/*! @note This function is a no-op if cereal is not compiled with
|
104
|
-
thread safety enabled (CEREAL_THREAD_SAFE = 1).
|
105
|
-
|
106
|
-
This function returns an object that holds a lock for
|
107
|
-
this StaticObject that will release its lock upon destruction. This
|
108
|
-
call will block until the lock is available. */
|
109
|
-
static LockGuard lock()
|
110
|
-
{
|
111
|
-
#if CEREAL_THREAD_SAFE
|
112
|
-
static std::mutex instanceMutex;
|
113
|
-
return LockGuard{instanceMutex};
|
114
|
-
#else
|
115
|
-
return LockGuard{};
|
116
|
-
#endif
|
117
|
-
}
|
118
|
-
|
119
|
-
private:
|
120
|
-
static T & instance;
|
121
|
-
};
|
122
|
-
|
123
|
-
template <class T> T & StaticObject<T>::instance = StaticObject<T>::create();
|
124
|
-
} // namespace detail
|
125
|
-
} // namespace cereal
|
126
|
-
|
127
|
-
#endif // CEREAL_DETAILS_STATIC_OBJECT_HPP_
|