Changeset 17034 for branches/2435-alglib_3_15/HeuristicLab.ExtLibs
- Timestamp:
- 06/25/19 23:14:06 (5 years ago)
- Location:
- branches/2435-alglib_3_15
- Files:
-
- 1 deleted
- 10 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2435-alglib_3_15
- Property svn:mergeinfo changed
-
branches/2435-alglib_3_15/HeuristicLab.ExtLibs
- Property svn:mergeinfo changed
-
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.Attic/1.0.0/HeuristicLab.Attic.csproj
r16658 r17034 36 36 </PropertyGroup> 37 37 <ItemGroup> 38 <Reference Include="HeuristicLab.PluginInfrastructure-3.3">39 <HintPath>..\..\..\..\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>40 </Reference>41 38 <Reference Include="System" /> 42 39 <Reference Include="System.Core" /> … … 64 61 <ItemGroup> 65 62 <PackageReference Include="HEAL.Attic"> 66 <Version>1. 0.0-pre04</Version>63 <Version>1.1.0</Version> 67 64 </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> 68 76 </ItemGroup> 69 77 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.Attic/1.0.0/Plugin.cs.frame
r16658 r17034 31 31 [PluginFile("HEAL.Attic.dll", PluginFileType.Assembly)] 32 32 [PluginFile("HEAL.Attic.License.txt", PluginFileType.License)] 33 [PluginFile("Google.Protobuf.dll", PluginFileType.Assembly)]34 33 [PluginFile("System.Drawing.Common.dll", PluginFileType.Assembly)] 34 [PluginDependency("HeuristicLab.Protobuf", "3.6.1")] 35 35 public class Plugin : PluginBase { 36 36 } -
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1
-
Property
svn:global-ignores
set to
build
mingw
-
Property
svn:global-ignores
set to
-
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/instruction.h
r16356 r17034 9 9 { 10 10 // 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, 27 27 AnalyticalQuotient = 49, 28 Cube = 50, 29 CubeRoot = 51 28 Cube = 50, 29 CubeRoot = 51, 30 Tanh = 52 30 31 }; 31 32 -
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/interpreter.h
r16356 r17034 64 64 case OpCodes::Exp: 65 65 { 66 in.value = std::exp(code[in.childIndex].value);66 in.value = hl_exp(code[in.childIndex].value); 67 67 break; 68 68 } 69 69 case OpCodes::Log: 70 70 { 71 in.value = std::log(code[in.childIndex].value);71 in.value = hl_log(code[in.childIndex].value); 72 72 break; 73 73 } 74 74 case OpCodes::Sin: 75 75 { 76 in.value = std::sin(code[in.childIndex].value);76 in.value = hl_sin(code[in.childIndex].value); 77 77 break; 78 78 } 79 79 case OpCodes::Cos: 80 80 { 81 in.value = std::cos(code[in.childIndex].value);81 in.value = hl_cos(code[in.childIndex].value); 82 82 break; 83 83 } 84 84 case OpCodes::Tan: 85 85 { 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); 87 92 break; 88 93 } … … 90 95 { 91 96 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); 94 99 break; 95 100 } … … 97 102 { 98 103 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); 101 106 break; 102 107 } 103 108 case OpCodes::Sqrt: 104 109 { 105 in.value = std::pow(code[in.childIndex].value, 1./2.);110 in.value = hl_pow(code[in.childIndex].value, 1./2.); 106 111 break; 107 112 } 108 113 case OpCodes::Square: 109 114 { 110 in.value = std::pow(code[in.childIndex].value, 2.);115 in.value = hl_pow(code[in.childIndex].value, 2.); 111 116 break; 112 117 } 113 118 case OpCodes::CubeRoot: 114 119 { 115 in.value = std::pow(code[in.childIndex].value, 1./3.);120 in.value = hl_cbrt(code[in.childIndex].value); 116 121 break; 117 122 } 118 123 case OpCodes::Cube: 119 124 { 120 in.value = std::pow(code[in.childIndex].value, 3.);125 in.value = hl_pow(code[in.childIndex].value, 3.); 121 126 break; 122 127 } … … 130 135 double x = code[in.childIndex].value; 131 136 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); 133 138 break; 134 139 } … … 228 233 break; 229 234 } 235 case OpCodes::Tanh: 236 { 237 tanh(in.buf, code[in.childIndex].buf); 238 break; 239 } 230 240 case OpCodes::Log: 231 241 { … … 262 272 case OpCodes::CubeRoot: 263 273 { 264 pow(in.buf, code[in.childIndex].buf, 1./3.);274 cbrt(in.buf, code[in.childIndex].buf); 265 275 break; 266 276 } -
branches/2435-alglib_3_15/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/src/vector_operations.h
r16356 r17034 14 14 #define hl_cos vdt::fast_cos 15 15 #define hl_tan vdt::fast_tan 16 #define hl_tanh vdt::fast_tanh 16 17 #define hl_sqrt vdt::fast_sqrt 17 18 #define hl_pow vdt::fast_pow 19 #define hl_cbrt std::cbrt 18 20 #define hl_round vdt::fast_round 21 #define hl_inv vdt::fast_inv 19 22 #else 20 23 #define hl_exp std::exp … … 23 26 #define hl_cos std::cos 24 27 #define hl_tan std::tan 28 #define hl_tanh std::tanh 25 29 #define hl_sqrt std::sqrt 26 30 #define hl_pow std::pow 31 #define hl_cbrt std::cbrt 27 32 #define hl_round std::round 33 #define hl_inv(x) 1. / x; 34 28 35 #endif 29 36 … … 47 54 inline void cos(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_cos(b[i]); } 48 55 inline void tan(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_tan(b[i]); } 56 inline void tanh(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_tanh(b[i]); } 49 57 inline void sqrt(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_sqrt(b[i]); } 50 58 inline void pow(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_pow(a[i], hl_round(b[i])); }; 51 59 inline void root(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_pow(a[i], 1. / hl_round(b[i])); }; 60 inline void cbrt(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_cbrt(b[i]); }; 52 61 inline 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]; }62 inline void inv(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = hl_inv(b[i]); } 54 63 inline void neg(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = -b[i]; } 55 64 inline void abs(double* __restrict a, double const * __restrict b) noexcept { FOR(i) a[i] = std::fabs(b[i]); } … … 66 75 // vector operations 67 76 inline 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]; }77 inline void inv(double* __restrict a) noexcept { FOR(i) a[i] = hl_inv(a[i]); } 69 78 inline void exp(double* __restrict a) noexcept { FOR(i) a[i] = hl_exp(a[i]); } 70 79 inline void log(double* __restrict a) noexcept { FOR(i) a[i] = hl_log(a[i]); } 71 80 inline void sin(double* __restrict a) noexcept { FOR(i) a[i] = hl_sin(a[i]); } 72 81 inline void cos(double* __restrict a) noexcept { FOR(i) a[i] = hl_cos(a[i]); } 82 inline void tan(double* __restrict a) noexcept { FOR(i) a[i] = hl_tan(a[i]); } 83 inline void tanh(double* __restrict a) noexcept { FOR(i) a[i] = hl_tanh(a[i]); } 73 84 inline void round(double* __restrict a) noexcept { FOR(i) a[i] = hl_round(a[i]); } 74 85 inline void square(double* __restrict a) noexcept { FOR(i) a[i] = hl_pow(a[i], 2.); } 86 inline void cbrt(double* __restrict a) noexcept { FOR(i) a[i] = hl_cbrt(a[i]); } 75 87 76 88 #undef FOR
Note: See TracChangeset
for help on using the changeset viewer.