Ignore:
Timestamp:
05/04/19 08:22:42 (6 months ago)
Author:
gkronber
Message:

#2925 merged r16661:16890 from trunk to branch

Location:
branches/2925_AutoDiffForDynamicalModels
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2925_AutoDiffForDynamicalModels

  • branches/2925_AutoDiffForDynamicalModels/HeuristicLab.ExtLibs

  • branches/2925_AutoDiffForDynamicalModels/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1

    • Property svn:global-ignores set to
      build
      mingw
  • branches/2925_AutoDiffForDynamicalModels/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/interpreter.h

    r16356 r16892  
    6464            case OpCodes::Exp:
    6565                {
    66                     in.value = std::exp(code[in.childIndex].value);
     66                    in.value = hl_exp(code[in.childIndex].value);
    6767                    break;
    6868                }
    6969            case OpCodes::Log:
    7070                {
    71                     in.value = std::log(code[in.childIndex].value);
     71                    in.value = hl_log(code[in.childIndex].value);
    7272                    break;
    7373                }
    7474            case OpCodes::Sin:
    7575                {
    76                     in.value = std::sin(code[in.childIndex].value);
     76                    in.value = hl_sin(code[in.childIndex].value);
    7777                    break;
    7878                }
    7979            case OpCodes::Cos:
    8080                {
    81                     in.value = std::cos(code[in.childIndex].value);
     81                    in.value = hl_cos(code[in.childIndex].value);
    8282                    break;
    8383                }
    8484            case OpCodes::Tan:
    8585                {
    86                     in.value = std::tan(code[in.childIndex].value);
     86                    in.value = hl_tan(code[in.childIndex].value);
     87                    break;
     88                }
     89            case OpCodes::Tanh:
     90                {
     91                    in.value = hl_tanh(code[in.childIndex].value);
    8792                    break;
    8893                }
     
    9095                {
    9196                    double x = code[in.childIndex].value;
    92                     double y = std::round(code[in.childIndex + 1].value);
    93                     in.value = std::pow(x, y);
     97                    double y = hl_round(code[in.childIndex + 1].value);
     98                    in.value = hl_pow(x, y);
    9499                    break;
    95100                }
     
    97102                {
    98103                    double x = code[in.childIndex].value;
    99                     double y = std::round(code[in.childIndex + 1].value);
    100                     in.value = std::pow(x, 1 / y);
     104                    double y = hl_round(code[in.childIndex + 1].value);
     105                    in.value = hl_pow(x, 1 / y);
    101106                    break;
    102107                }
    103108            case OpCodes::Sqrt:
    104109                {
    105                     in.value = std::pow(code[in.childIndex].value, 1./2.);
     110                    in.value = hl_pow(code[in.childIndex].value, 1./2.);
    106111                    break;
    107112                }
    108113            case OpCodes::Square:
    109114                {
    110                     in.value = std::pow(code[in.childIndex].value, 2.);
     115                    in.value = hl_pow(code[in.childIndex].value, 2.);
    111116                    break;
    112117                }
    113118            case OpCodes::CubeRoot:
    114119                {
    115                     in.value = std::pow(code[in.childIndex].value, 1./3.);
     120                    in.value = hl_pow(code[in.childIndex].value, 1./3.);
    116121                    break;
    117122                }
    118123            case OpCodes::Cube:
    119124                {
    120                     in.value = std::pow(code[in.childIndex].value, 3.);
     125                    in.value = hl_pow(code[in.childIndex].value, 3.);
    121126                    break;
    122127                }
     
    130135                    double x = code[in.childIndex].value;
    131136                    double y = code[in.childIndex + 1].value;
    132                     in.value = x / std::sqrt(1 + y*y);
     137                    in.value = x / hl_sqrt(1 + y*y);
    133138                    break;
    134139                }
     
    228233                    break;
    229234                }
     235            case OpCodes::Tanh:
     236                {
     237                    tanh(in.buf, code[in.childIndex].buf);
     238                    break;
     239                }
    230240            case OpCodes::Log:
    231241                {
Note: See TracChangeset for help on using the changeset viewer.