⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faq.english.html

📁 This is svd source code implementation in c++ , the zip file contain the ap file ,more detail ,plea
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<html><head><title>ALGLIB FAQ</title><style type="text/css"><!--h1 { font-family: Tahoma,sans-serif; font-size : larger; }h2 { font-family: Arial,sans-serif; font-size : 11pt; }h3 { font-family: Arial,sans-serif; font-size : 9pt; }.cond  { color:blue; }.const { color:#222222; }.func  { color:#111111; }.smalltext { font-size : 10pt; }--></style></head><body><p align=justify><b>C++</b><br><span class=smalltext><a href="#stdafx">What is the blank file <code>stdafx.h</code> here for?</a><br><a href="#cpparrays">How is the array operations organized in C++?</a><br><a href="#cpparrays2">Why are round brackets used when addressing arrays, not square brackets?</a><br><a href="#cpp64">Will the ALGLIB package work in 64-bit environment?</a><br></span><br><b>Delphi</b><br><span class=smalltext><a href="#forwhile">Why is <i>while</i> cycle used instead of the <i>for</i> cycle?</a><br><a href="#dac">What is the purpose of the <code>DynamicArrayCopy</code> function?</a><br></span><br><b>Visual Basic</b><br><span class=smalltext><a href="#vbver">What version of Visual Basic are the algorithms translated into?</a><br><a href="#vbnet">Will the programs from the site work in VB.NET?</a><br><a href="#vbgoto">Why is the <i>goto</i> operator used in some programs?</a><br></span><br><b>General Questions on source codes</b><br><span class=smalltext><a href="#reliability">How reliable is the ALGLIB package?</a><br><a href="#ap">What is the AP library?</a><br><a href="#ablas">What is the ABLAS library?</a><br><a href="#statuses">What do module statuses (experimental, development, stable, obsolete) mean?</a><br><a href="#stablevsfull">What is the difference between alglib.stable and alglib.full archives?</a><br><a href="#rcomm">Why do some algorithms (for instance, optimization methods) use reverse communication instead of function pointers, delegates and other means of my programming language?</a><br></span><br><b>General questions</b><br><span class=smalltext><a href="#project">What is ALGLIB aimed at?</a><br><a href="#diff">What is the difference between ALGLIB and other similar projects?</a><br><a href="#authors">Who are the authors of the ALGLIB?</a><br><a href="#rus">What relation does the website have to Russia?</a><br><a href="#algopascal">What is AlgoPascal?</a><br><a href="#other">Where can I find the algorithms for the work with files, drawing pictures in OpenGL, etc?</a><br></span><br></p><hr width=80% size=1><h1>C++</h1><a name=stdafx><h2>What is the blank file <code>stdafx.h</code> here for?</h2></a><p align=justify>MSVC and some other compilers require the <code>#include &lt;stdafx.h&gt;</code> directive in the program code to manage precompiled headers, and create the stfafx.h file when generating a new project. However, some compilers (e.g. BCB) use other tools to manage precompiled headers. In this case the <code>#include &lt;stdafx.h&gt;</code> directive as such doesn't hinder their operation, however if the file with this name is absent, a compilation error occurs. The blank file called <code>stfafx.h</code> is created to avoid this error. If your development environment already created the file, leave it unchanged.</p><a name=cpparrays><h2>How is the array operations organized in C++?</h2></a><p align=justify>As there is no dynamic array support in C++ (<b>update:</b> <i>I know about pointers and dynamic memory allocation, but this is not exactly the thing we need here</i>), template classes were developed to work with one- and two-dimensional arrays. The necessary source code and description can be found in the standard AP library, which is supplied with ALGLIB sources. Please note that the array numeration in this library begins from any number the programmer chooses rather than from 0.</p><a name=cpparrays2><h2>Why are round brackets used when addressing arrays, not square brackets?</h2></a><p align=justify>Imagine you are addressing the a matrix element in the common notation: <code>a[x][y]</code> instead of <code>a(x,y)</code>. Actually there are two index operators called here instead of one. The first is indexing of a matrix by <code>x</code>, that returns a reference to a temporary structure that describes the matrix row. The second is indexing that temporary structure by <code>y</code>, which returns the reference to the needed element. Addressing through overloading the round brackets is much more effective, as no temporary structures are required.</p><a name=cpp64><h2>Will the ALGLIB package work in 64-bit environment?</h2></a><p align=justify>The ALGLIB package was not tested in 64-bit environment.</p><p align=justify>However, the package itself and the AP/C++ library it uses don't contain any code that explicitly points out the environment it should work in. Thus, in theory compiling and usage of ALGLIB package in a 64-bit environment should not cause any trouble when not using additional libraries (like ABLAS, which is at the moment intended to work only in 32-bit environments).</p><h1>Delphi</h1><a name=forwhile><h2>Why is <i>while</i> cycle used instead of the <i>for</i> cycle?</h2></a><p align=justify>The reason for that is some peculiarities of the <b>for</b> cycle in Delphi. If the cycle has not been executed yet, in many programming languages the control variable of the cycle contains the initial value. In Delphi, if the cycle has not been executed, the control variable of the cycle doesn't change. Once I have seen a source code, in which this difference played a major role. That's why decided to replace the <b>for</b> cycle in Delphi with <b>while</b> cycle, whose behavior is the same as in any other language.</p><a name=dac><h2>What is the purpose of the <code>DynamicArrayCopy</code> function?</h2></a><p align=justify>In Delphi dynamic arrays are reference types, i.e. if the array parameter is passed by value, no copying of the array occurs. To emulate the transfer of the array parameter by value we use the <code>DynamicArrayCopy</code> function. It requires a dynamic array as an argument and returns a copy of this array. Assignment of the type <code>A:=DynamicArrayCopy(A)</code> replaces the reference to the original array with a reference to its copy.</p><h1>Visual Basic</h1><a name=vbver><h2>What version of Visual Basic are the algorithms translated into?</h2></a><p align=justify>The algorithms are translated into VBA, but in general are compatible with VB6. </p><a name=vbnet><h2>Will the programs from the site work in VB.NET?</h2></a><p align=justify>Not unless they are manually ported.</p><a name=vbgoto><h2>Why is the <i>goto</i> operator used in some programs?</h2></a><p align=justify>In many programming languages there is control operator <b>continue</b>, but it is absent in VB. In AlgoPascal, this operator appears from time to time. The <b>goto</b> operator is used to replace it and go to the next iteration of the cycle.</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -