Changeset 103 for proiecte


Ignore:
Timestamp:
Jan 12, 2010, 9:13:29 PM (14 years ago)
Author:
(none)
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • proiecte/Parallel-DT/R8/Src/discr.c

    r84 r103  
    4848}
    4949
    50 EvalDiscreteAtt_Discr(Att, Fp, Lp, Items, Freq_discr, ValFreq_discr, UnknownRate_discr)
     50EvalDiscreteAtt_Discr(Att, Fp, Lp, Items, Freq_discr, ValFreq_discr, UnknownRate_discr, the_gain, the_info)
    5151        /*  ---------------  */
    52         Attribute Att;ItemNo Fp, Lp;ItemCount Items; ItemCount** Freq_discr; ItemCount* ValFreq_discr; float* UnknownRate_discr; {
     52        Attribute Att;ItemNo Fp, Lp;ItemCount Items; ItemCount** Freq_discr; ItemCount* ValFreq_discr; float* UnknownRate_discr;
     53        float* the_gain; float* the_info;{
    5354        ItemCount KnownItems;
    5455        float DiscrKnownBaseInfo_Discr(), ComputeGain_Discr(), TotalInfo();
     
    6465                        printf("\tAtt %s: no known values\n", AttName[Att]);
    6566
    66                 Gain[Att] = -Epsilon;
    67                 Info[Att] = 0.0;
     67                *the_gain = -Epsilon;
     68                *the_info = 0.0;
    6869                return;
    6970        }
    7071
    71         Gain[Att] = ComputeGain_Discr(DiscrKnownBaseInfo_Discr(KnownItems, MaxAttVal[Att], Freq_discr),
     72        *the_gain = ComputeGain_Discr(DiscrKnownBaseInfo_Discr(KnownItems, MaxAttVal[Att], Freq_discr),
    7273                        UnknownRate_discr[Att], MaxAttVal[Att], KnownItems, Freq_discr, ValFreq_discr);
    73         Info[Att] = TotalInfo(ValFreq_discr, 0, MaxAttVal[Att]) / Items;
     74        *the_info = TotalInfo(ValFreq_discr, 0, MaxAttVal[Att]) / Items;
    7475
    7576        Verbosity(2) {
     
    7778                Verbosity(3)
    7879                        PrintDistribution_Discr(Att, MaxAttVal[Att], true, Freq_discr);
    79                 printf("\tinf %.3f, gain %.3f\n", Info[Att], Gain[Att]);
     80                printf("\tinf %.3f, gain %.3f\n", *the_info, *the_gain);
    8081        }
    8182
     
    102103         with each possible value for the given attribute  */
    103104
    104         #pragma omp parallel for private(p, Case)
    105105        ForEach(p, Fp, Lp) {
    106106                Case = Item[p];
    107                 #pragma omp critical
    108107                Freq[DVal(Case,Att)][Class(Case)] += Weight[p];
    109108        }
     
    112111         given attribute  */
    113112
    114         #pragma omp parallel for private(v)
    115113        ForEach(v, 0, MaxAttVal[Att]) {
    116114                ForEach(c, 0, MaxClass) {
     
    171169        DiscrValue v;
    172170
    173         //#pragma omp parallel for
    174171        ForEach(c, 0, MaxClass) {
    175172                ClassCount = 0;
Note: See TracChangeset for help on using the changeset viewer.