Skip to content

Commit

Permalink
Merge branch 'master' of github.com:shogun-toolbox/shogun
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn committed Jun 6, 2012
2 parents c8e0a66 + 724eb3b commit 84fbbe6
Show file tree
Hide file tree
Showing 17 changed files with 631 additions and 1,183 deletions.
9 changes: 5 additions & 4 deletions examples/undocumented/libshogun/library_dyn_int.cpp
Expand Up @@ -49,7 +49,7 @@ void gen_ints(uint256_t* &a, uint32_t* &b, uint32_t len)
}
}

const int LEN = 5*1024*1024;
const int LEN = 5*1024;

int main()
{
Expand Down Expand Up @@ -82,9 +82,10 @@ int main()

SG_SPRINT("\n\n");

a[0]=(uint64_t[4]) {1,2,3,4};
uint64_t val[4]={5,6,7,8};
a[1]=val;
uint64_t val1[4]={1,2,3,4};
uint64_t val2[4]={5,6,7,8};
a[0]=val1;
a[1]=val2;
a[2]=a[0];
CMath::swap(a[0],a[1]);

Expand Down
Expand Up @@ -32,27 +32,23 @@ void test_parameter_set_multiplication()
SGVector<float64_t> param_vector(8);
CMath::range_fill_vector(param_vector.vector, param_vector.vlen);

SGVector<Parameter*> parameters(4);
Parameter parameters[4];

parameters.vector[0]=new Parameter();
parameters.vector[0]->add(&param_vector.vector[0], "0");
parameters.vector[0]->add(&param_vector.vector[1], "1");
set1.append_element(parameters.vector[0]);
parameters[0].add(&param_vector.vector[0], "0");
parameters[0].add(&param_vector.vector[1], "1");
set1.append_element(&parameters[0]);

parameters.vector[1]=new Parameter();
parameters.vector[1]->add(&param_vector.vector[2], "2");
parameters.vector[1]->add(&param_vector.vector[3], "3");
set1.append_element(parameters.vector[1]);
parameters[1].add(&param_vector.vector[2], "2");
parameters[1].add(&param_vector.vector[3], "3");
set1.append_element(&parameters[1]);

parameters.vector[2]=new Parameter();
parameters.vector[2]->add(&param_vector.vector[4], "4");
parameters.vector[2]->add(&param_vector.vector[5], "5");
set2.append_element(parameters.vector[2]);
parameters[2].add(&param_vector.vector[4], "4");
parameters[2].add(&param_vector.vector[5], "5");
set2.append_element(&parameters[2]);

parameters.vector[3]=new Parameter();
parameters.vector[3]->add(&param_vector.vector[6], "6");
parameters.vector[3]->add(&param_vector.vector[7], "7");
set2.append_element(parameters.vector[3]);
parameters[3].add(&param_vector.vector[6], "6");
parameters[3].add(&param_vector.vector[7], "7");
set2.append_element(&parameters[3]);

DynArray<Parameter*>* result=new DynArray<Parameter*>();//CParameterCombination::parameter_set_multiplication(set1, set2);

Expand All @@ -66,9 +62,6 @@ void test_parameter_set_multiplication()
delete p;
}
delete result;

for (index_t i=0; i<4; ++i)
delete parameters.vector[i];
}

void test_leaf_sets_multiplication()
Expand Down
41 changes: 31 additions & 10 deletions examples/undocumented/libshogun/statistics.cpp
Expand Up @@ -4,7 +4,7 @@
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Written (W) 2011 Heiko Strathmann
* Written (W) 2011-2012 Heiko Strathmann
* Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society
* Written (W) 2012 Victor Sadkov
* Copyright (C) 2011 Moscow State University
Expand All @@ -16,18 +16,13 @@

using namespace shogun;

const int DATA_SIZE=100;

int main(int argc, char **argv)
void test_confidence_intervals()
{
init_shogun_with_defaults();
int32_t data_size=100;
SGVector<float64_t> data(data_size);

SGVector<float64_t> data(DATA_SIZE);
CMath::random_vector(data.vector, data.vlen, 0.0, 1.0);

// for (int32_t i=0; i<DATA_SIZE; i++)
// SG_SPRINT("data[%02d] = %.5lf%s", i, data[i], (i+1)%4?"\t":"\n");

float64_t low, up, mean;
float64_t error_prob=0.1;
mean=CStatistics::confidence_intervals_mean(data, error_prob, low, up);
Expand All @@ -37,8 +32,34 @@ int main(int argc, char **argv)

SG_SPRINT("variance: %f\n", CStatistics::variance(data));
SG_SPRINT("deviation: %f\n", CStatistics::std_deviation(data));
}

void test_inverse_incomplete_gamma()
{
/* some tests for high precision MATLAB comparison */
float64_t difference=CStatistics::inverse_incomplete_gamma(1, 1-0.95)*2;
difference-=5.991464547107981;
difference=CMath::abs(difference);
ASSERT(difference<=10E-15);

difference=CStatistics::inverse_incomplete_gamma(0.3, 1-0.95)*3;
difference-=4.117049832302619;
difference=CMath::abs(difference);
ASSERT(difference<=10E-14)

difference=CStatistics::inverse_incomplete_gamma(2, 1-0.95)*0.1;
difference-=0.474386451839058;
difference=CMath::abs(difference);
ASSERT(difference<=10E-15)
}

int main(int argc, char **argv)
{
init_shogun_with_defaults();

test_confidence_intervals();
test_inverse_incomplete_gamma();

SG_SPRINT("\nEND\n");
exit_shogun();

return 0;
Expand Down
2 changes: 0 additions & 2 deletions src/interfaces/modular/Distribution.i
Expand Up @@ -23,7 +23,6 @@
%rename(LinearHMM) CLinearHMM;
%rename(PositionalPWM) CPositionalPWM;
%rename(Gaussian) CGaussian;
%rename(GMM) CGMM;

/* Include Class Headers to make them visible from within the target language */
%include <shogun/distributions/Distribution.h>
Expand All @@ -33,4 +32,3 @@
%include <shogun/distributions/LinearHMM.h>
%include <shogun/distributions/PositionalPWM.h>
%include <shogun/distributions/Gaussian.h>
%include <shogun/clustering/GMM.h>
1 change: 0 additions & 1 deletion src/interfaces/modular/Distribution_includes.i
Expand Up @@ -6,5 +6,4 @@
#include <shogun/distributions/LinearHMM.h>
#include <shogun/distributions/PositionalPWM.h>
#include <shogun/distributions/Gaussian.h>
#include <shogun/clustering/GMM.h>
%}

0 comments on commit 84fbbe6

Please sign in to comment.