Revision 71 logic/trunk/src/logics/conditions.c

View differences:

conditions.c
68 68
int getPowerPercentage(int a, int b, int o, float *val, int func)
69 69
{
70 70
    int pwr;
71
    printf( "getPowerPercentage(%d, %d, %d, %.2f, %d)\n",a,b,o,*val,func);
71
    //printf( "getPowerPercentage(%d, %d, %d, %.2f, %d)\n",a,b,o,*val,func);
72

  
72 73
    if(func == FUNCTION_STATIC)
73 74
    {
74 75
        if(*val>o) // right
......
84 85
    {
85 86
        if(*val>o) // right
86 87
        {
87
            pwr=(int)((*val-o)/(b-o)*100);
88
            if(*val >= a)
89
                pwr=100;
90
            else
91
                pwr=(int)((*val-o)/(b-o)*100);
88 92
        }
89 93
        else //left
90 94
        {
91
            pwr=(int)((1-(*val-a)/(o-a))*100);
95
            if(*val <= a)
96
                pwr=0;
97
            else
98
                pwr=(int)((1-(*val-a)/(o-a))*100);
92 99
        }
93 100
    }
94
    else if(func == FUNCTION_LOGARITHMIC)
101
    else if(func == FUNCTION_LOGARITHMIC) //TODO implement log func
95 102
    {
96 103
        if(*val>o) // right
97 104
        {
......
102 109
            pwr=(int)((1-(*val-a)/(o-a))*100);
103 110
        }
104 111
    }
105
    else if(func == FUNCTION_QUADRATIC)
112
    else if(func == FUNCTION_QUADRATIC)  //implement square func
106 113
    {
107 114
        if(*val>o) // right
108 115
        {

Also available in: Unified diff