Changeset 473

Show
Ignore:
Timestamp:
09/09/09 14:01:12 (15 years ago)
Author:
bhilburn
Message:

The CBR_CE is now properly using strings.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vtcross/trunk/src/cognitive_engines/CBR_CE/CognitiveEngine.cpp

    r468 r473  
    1919#include <stdint.h> 
    2020#include <cmath> 
     21#include <string> 
    2122 
    2223#include "vtcross/cbr.h" 
     
    2829#include "vtcross/socketcomm.h" 
    2930 
     31using namespace std; 
     32 
    3033static CBR *myCBR; 
    3134 
     
    8588        ReceiveRadioConfiguration(); 
    8689        ReceiveExperience(); 
    87          
    8890        RegisterServices(); 
    8991    } 
     
    109111    float valList[numberColumns]; 
    110112    float obsVals[numberColumns]; 
    111     char *nameList[numberColumns]; 
    112     char *obsList[obsColumns]; 
     113    string nameList[numberColumns]; 
     114    string obsList[obsColumns]; 
    113115 
    114116    size_t columnObsIndex = 0; 
    115117    for (size_t i = 0; i < radioInfo->numObservables; i++){ 
    116         obsList[columnObsIndex] = (char*)observables[i].name.c_str(); 
     118        obsList[columnObsIndex] = observables[i].name; 
    117119        columnObsIndex++; 
    118120    }   
    119     obsList[columnObsIndex] = (char *) "utility"; 
     121    obsList[columnObsIndex] = "utility"; 
    120122 
    121123    size_t columnIndex = 0; 
    122124    for (size_t i = 0; i < radioInfo->numParameters; i++){ 
    123         nameList[columnIndex] = (char*)parameters[i].name.c_str(); 
     125        nameList[columnIndex] = (char*)parameters[i].name; 
    124126        columnIndex++; 
    125127    }    
    126128    for (size_t i = 0; i < radioInfo->numUtilities; i++){ 
    127         nameList[columnIndex] = (char*)uList[i].name.c_str(); 
     129        nameList[columnIndex] = (char*)uList[i].name; 
    128130        columnIndex++; 
    129131    }    
     
    636638    LOG("Cognitive Engine:: Generating solution.\n"); 
    637639 
    638     char *searchNames[radioInfo->numUtilities]; 
     640    string searchNames[radioInfo->numUtilities]; 
    639641 
    640642    for(size_t i = 0; i < radioInfo->numUtilities; i++) { 
    641         searchNames[i] = (char*)observables[i].name.c_str(); 
     643        searchNames[i] = (char*)observables[i].name; 
    642644    } 
    643645 
     
    648650    } 
    649651 
    650     uint32_t numberColumns =  
    651         radioInfo->numUtilities + 
    652         radioInfo->numParameters + 
    653         radioInfo->numObservables + 1; 
     652    uint32_t numberColumns = radioInfo->numUtilities + radioInfo->numParameters \ 
     653                             + radioInfo->numObservables + 1; 
    654654     
    655655    float returnValues[numberColumns]; 
     
    723723    returnValues[returnValueIndex] = 0; 
    724724 
    725     char *allNames[numberColumns]; 
     725    string allNames[numberColumns]; 
    726726    size_t allNameIndex = 0; 
    727727    for(size_t i = 0; i < radioInfo->numUtilities; i++) { 
    728         allNames[allNameIndex] = (char*)uList[i].name.c_str(); 
     728        allNames[allNameIndex] = (char*)uList[i].name; 
    729729        returnValues[allNameIndex] = uList[i].target; 
    730730        allNameIndex++; 
    731731    } 
    732732    for(size_t i = 0; i < radioInfo->numParameters; i++) { 
    733         allNames[allNameIndex] = (char*)pList[i].name.c_str(); 
     733        allNames[allNameIndex] = (char*)pList[i].name; 
    734734        allNameIndex++; 
    735735    } 
    736736    for(size_t i = 0; i < radioInfo->numObservables; i++) { 
    737         allNames[allNameIndex] = (char*)oList[i].name.c_str(); 
     737        allNames[allNameIndex] = (char*)oList[i].name; 
    738738        returnValues[allNameIndex] = 0; 
    739739        allNameIndex++; 
    740740    } 
    741     allNames[allNameIndex] = (char *)"utility"; 
     741    allNames[allNameIndex] = "utility"; 
    742742 
    743743    // Add row to CBR.  
    744     myCBR->AddRow(allNames, returnValues, returnValueIndex+1); 
     744    myCBR->AddRow(allNames, returnValues, returnValueIndex + 1); 
    745745 
    746746    return pList; 
     
    769769CognitiveEngine::BuildCognitiveEngine() 
    770770{ 
    771     char filename[] = {"ex1"}; 
    772     char tablename[] = {"data"}; 
    773  
    774     uint32_t numberColumns =  
    775         radioInfo->numUtilities + 
    776         radioInfo->numParameters + 
    777         radioInfo->numObservables + 1; 
    778  
    779     char *cols[numberColumns]; 
     771    string filename = "ex1"; 
     772    string tablename = "data"; 
     773 
     774    uint32_t numberColumns = radioInfo->numUtilities + radioInfo->numParameters \ 
     775                             + radioInfo->numObservables + 1; 
     776 
     777    string cols[numberColumns]; 
    780778 
    781779    size_t columnIndex = 0; 
    782780    for (size_t i = 0; i < radioInfo->numUtilities; i++){ 
    783         cols[columnIndex] = (char*)uList[i].name.c_str(); 
     781        cols[columnIndex] = (char*)uList[i].name; 
    784782        columnIndex++; 
    785783    }    
    786784    for (size_t i = 0; i < radioInfo->numParameters; i++){ 
    787         cols[columnIndex] = (char*)pList[i].name.c_str(); 
     785        cols[columnIndex] = (char*)pList[i].name; 
    788786        columnIndex++; 
    789787    }    
    790788    for (size_t i = 0; i < radioInfo->numObservables; i++){ 
    791         cols[columnIndex] = (char*)oList[i].name.c_str(); 
     789        cols[columnIndex] = (char*)oList[i].name; 
    792790        columnIndex++; 
    793791    }    
    794     cols[columnIndex] = (char *) "utility"; 
     792    cols[columnIndex] = "utility"; 
    795793 
    796794    myCBR = new CBR(filename, tablename, cols, numberColumns);