numo-narray 0.9.0.3 → 0.9.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Binder](http://mybinder.org/badge.svg)](http://mybinder.org/repo/ruby-numo/narray)
|
4
4
|
[![Build Status](https://travis-ci.org/ruby-numo/narray.svg?branch=master)](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
|