Show
Ignore:
Timestamp:
05/19/10 05:31:37 (14 years ago)
Author:
mido
Message:

a small patches of previous commit as arranged yesterday

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/stat/exp_family.cpp

    r956 r957  
    613613        migamma::from_setting(set); 
    614614        vec ref; 
     615        double k,l; 
     616 
    615617        UI::get ( ref, set, "ref" , UI::compulsory ); 
    616         set_parameters ( set["k"], ref, set["l"] ); 
    617         validate(); 
    618 } 
     618        UI::get( k, set, "k", UI::compulsory ); 
     619        UI::get( l, set, "l", UI::compulsory ); 
     620        set_parameters ( k, ref, l ); 
     621} 
     622 
    619623void  migamma_ref::to_setting  (Setting  &set) const { 
    620624        migamma::to_setting(set); 
     
    623627        UI::save(k,set,"k"); 
    624628} 
     629 
    625630void mlognorm::from_setting ( const Setting &set ) { 
    626631        pdf_internal<elognorm>::from_setting(set); 
    627632        vec mu0; 
     633        double k; 
    628634        UI::get ( mu0, set, "mu0", UI::compulsory ); 
    629         set_parameters ( mu0.length(), set["k"] ); 
     635        UI::get( k, set, "k", UI::compulsory ); 
     636        set_parameters ( mu0.length(), k ); 
    630637        condition ( mu0 ); 
    631638} 
    632  
    633639 
    634640void mlognorm::to_setting  (Setting  &set) const { 
    635641        pdf_internal<elognorm>::to_setting(set); 
    636642        UI::save ( exp(mu + sig2), set, "mu0"); 
     643 
     644        // inversion of sig2 = 0.5 * log ( k * k + 1 ); 
     645        double k = sqrt( exp( 2 * sig2 ) - 1  ); 
     646        UI::save(k,set,"k"); 
    637647} 
    638648