numo-narray 0.9.0.3 → 0.9.0.4
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 +12 -6
- data/Rakefile +2 -10
- data/ext/numo/narray/array.c +1 -6
- data/ext/numo/narray/data.c +3 -9
- data/ext/numo/narray/depend.erb +1 -1
- data/ext/numo/narray/extconf.rb +0 -1
- data/ext/numo/narray/gen/def/bit.rb +2 -0
- data/ext/numo/narray/gen/def/dcomplex.rb +2 -0
- data/ext/numo/narray/gen/def/dfloat.rb +2 -0
- data/ext/numo/narray/gen/def/int16.rb +2 -0
- data/ext/numo/narray/gen/def/int32.rb +2 -0
- data/ext/numo/narray/gen/def/int64.rb +2 -0
- data/ext/numo/narray/gen/def/int8.rb +2 -0
- data/ext/numo/narray/gen/def/robject.rb +2 -0
- data/ext/numo/narray/gen/def/scomplex.rb +2 -0
- data/ext/numo/narray/gen/def/sfloat.rb +2 -0
- data/ext/numo/narray/gen/def/uint16.rb +2 -0
- data/ext/numo/narray/gen/def/uint32.rb +2 -0
- data/ext/numo/narray/gen/def/uint64.rb +2 -0
- data/ext/numo/narray/gen/def/uint8.rb +2 -0
- data/ext/numo/narray/gen/dtype.erb.c +7 -7
- data/ext/numo/narray/gen/spec.rb +24 -2
- data/ext/numo/narray/gen/tmpl/accum_binary.c +6 -0
- data/ext/numo/narray/gen/tmpl/aref.c +6 -4
- data/ext/numo/narray/gen/tmpl/aset.c +6 -4
- data/ext/numo/narray/gen/tmpl/binary.c +4 -0
- data/ext/numo/narray/gen/tmpl/binary2.c +4 -0
- data/ext/numo/narray/gen/tmpl/bincount.c +180 -0
- data/ext/numo/narray/gen/tmpl/cast.c +4 -0
- data/ext/numo/narray/gen/tmpl/cast_array.c +3 -64
- data/ext/numo/narray/gen/tmpl/cond_binary.c +4 -0
- data/ext/numo/narray/gen/tmpl/inspect.c +4 -0
- data/ext/numo/narray/gen/tmpl/pow.c +4 -0
- data/ext/numo/narray/gen/tmpl/qsort.c +1 -7
- data/ext/numo/narray/gen/tmpl/rand.c +13 -2
- data/ext/numo/narray/gen/tmpl/rand_norm.c +89 -16
- data/ext/numo/narray/gen/tmpl/store.c +4 -0
- data/ext/numo/narray/gen/tmpl/store_array.c +99 -2
- data/ext/numo/narray/gen/tmpl_bit/allocate.c +1 -1
- data/ext/numo/narray/gen/tmpl_bit/aref.c +6 -4
- data/ext/numo/narray/gen/tmpl_bit/aset.c +6 -4
- data/ext/numo/narray/gen/tmpl_bit/cast_array.c +3 -65
- data/ext/numo/narray/gen/tmpl_bit/mask.c +16 -1
- data/ext/numo/narray/gen/tmpl_bit/store_array.c +101 -2
- data/ext/numo/narray/gen/tmpl_bit/where.c +7 -23
- data/ext/numo/narray/gen/tmpl_bit/where2.c +58 -4
- data/ext/numo/narray/index.c +168 -166
- data/ext/numo/narray/kwarg.c +1 -6
- data/ext/numo/narray/math.c +8 -12
- data/ext/numo/narray/narray.c +231 -71
- data/ext/numo/narray/ndloop.c +86 -26
- data/ext/numo/narray/numo/intern.h +6 -10
- data/ext/numo/narray/numo/narray.h +83 -54
- data/ext/numo/narray/numo/ndloop.h +0 -5
- data/ext/numo/narray/numo/template.h +0 -5
- data/ext/numo/narray/numo/types/complex.h +1 -6
- data/ext/numo/narray/numo/types/complex_macro.h +30 -3
- data/ext/numo/narray/numo/types/dcomplex.h +18 -0
- data/ext/numo/narray/numo/types/dfloat.h +18 -0
- data/ext/numo/narray/numo/types/float_macro.h +25 -2
- data/ext/numo/narray/numo/types/robj_macro.h +2 -4
- data/ext/numo/narray/numo/types/scomplex.h +18 -0
- data/ext/numo/narray/numo/types/sfloat.h +18 -0
- data/ext/numo/narray/rand.c +0 -15
- data/ext/numo/narray/step.c +0 -5
- data/ext/numo/narray/struct.c +7 -12
- data/lib/erbpp/line_number.rb +4 -4
- data/lib/erbpp/narray_def.rb +16 -7
- data/lib/numo/narray.rb +2 -0
- data/lib/numo/narray/extra.rb +465 -0
- data/numo-narray.gemspec +2 -2
- data/spec/narray_spec.rb +4 -3
- metadata +13 -7
- data/ext/numo/narray/gen/tmpl/head.c +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 344742df38a815d85e70962da4cdb85969d816a2
|
4
|
+
data.tar.gz: 6da0a54faee1813628901213587213618ce696bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 908a26721c4d03e7af632747cce53ba41465d6e2917dbb97505a04ab9d8008c6764889bc669d79d83952b36a21467f7d8c8913046cc46ebf8cda23e792d62f9f
|
7
|
+
data.tar.gz: caa3d25b088c2ab5376ee64daf88581e9eeb64a9febd6456a3780ce05b0535c065867a6f9a64913db96cf422a38843c1d1800f3d53bcb5417f773af42ca123fe
|
data/README.md
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
[](http://mybinder.org/repo/ruby-numo/narray)
|
4
4
|
[](https://travis-ci.org/ruby-numo/narray)
|
5
5
|
|
6
|
+
[GitHub](https://github.com/ruby-numo/narray)
|
7
|
+
| [RubyGems](https://rubygems.org/gems/numo-narray)
|
8
|
+
|
9
|
+
Numo::NArray is an Numerical N-dimensional Array class
|
10
|
+
for fast processing and easy manipulation of multi-dimensional numerical data,
|
11
|
+
similar to numpy.ndaray.
|
12
|
+
This project is the successor to [Ruby/NArray](http://masa16.github.io/narray/).
|
13
|
+
|
6
14
|
under development
|
7
15
|
|
8
16
|
## Related Projects
|
@@ -12,13 +20,11 @@ under development
|
|
12
20
|
* [Numo::Gnuplot](https://github.com/ruby-numo/gnuplot) - Simple and easy-to-use Gnuplot interface.
|
13
21
|
|
14
22
|
## Installation
|
15
|
-
### Ubuntu, Debian
|
23
|
+
### Ubuntu, Debian, Bash on Windows
|
16
24
|
```shell
|
17
25
|
apt install -y git ruby gcc ruby-dev rake make
|
18
|
-
|
19
|
-
|
20
|
-
gem build numo-narray.gemspec
|
21
|
-
gem install numo-narray-0.9.0.2.gem
|
26
|
+
gem install specific_install
|
27
|
+
gem specific_install https://github.com/ruby-numo/narray.git
|
22
28
|
```
|
23
29
|
|
24
30
|
## Quick start
|
@@ -40,7 +46,7 @@ An example
|
|
40
46
|
[6] pry(main)> a.size
|
41
47
|
=> 15
|
42
48
|
```
|
43
|
-
For more examples, check out this [narray version of 100 numpy exercises](https://github.com/ruby-numo/narray/wiki/100-narray-exercises).
|
49
|
+
For more examples, check out this [narray version of 100 numpy exercises](https://github.com/ruby-numo/narray/wiki/100-narray-exercises) (and the [IRuby Notebook](https://github.com/ruby-numo/narray/blob/master/100-narray-exercises.ipynb)).
|
44
50
|
|
45
51
|
## Documentation
|
46
52
|
|
data/Rakefile
CHANGED
@@ -22,8 +22,6 @@ namespace :build do
|
|
22
22
|
|
23
23
|
desc "Build gems for Windows into the pkg directory"
|
24
24
|
task :windows => pkg_dir do
|
25
|
-
ruby_versions = "2.1.6:2.2.2:2.3.0"
|
26
|
-
|
27
25
|
build_dir = "tmp/windows"
|
28
26
|
rm_rf build_dir
|
29
27
|
mkdir_p build_dir
|
@@ -32,7 +30,7 @@ namespace :build do
|
|
32
30
|
["git", "clone", "file://#{Dir.pwd}/.git", build_dir],
|
33
31
|
["cd", build_dir],
|
34
32
|
["bundle"],
|
35
|
-
["rake", "cross", "native", "gem"
|
33
|
+
["rake", "cross", "native", "gem"],
|
36
34
|
]
|
37
35
|
raw_commands = commands.collect do |command|
|
38
36
|
Shellwords.join(command)
|
@@ -44,16 +42,10 @@ namespace :build do
|
|
44
42
|
cp(Dir.glob("#{build_dir}/#{pkg_dir}/*.gem"),
|
45
43
|
"#{pkg_dir}/")
|
46
44
|
end
|
47
|
-
|
48
|
-
windows_gem_paths.each do |path|
|
49
|
-
file path do
|
50
|
-
Rake::Task["build:windows"].invoke
|
51
|
-
end
|
52
|
-
end
|
53
45
|
end
|
54
46
|
|
55
47
|
namespace :release do
|
56
|
-
task :windows =>
|
48
|
+
task :windows => "build:windows" do
|
57
49
|
windows_gem_paths.each do |path|
|
58
50
|
ruby("-S", "gem", "push", path)
|
59
51
|
end
|
data/ext/numo/narray/array.c
CHANGED
@@ -2,11 +2,6 @@
|
|
2
2
|
array.c
|
3
3
|
Numerical Array Extension for Ruby
|
4
4
|
(C) Copyright 1999-2016 by Masahiro TANAKA
|
5
|
-
|
6
|
-
This program is free software.
|
7
|
-
You can distribute/modify this program
|
8
|
-
under the same terms as Ruby itself.
|
9
|
-
NO WARRANTY.
|
10
5
|
*/
|
11
6
|
#include <ruby.h>
|
12
7
|
#include "numo/narray.h"
|
@@ -120,7 +115,7 @@ void na_mdai_object_type(na_mdai_t *mdai, VALUE v)
|
|
120
115
|
if (NIL_P(mdai->na_type)) {
|
121
116
|
mdai->na_type = CLASS_OF(v);
|
122
117
|
} else {
|
123
|
-
mdai->na_type = na_upcast(CLASS_OF(v),
|
118
|
+
mdai->na_type = na_upcast(CLASS_OF(v), mdai->na_type);
|
124
119
|
}
|
125
120
|
} else if (rb_obj_is_kind_of(v, rb_cRange)) {
|
126
121
|
MDAI_ATTR_TYPE(mdai->type,v,"begin");
|
data/ext/numo/narray/data.c
CHANGED
@@ -2,11 +2,6 @@
|
|
2
2
|
data.c
|
3
3
|
Numerical Array Extension for Ruby
|
4
4
|
(C) Copyright 1999-2016 by Masahiro TANAKA
|
5
|
-
|
6
|
-
This program is free software.
|
7
|
-
You can distribute/modify this program
|
8
|
-
under the same terms as Ruby itself.
|
9
|
-
NO WARRANTY.
|
10
5
|
*/
|
11
6
|
|
12
7
|
#include <ruby.h>
|
@@ -119,7 +114,7 @@ nary_swap_byte(VALUE self)
|
|
119
114
|
if (self!=v) {
|
120
115
|
na_copy_flags(self, v);
|
121
116
|
}
|
122
|
-
|
117
|
+
REVERSE_ENDIAN(v);
|
123
118
|
return v;
|
124
119
|
}
|
125
120
|
|
@@ -127,7 +122,7 @@ nary_swap_byte(VALUE self)
|
|
127
122
|
static VALUE
|
128
123
|
nary_to_network(VALUE self)
|
129
124
|
{
|
130
|
-
if (
|
125
|
+
if (TEST_BIG_ENDIAN(self)) {
|
131
126
|
return self;
|
132
127
|
}
|
133
128
|
return rb_funcall(self, rb_intern("swap_byte"), 0);
|
@@ -136,7 +131,7 @@ nary_to_network(VALUE self)
|
|
136
131
|
static VALUE
|
137
132
|
nary_to_vacs(VALUE self)
|
138
133
|
{
|
139
|
-
if (
|
134
|
+
if (TEST_LITTLE_ENDIAN(self)) {
|
140
135
|
return self;
|
141
136
|
}
|
142
137
|
return rb_funcall(self, rb_intern("swap_byte"), 0);
|
@@ -906,7 +901,6 @@ Init_nary_data()
|
|
906
901
|
#else
|
907
902
|
#ifdef WORDS_BIGENDIAN
|
908
903
|
#else // LITTLE_ENDIAN
|
909
|
-
rb_define_alias(cNArray, "hton", "swap_byte");
|
910
904
|
rb_define_alias(cNArray, "hton", "swap_byte");
|
911
905
|
rb_define_alias(cNArray, "network_order?", "byte_swapped?");
|
912
906
|
rb_define_alias(cNArray, "little_endian?", "host_order?");
|
data/ext/numo/narray/depend.erb
CHANGED
@@ -13,7 +13,7 @@ TAGS : $(TAGSRC)
|
|
13
13
|
doc :
|
14
14
|
yard doc *.c types/*.c
|
15
15
|
|
16
|
-
C_TMPL = <%=Dir.glob("#{__dir__}/gen/tmpl
|
16
|
+
C_TMPL = <%=Dir.glob("#{__dir__}/gen/tmpl*/*.c").join(" ")%>
|
17
17
|
|
18
18
|
COGEN = <%= __dir__ %>/gen/cogen.rb
|
19
19
|
DTYPE = <%= __dir__ %>/gen/dtype.erb.c
|
data/ext/numo/narray/extconf.rb
CHANGED
@@ -6,11 +6,13 @@ template_dir "tmpl_bit"
|
|
6
6
|
has_math false
|
7
7
|
is_bit true
|
8
8
|
is_int false
|
9
|
+
is_unsigned true
|
9
10
|
is_float false
|
10
11
|
is_complex false
|
11
12
|
is_object false
|
12
13
|
is_real false
|
13
14
|
is_comparable false
|
15
|
+
is_double_precision false
|
14
16
|
|
15
17
|
upcast_rb "Integer"
|
16
18
|
upcast_rb "Float", "DFloat"
|
@@ -7,11 +7,13 @@ real_ctype "double"
|
|
7
7
|
has_math true
|
8
8
|
is_bit false
|
9
9
|
is_int false
|
10
|
+
is_unsigned false
|
10
11
|
is_float true
|
11
12
|
is_real false
|
12
13
|
is_complex true
|
13
14
|
is_object false
|
14
15
|
is_comparable false
|
16
|
+
is_double_precision true
|
15
17
|
|
16
18
|
upcast_rb "Integer"
|
17
19
|
upcast_rb "Float"
|
@@ -4,11 +4,13 @@ ctype "int16_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned false
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "int32_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned false
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "int64_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned false
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "int8_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned false
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -6,11 +6,13 @@ real_ctype "VALUE"
|
|
6
6
|
has_math false
|
7
7
|
is_bit false
|
8
8
|
is_int true
|
9
|
+
is_unsigned false
|
9
10
|
is_float true
|
10
11
|
is_real true
|
11
12
|
is_complex false
|
12
13
|
is_object true
|
13
14
|
is_comparable true
|
15
|
+
is_double_precision false
|
14
16
|
|
15
17
|
upcast_rb "Integer"
|
16
18
|
upcast_rb "Float"
|
@@ -7,11 +7,13 @@ real_ctype "float"
|
|
7
7
|
has_math true
|
8
8
|
is_bit false
|
9
9
|
is_int false
|
10
|
+
is_unsigned false
|
10
11
|
is_float true
|
11
12
|
is_real false
|
12
13
|
is_complex true
|
13
14
|
is_object false
|
14
15
|
is_comparable false
|
16
|
+
is_double_precision false
|
15
17
|
|
16
18
|
upcast_rb "Integer"
|
17
19
|
upcast_rb "Float"
|
@@ -4,11 +4,13 @@ ctype "u_int16_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned true
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "u_int32_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned true
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "u_int64_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned true
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -4,11 +4,13 @@ ctype "u_int8_t"
|
|
4
4
|
has_math false
|
5
5
|
is_bit false
|
6
6
|
is_int true
|
7
|
+
is_unsigned true
|
7
8
|
is_float false
|
8
9
|
is_complex false
|
9
10
|
is_object false
|
10
11
|
is_real true
|
11
12
|
is_comparable true
|
13
|
+
is_double_precision false
|
12
14
|
|
13
15
|
upcast_rb "Integer"
|
14
16
|
upcast_rb "Float", "DFloat"
|
@@ -2,11 +2,6 @@
|
|
2
2
|
<%=type_name%>.c
|
3
3
|
Numerical Array Extension for Ruby
|
4
4
|
(C) Copyright 1999-2011,2013-2016 by Masahiro TANAKA
|
5
|
-
|
6
|
-
This program is free software.
|
7
|
-
You can distribute/modify this program
|
8
|
-
under the same terms as Ruby itself.
|
9
|
-
NO WARRANTY.
|
10
5
|
*/
|
11
6
|
|
12
7
|
#include <ruby.h>
|
@@ -65,8 +60,13 @@ Init_nary_<%=tp%>()
|
|
65
60
|
rb_define_singleton_method(cT, "[]", <%=cast_func%>, -2);
|
66
61
|
|
67
62
|
<% if is_object %>
|
68
|
-
rb_undef_method(rb_singleton_class(cT),"
|
69
|
-
rb_undef_method(cT,"
|
63
|
+
rb_undef_method(rb_singleton_class(cT),"from_binary");
|
64
|
+
rb_undef_method(cT,"to_binary");
|
65
|
+
rb_undef_method(cT,"swap_byte");
|
66
|
+
rb_undef_method(cT,"to_network");
|
67
|
+
rb_undef_method(cT,"to_vacs");
|
68
|
+
rb_undef_method(cT,"to_host");
|
69
|
+
rb_undef_method(cT,"to_swapped");
|
70
70
|
<% end %>
|
71
71
|
|
72
72
|
<% Function.definitions.each do |x| %>
|
data/ext/numo/narray/gen/spec.rb
CHANGED
@@ -13,6 +13,7 @@ else
|
|
13
13
|
end
|
14
14
|
if is_float
|
15
15
|
def_id "nearly_eq"
|
16
|
+
def_id "copysign"
|
16
17
|
end
|
17
18
|
if is_comparable
|
18
19
|
def_id "gt"
|
@@ -36,6 +37,8 @@ if is_object
|
|
36
37
|
def_id "nan?"
|
37
38
|
def_id "infinite?"
|
38
39
|
def_id "finite?"
|
40
|
+
def_id "==","op_eq"
|
41
|
+
def_id "!=","op_ne"
|
39
42
|
def_id ">" ,"op_gt"
|
40
43
|
def_id ">=","op_ge"
|
41
44
|
def_id "<" ,"op_lt"
|
@@ -43,6 +46,10 @@ if is_object
|
|
43
46
|
def_id "<=>","op_ufo"
|
44
47
|
end
|
45
48
|
|
49
|
+
if is_int && !is_object
|
50
|
+
def_id "minlength" # for bincount
|
51
|
+
end
|
52
|
+
|
46
53
|
# Allocation
|
47
54
|
|
48
55
|
if is_object
|
@@ -54,8 +61,6 @@ def_method "allocate", 0
|
|
54
61
|
|
55
62
|
def_method "extract", 0
|
56
63
|
store_numeric
|
57
|
-
cast_array
|
58
|
-
store_array
|
59
64
|
store_bit "Bit"
|
60
65
|
if is_complex
|
61
66
|
store_from "DComplex","dcomplex","m_from_dcomplex"
|
@@ -72,6 +77,11 @@ store_from "UInt32","u_int32_t","m_from_real"
|
|
72
77
|
store_from "UInt16","u_int16_t","m_from_real"
|
73
78
|
store_from "UInt8", "u_int8_t", "m_from_real"
|
74
79
|
|
80
|
+
store_from "RObject", "VALUE", "m_num_to_data"
|
81
|
+
|
82
|
+
store_array
|
83
|
+
cast_array
|
84
|
+
|
75
85
|
def_method "store", 1
|
76
86
|
def_singleton "cast", 1
|
77
87
|
|
@@ -101,6 +111,7 @@ if is_bit
|
|
101
111
|
binary "eq"
|
102
112
|
bit_count "count_true"
|
103
113
|
def_alias "count_1","count_true"
|
114
|
+
def_alias "count","count_true"
|
104
115
|
bit_count "count_false"
|
105
116
|
def_alias "count_0","count_false"
|
106
117
|
bit_reduce "all?", 1
|
@@ -187,6 +198,7 @@ if is_float
|
|
187
198
|
unary "trunc"
|
188
199
|
if !is_object
|
189
200
|
unary "rint"
|
201
|
+
binary "copysign"
|
190
202
|
end
|
191
203
|
end
|
192
204
|
|
@@ -211,6 +223,9 @@ end
|
|
211
223
|
|
212
224
|
accum "sum","dtype","cT"
|
213
225
|
accum "prod","dtype","cT"
|
226
|
+
if is_double_precision
|
227
|
+
accum "kahan_sum","dtype","cT"
|
228
|
+
end
|
214
229
|
|
215
230
|
if is_float
|
216
231
|
accum "mean","dtype","cT"
|
@@ -227,6 +242,10 @@ if is_comparable
|
|
227
242
|
def_method "minmax",-1
|
228
243
|
end
|
229
244
|
|
245
|
+
if is_int && !is_object
|
246
|
+
def_method "bincount",-1
|
247
|
+
end
|
248
|
+
|
230
249
|
cum "cumsum","add"
|
231
250
|
cum "cumprod","mul"
|
232
251
|
|
@@ -247,6 +266,9 @@ def_method "eye",-1
|
|
247
266
|
def_alias "indgen", "seq"
|
248
267
|
|
249
268
|
def_method "rand", -1
|
269
|
+
if is_float && !is_object
|
270
|
+
def_method "rand_norm", -1
|
271
|
+
end
|
250
272
|
|
251
273
|
# y = a[0] + a[1]*x + a[2]*x^2 + a[3]*x^3 + ... + a[n]*x^n
|
252
274
|
def_method "poly",-2
|