standard_deviation 1.0.1 → 1.0.2

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.
@@ -1,12 +1,12 @@
1
1
  #include <ruby.h>
2
2
  #include <math.h>
3
3
 
4
- static double sum(VALUE *array, long size) {
4
+ static double sum(double array[], long size) {
5
5
  int i;
6
6
  double total = 0;
7
7
 
8
8
  for (i = 0; i < size; i++) {
9
- total += NUM2DBL(array[i]);
9
+ total += array[i];
10
10
  }
11
11
 
12
12
  return total;
@@ -15,11 +15,16 @@ static double sum(VALUE *array, long size) {
15
15
  static double distance_from_mean(VALUE *array, long size) {
16
16
  int i;
17
17
  double mean, distance;
18
+ double values[size];
18
19
 
19
- mean = sum(array, size) / size;
20
+ for (i = 0; i < size; i++) {
21
+ values[i] = NUM2DBL(array[i]);
22
+ }
23
+
24
+ mean = sum(values, size) / size;
20
25
 
21
26
  for (i = 0, distance = 0; i < size; i++) {
22
- distance += pow((NUM2DBL(array[i]) - mean), 2);
27
+ distance += pow(values[i] - mean, 2);
23
28
  }
24
29
 
25
30
  return distance;
@@ -1,3 +1,3 @@
1
1
  module StandardDeviation
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard_deviation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-14 00:00:00.000000000Z
12
+ date: 2012-04-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake-compiler
16
- requirement: &2156134040 !ruby/object:Gem::Requirement
16
+ requirement: &2153819300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2156134040
24
+ version_requirements: *2153819300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2156133440 !ruby/object:Gem::Requirement
27
+ requirement: &2153818820 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2156133440
35
+ version_requirements: *2153818820
36
36
  description: ! "An implementation of the standard deviation calculation in C,\n with
37
37
  much better performance (50x-100x) than using pure ruby."
38
38
  email:
@@ -73,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
73
  version: '0'
74
74
  segments:
75
75
  - 0
76
- hash: -569388018503389721
76
+ hash: -1911497483402748616
77
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  none: false
79
79
  requirements:
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  segments:
84
84
  - 0
85
- hash: -569388018503389721
85
+ hash: -1911497483402748616
86
86
  requirements: []
87
87
  rubyforge_project:
88
88
  rubygems_version: 1.8.10