Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/25/19 23:14:06 (5 years ago)
Author:
mkommend
Message:

#2435: Updated branch with most recent trunk changes.

Location:
branches/2435-alglib_3_15
Files:
1 deleted
10 edited
3 copied

Legend:

Unmodified
Added
Removed
  • branches/2435-alglib_3_15

  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs

  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.Attic/1.0.0/HeuristicLab.Attic.csproj

    r16658 r17034  
    3636  </PropertyGroup>
    3737  <ItemGroup>
    38     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    39       <HintPath>..\..\..\..\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    40     </Reference>
    4138    <Reference Include="System" />
    4239    <Reference Include="System.Core" />
     
    6461  <ItemGroup>
    6562    <PackageReference Include="HEAL.Attic">
    66       <Version>1.0.0-pre04</Version>
     63      <Version>1.1.0</Version>
    6764    </PackageReference>
     65  </ItemGroup>
     66  <ItemGroup>
     67    <ProjectReference Include="..\..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
     68      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
     69      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
     70      <Private>False</Private>
     71    </ProjectReference>
     72    <ProjectReference Include="..\..\HeuristicLab.Protobuf\3.6.1\HeuristicLab.Protobuf.csproj">
     73      <Project>{44b10478-d290-43d3-9757-c08f5292fea5}</Project>
     74      <Name>HeuristicLab.Protobuf</Name>
     75    </ProjectReference>
    6876  </ItemGroup>
    6977  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.Attic/1.0.0/Plugin.cs.frame

    r16658 r17034  
    3131  [PluginFile("HEAL.Attic.dll", PluginFileType.Assembly)]
    3232  [PluginFile("HEAL.Attic.License.txt", PluginFileType.License)]
    33   [PluginFile("Google.Protobuf.dll", PluginFileType.Assembly)]
    3433  [PluginFile("System.Drawing.Common.dll", PluginFileType.Assembly)]
     34  [PluginDependency("HeuristicLab.Protobuf", "3.6.1")]
    3535  public class Plugin : PluginBase {
    3636  }
  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1

    • Property svn:global-ignores set to
      build
      mingw
  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/instruction.h

    r16356 r17034  
    99{
    1010    // same values as in OpCodes.cs
    11     Add = 1,
    12     Sub = 2,
    13     Mul = 3,
    14     Div = 4,
    15     Sin = 5,
    16     Cos = 6,
    17     Tan = 7,
    18     Log = 8,
    19     Exp = 9,
    20     Var = 18,
    21     Const = 20,
    22     Power = 22,
    23     Root = 23,
    24     Square = 28,
    25     Sqrt = 29,
    26     Absolute = 48,
     11    Add                = 1,
     12    Sub                = 2,
     13    Mul                = 3,
     14    Div                = 4,
     15    Sin                = 5,
     16    Cos                = 6,
     17    Tan                = 7,
     18    Log                = 8,
     19    Exp                = 9,
     20    Var                = 18,
     21    Const              = 20,
     22    Power              = 22,
     23    Root               = 23,
     24    Square             = 28,
     25    Sqrt               = 29,
     26    Absolute           = 48,
    2727    AnalyticalQuotient = 49,
    28     Cube = 50,
    29     CubeRoot = 51
     28    Cube               = 50,
     29    CubeRoot           = 51,
     30    Tanh               = 52
    3031};
    3132
  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/interpreter.h

    r16356 r17034  
    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_cbrt(code[in.childIndex].value);
    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                {
     
    262272            case OpCodes::CubeRoot:
    263273                {
    264                     pow(in.buf, code[in.childIndex].buf, 1./3.);
     274                    cbrt(in.buf, code[in.childIndex].buf);
    265275                    break;
    266276                }
  • branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/vector_operations.h

    r16356 r17034  
    1414#define hl_cos vdt::fast_cos
    1515#define hl_tan vdt::fast_tan
     16#define hl_tanh vdt::fast_tanh
    1617#define hl_sqrt vdt::fast_sqrt
    1718#define hl_pow vdt::fast_pow
     19#define hl_cbrt std::cbrt
    1820#define hl_round vdt::fast_round
     21#define hl_inv vdt::fast_inv
    1922#else
    2023#define hl_exp std::exp
     
    2326#define hl_cos std::cos
    2427#define hl_tan std::tan
     28#define hl_tanh std::tanh
    2529#define hl_sqrt std::sqrt
    2630#define hl_pow std::pow
     31#define hl_cbrt std::cbrt
    2732#define hl_round std::round
     33#define hl_inv(x) 1. / x;
     34
    2835#endif
    2936
     
    4754inline void cos(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_cos(b[i]); }
    4855inline void tan(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_tan(b[i]); }
     56inline void tanh(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_tanh(b[i]); }
    4957inline void sqrt(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_sqrt(b[i]); }
    5058inline void pow(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_pow(a[i], hl_round(b[i])); };
    5159inline void root(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_pow(a[i], 1. / hl_round(b[i])); };
     60inline void cbrt(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_cbrt(b[i]); };
    5261inline void square(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_pow(b[i], 2.); };
    53 inline void inv(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = 1. / b[i]; }
     62inline void inv(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_inv(b[i]); }
    5463inline void neg(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = -b[i]; }
    5564inline void abs(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = std::fabs(b[i]); }
     
    6675// vector operations
    6776inline void neg(double* __restrict a) noexcept { FOR(i) a[i] = -a[i]; }
    68 inline void inv(double* __restrict a) noexcept { FOR(i) a[i] = 1. / a[i]; }
     77inline void inv(double* __restrict a) noexcept { FOR(i) a[i] = hl_inv(a[i]); }
    6978inline void exp(double* __restrict a) noexcept { FOR(i) a[i] = hl_exp(a[i]); }
    7079inline void log(double* __restrict a) noexcept { FOR(i) a[i] = hl_log(a[i]); }
    7180inline void sin(double* __restrict a) noexcept { FOR(i) a[i] = hl_sin(a[i]); }
    7281inline void cos(double* __restrict a) noexcept { FOR(i) a[i] = hl_cos(a[i]); }
     82inline void tan(double* __restrict a) noexcept { FOR(i) a[i] = hl_tan(a[i]); }
     83inline void tanh(double* __restrict a) noexcept { FOR(i) a[i] = hl_tanh(a[i]); }
    7384inline void round(double* __restrict a) noexcept { FOR(i) a[i] = hl_round(a[i]); }
    7485inline void square(double* __restrict a) noexcept { FOR(i) a[i] = hl_pow(a[i], 2.); }
     86inline void cbrt(double* __restrict a) noexcept { FOR(i) a[i] = hl_cbrt(a[i]); }
    7587
    7688#undef FOR
Note: See TracChangeset for help on using the changeset viewer.