Changeset e4b3a12 in tol


Ignore:
Timestamp:
Jan 14, 2011, 3:58:00 PM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
662ebf7
Parents:
9d1642e
Message:

Fixes #907

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@3052 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol/btol/vmatrix_type
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/vmatrix_type/tol_bvmat_bsr_impl.h

    r9d1642e re4b3a12  
    395395  void action(const std::string& str) const
    396396  {
    397     if(str=="?")
     397    if((str=="?")||(str=="-1.#INF"))
    398398    {
    399399      action(BDat::NegInf());
    … …  
    504504  void action(const std::string& str) const
    505505  {
    506     if(str=="?")
     506    if((str=="?")||(str=="+1.#INF")||(str=="1.#INF"))
    507507    {
    508508      action(BDat::PosInf());
  • tol/btol/vmatrix_type/vmat_bsr_joint.cpp

    r9d1642e re4b3a12  
    6262      variantSigma, constantSigma, covariance,
    6363      noiseName, noisePosition,
    64       posSign, negSign, unknown, product,
     64      posSign, negSign, unknown, infinite, posInf, negInf, knownOrInfReal, product,
    6565      initValue, like, power2, member, nonLinearFilters,
    6666      noiseSize, normalDist, normalNu, eq, le, ge, tolExpression,
    … …  
    158158      unknown = str_p("?")
    159159        ;
     160      infinite = str_p("1.#INF")
     161        ;
     162      posInf = (eps_p | posSign) >> infinite
     163        ;
     164      negInf = (negSign) >> infinite
     165        ;
     166      knownReal =
     167        real_p[assign_a(s.realValue)]
     168        ;
     169      knownOrInfReal = knownReal |
     170        posInf[assign_a(s.realValue,BDat::PosInf())]|
     171        negInf[assign_a(s.realValue,BDat::NegInf())]
     172        ;
    160173      product = str_p("*")
    161174        ;
    … …  
    247260        |
    248261        negSign[assign_neg_sign_to_ine_term_]
    249         ;
    250       knownReal =
    251         real_p[assign_a(s.realValue)]
    252         ;
    253       unkOrReal =
    254         unknown[assign_a(s.realValue,BDat::Nan())]
    255         |
    256         knownReal
    257262        ;
    258263      knownURealEquTerm =
    … …  
    297302                      str_p("Uniform")[assign_a(s.mis.info.prior,"Uniform")] >>
    298303                      openParenthesys >>
    299                       ((str_p("?")|real_p)[assign_missing_min_] | error_badNumber) >>
     304                      ((str_p("?")|str_p("-1.#INF")|real_p)[assign_missing_min_] | error_badNumber) >>
    300305                      argumentSeparator >>
    301                       ((str_p("?")|real_p)[assign_missing_max_] | error_badNumber) >>
     306                      ((str_p("?")|str_p("+1.#INF")|str_p("1.#INF")|real_p)[assign_missing_max_] | error_badNumber) >>
    302307                      closeParenthesys
    303308                    )
    … …  
    328333                  (real_p[assign_a(s.mis.info.sigma2)] | error_badNumber)>>
    329334                  argumentSeparator >>
    330                   ((str_p("?")|real_p)[assign_missing_min_] | error_badNumber) >>
     335                  ((str_p("?")|str_p("-1.#INF")|real_p)[assign_missing_min_] | error_badNumber) >>
    331336                  argumentSeparator >>
    332                   ((str_p("?")|real_p)[assign_missing_max_] | error_badNumber) >>
     337                  ((str_p("?")|str_p("+1.#INF")|str_p("1.#INF")|real_p)[assign_missing_max_] | error_badNumber) >>
    333338                  closeParenthesys
    334339                )
  • tol/btol/vmatrix_type/vmat_bsr_primary.cpp

    r9d1642e re4b3a12  
    6262      variantSigma, constantSigma, covariance,
    6363      noiseName, noisePosition,
    64       posSign, negSign, unknown, product,
     64      posSign, negSign, unknown, infinite, posInf, negInf, knownOrInfReal, product,
    6565      initValue, like, power2, member, nonLinearFilters,
    6666      noiseSize, normalDist, normalNu, eq, le, ge, tolExpression,
    … …  
    155155      unknown = str_p("?")
    156156        ;
     157      infinite = str_p("1.#INF")
     158        ;
     159      posInf = (eps_p | posSign) >> infinite
     160        ;
     161      negInf = (negSign) >> infinite
     162        ;
     163      knownReal =
     164        real_p[assign_a(s.realValue)]
     165        ;
     166      knownOrInfReal = knownReal |
     167        posInf[assign_a(s.realValue,BDat::PosInf())]|
     168        negInf[assign_a(s.realValue,BDat::NegInf())]
     169        ;
     170      unkOrReal =
     171        unknown[assign_a(s.realValue,BDat::Nan())]
     172        |
     173        knownReal
     174        ;
     175      unkOrRealInitValue =
     176        unknown[assign_a(s.var.info.initValue,BDat::Nan())]
     177        |
     178        real_p[assign_a(s.var.info.initValue)]
     179        ;
    157180      product = str_p("*")
    158181        ;
    … …  
    224247          | eps_p
    225248        )
    226         ;
    227       knownReal =
    228         real_p[assign_a(s.realValue)]
    229         ;
    230       unkOrReal =
    231         unknown[assign_a(s.realValue,BDat::Nan())]
    232         |
    233         knownReal
    234         ;
    235       unkOrRealInitValue =
    236         unknown[assign_a(s.var.info.initValue,BDat::Nan())]
    237         |
    238         real_p[assign_a(s.var.info.initValue)]
    239249        ;
    240250      variable =  ((
    … …  
    282292                      str_p("Uniform")[assign_a(s.mis.info.prior,"Uniform")] >>
    283293                      openParenthesys >>
    284                       ((str_p("?")|real_p)[assign_missing_min_] | error_badNumber) >>
     294                      ((str_p("?")|str_p("-1.#INF")|real_p)[assign_missing_min_] | error_badNumber) >>
    285295                      argumentSeparator >>
    286                       ((str_p("?")|real_p)[assign_missing_max_] | error_badNumber) >>
     296                      ((str_p("?")|str_p("+1.#INF")|str_p("1.#INF")|real_p)[assign_missing_max_] | error_badNumber) >>
    287297                      closeParenthesys
    288298                    )
    … …  
    313323                  (real_p[assign_a(s.mis.info.sigma2)] | error_badNumber)>>
    314324                  argumentSeparator >>
    315                   ((str_p("?")|real_p)[assign_missing_min_] | error_badNumber) >>
     325                  ((str_p("?")|str_p("-1.#INF")|real_p)[assign_missing_min_] | error_badNumber) >>
    316326                  argumentSeparator >>
    317                   ((str_p("?")|real_p)[assign_missing_max_] | error_badNumber) >>
     327                  ((str_p("?")|str_p("+1.#INF")|str_p("1.#INF")|real_p)[assign_missing_max_] | error_badNumber) >>
    318328                  closeParenthesys
    319329                )
Note: See TracChangeset for help on using the changeset viewer.