umappp 0.1.5 → 0.1.6
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.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/ext/umappp/umappp.cpp +10 -6
- data/lib/umappp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4268767d4aa68fb7795e72e48a9822b629390091cd5214d460e1d99a3127a3c3
|
4
|
+
data.tar.gz: 684fdcf60aa7dc40a061927103692dda85fc2e40bb1680b0c61f014980197292
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a9d5181ec290f40b5b22079c36d90a2fe07e1072b35b933ee30da253fc0f734431081334b6fc7510317df330e7c321386bc46da742d4515a646437e70602835
|
7
|
+
data.tar.gz: 05d42582e0d559591bd22b767a6d7df7b821288fa8b44da86d8255822b49e629c15dd33e719d383a08d933ff1dfdd3fdf839e3eed7f2131dc0bf868c3ad467b4
|
data/README.md
CHANGED
data/ext/umappp/umappp.cpp
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
// Uniform Manifold Approximation and Projection for Ruby
|
2
2
|
// https://github.com/kojix2/ruby-umappp
|
3
3
|
|
4
|
-
|
5
4
|
#include <rice/rice.hpp>
|
6
5
|
#include <rice/stl.hpp>
|
7
6
|
#include "numo.hpp"
|
@@ -52,7 +51,7 @@ Object umappp_run(
|
|
52
51
|
{
|
53
52
|
// Parameters are taken from a Ruby Hash object.
|
54
53
|
// If there is key, set the value.
|
55
|
-
|
54
|
+
|
56
55
|
auto umap_ptr = new Umap;
|
57
56
|
|
58
57
|
double local_connectivity = Umap::Defaults::local_connectivity;
|
@@ -159,7 +158,7 @@ Object umappp_run(
|
|
159
158
|
num_threads = params.get<int>(Symbol("num_threads"));
|
160
159
|
umap_ptr->set_num_threads(num_threads);
|
161
160
|
}
|
162
|
-
|
161
|
+
|
163
162
|
// initialize_from_matrix
|
164
163
|
|
165
164
|
const float *y = data.read_ptr();
|
@@ -181,12 +180,16 @@ Object umappp_run(
|
|
181
180
|
std::vector<Float> embedding(ndim * nobs);
|
182
181
|
|
183
182
|
auto status = umap_ptr->initialize(knncolle_ptr.get(), ndim, embedding.data());
|
184
|
-
|
183
|
+
if (nobs < 0 || ndim < 0)
|
184
|
+
{
|
185
|
+
throw std::runtime_error("nobs or ndim is negative");
|
186
|
+
}
|
185
187
|
if (tick == 0)
|
186
188
|
{
|
187
189
|
status.run(ndim, embedding.data(), 0);
|
188
190
|
|
189
|
-
|
191
|
+
// it is safe to cast to unsigned int
|
192
|
+
auto na = numo::SFloat({(unsigned int)nobs, (unsigned int)ndim});
|
190
193
|
std::copy(embedding.begin(), embedding.end(), na.write_ptr());
|
191
194
|
|
192
195
|
return na;
|
@@ -201,7 +204,8 @@ Object umappp_run(
|
|
201
204
|
|
202
205
|
status.run(ndim, embedding.data(), epoch_limit);
|
203
206
|
|
204
|
-
|
207
|
+
//it is safe to cast to unsigned int
|
208
|
+
auto na = numo::SFloat({(unsigned int)nobs, (unsigned int)ndim});
|
205
209
|
std::copy(embedding.begin(), embedding.end(), na.write_ptr());
|
206
210
|
|
207
211
|
rb_ary_push(ret, na.value());
|
data/lib/umappp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: umappp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: numo-narray
|