Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/04/18 11:05:31 (5 years ago)
Author:
bburlacu
Message:

#2958: Update dll files and C++ source code to the latest version.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/interpreter.h

    r16269 r16274  
    22#define NATIVE_TREE_INTERPRETER_CLANG_H
    33
    4 #include <cstring>
    5 #include <vector>
    6 #include <algorithm>
    7 
     4#include "vector_operations.h"
    85#include "instruction.h"
    9 #include "vector_operations.h"
    106
    117inline double evaluate(instruction *code, int len, int row) noexcept
     
    146142            case OpCodes::Sub:
    147143                {
    148                     load(in.buf, code[in.childIndex].buf);
    149                     for (int j = 1; j < in.narg; ++j)
    150                     {
    151                         sub(in.buf, code[in.childIndex + j].buf);
    152                     }
    153                     if (in.narg == 1)
    154                     {
    155                         neg(in.buf);
     144                    if (in.narg == 1)
     145                    {
     146                        neg(in.buf, code[in.childIndex].buf);
     147                        break;
     148                    }
     149                    else
     150                    {
     151                        load(in.buf, code[in.childIndex].buf);
     152                        for (int j = 1; j < in.narg; ++j)
     153                        {
     154                            sub(in.buf, code[in.childIndex + j].buf);
     155                        }
    156156                    }
    157157                    break;
     
    168168            case OpCodes::Div:
    169169                {
    170                     load(in.buf, code[in.childIndex].buf);
    171                     for (int j = 1; j < in.narg; ++j)
    172                     {
    173                         div(in.buf, code[in.childIndex + j].buf);
    174                     }
    175                     if (in.narg == 1)
    176                     {
    177                         inv(in.buf);
     170                    if (in.narg == 1)
     171                    {
     172                        inv(in.buf, code[in.childIndex].buf);
     173                        break;
     174                    }
     175                    else
     176                    {
     177                        load(in.buf, code[in.childIndex].buf);
     178                        for (int j = 1; j < in.narg; ++j)
     179                        {
     180                            div(in.buf, code[in.childIndex + j].buf);
     181                        }
    178182                    }
    179183                    break;
Note: See TracChangeset for help on using the changeset viewer.