Пример #1
0
values_t operator/(const TYPE a, const values_t& b)
{
    values_t result(b.size());
    for(unsigned int i=0; i<b.size(); i++){
        result[i] = a/b[i];
    }
    return result;
}
Пример #2
0
values_t operator+(const values_t& a, const values_t& b)
{
#ifndef OPTIMIZED
    if(a.size() != b.size())
        throw "Vector addition error: wrong sizes!";
#endif
    values_t result(a.size());
    for(unsigned int i=0; i<a.size(); i++){
        result[i] = a[i]+b[i];
    }
    return result;
}
Пример #3
0
void Neuron::feed(const values_t& input)
{
#ifndef OPTIMIZED
    if(input.size() != connections.size()){
        throw "Invalid fire sizes!";
    }
#endif

    value = bias;

    for(int i=0; i<input.size(); i++){
        value += input[i] * connections[i];
    }
}
Пример #4
0
TYPE sum(const values_t& a)
{
    TYPE sum = 0.0;
    for(unsigned int i=0; i<a.size(); i++){
        sum += a[i];
    }
    return sum;
}
Пример #5
0
TYPE abs(const values_t& a)
{
    TYPE sum = 0.0;
    for(unsigned int i=0; i<a.size(); i++){
        sum += a[i]*a[i];
    }
    return sqrt(sum);
}
Пример #6
0
void print(values_t& v)
{
    for(unsigned int i=0; i<v.size(); i++)
        printf("%.5f ", v[i]);
    printf("\n");
}