alglib4 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +47 -0
- data/ext/alglib/alglib.cpp +537 -0
- data/ext/alglib/alglib_array_converters.cpp +86 -0
- data/ext/alglib/alglib_array_converters.h +15 -0
- data/ext/alglib/alglib_utils.cpp +10 -0
- data/ext/alglib/alglib_utils.h +6 -0
- data/ext/alglib/alglibinternal.cpp +21749 -0
- data/ext/alglib/alglibinternal.h +2168 -0
- data/ext/alglib/alglibmisc.cpp +9106 -0
- data/ext/alglib/alglibmisc.h +2114 -0
- data/ext/alglib/ap.cpp +20094 -0
- data/ext/alglib/ap.h +7244 -0
- data/ext/alglib/dataanalysis.cpp +52588 -0
- data/ext/alglib/dataanalysis.h +10601 -0
- data/ext/alglib/diffequations.cpp +1342 -0
- data/ext/alglib/diffequations.h +282 -0
- data/ext/alglib/extconf.rb +5 -0
- data/ext/alglib/fasttransforms.cpp +4696 -0
- data/ext/alglib/fasttransforms.h +1018 -0
- data/ext/alglib/integration.cpp +4249 -0
- data/ext/alglib/integration.h +869 -0
- data/ext/alglib/interpolation.cpp +74502 -0
- data/ext/alglib/interpolation.h +12264 -0
- data/ext/alglib/kernels_avx2.cpp +2171 -0
- data/ext/alglib/kernels_avx2.h +201 -0
- data/ext/alglib/kernels_fma.cpp +1065 -0
- data/ext/alglib/kernels_fma.h +137 -0
- data/ext/alglib/kernels_sse2.cpp +735 -0
- data/ext/alglib/kernels_sse2.h +100 -0
- data/ext/alglib/linalg.cpp +65182 -0
- data/ext/alglib/linalg.h +9927 -0
- data/ext/alglib/optimization.cpp +135331 -0
- data/ext/alglib/optimization.h +19235 -0
- data/ext/alglib/solvers.cpp +20488 -0
- data/ext/alglib/solvers.h +4781 -0
- data/ext/alglib/specialfunctions.cpp +10672 -0
- data/ext/alglib/specialfunctions.h +2305 -0
- data/ext/alglib/statistics.cpp +19791 -0
- data/ext/alglib/statistics.h +1359 -0
- data/ext/alglib/stdafx.h +2 -0
- data/gpl2.txt +339 -0
- data/gpl3.txt +674 -0
- data/lib/alglib/version.rb +3 -0
- data/lib/alglib.rb +4 -0
- metadata +101 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
/*************************************************************************
|
2
|
+
ALGLIB 4.04.0 (source code generated 2024-12-21)
|
3
|
+
Copyright (c) Sergey Bochkanov (ALGLIB project).
|
4
|
+
|
5
|
+
>>> SOURCE LICENSE >>>
|
6
|
+
This program is free software; you can redistribute it and/or modify
|
7
|
+
it under the terms of the GNU General Public License as published by
|
8
|
+
the Free Software Foundation (www.fsf.org); either version 2 of the
|
9
|
+
License, or (at your option) any later version.
|
10
|
+
|
11
|
+
This program is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
GNU General Public License for more details.
|
15
|
+
|
16
|
+
A copy of the GNU General Public License is available at
|
17
|
+
http://www.fsf.org/licensing/licenses
|
18
|
+
>>> END OF LICENSE >>>
|
19
|
+
*************************************************************************/
|
20
|
+
#ifndef _kernels_sse2_h
|
21
|
+
#define _kernels_sse2_h
|
22
|
+
|
23
|
+
#include "ap.h"
|
24
|
+
|
25
|
+
#define AE_USE_CPP
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
namespace alglib_impl
|
30
|
+
{
|
31
|
+
#if !defined(ALGLIB_NO_FAST_KERNELS) && defined(_ALGLIB_HAS_SSE2_INTRINSICS)
|
32
|
+
|
33
|
+
double rdotv_sse2(ae_int_t n,
|
34
|
+
/* Real */ const double* x,
|
35
|
+
/* Real */ const double* y,
|
36
|
+
ae_state *_state);
|
37
|
+
double rdotv2_sse2(ae_int_t n,
|
38
|
+
/* Real */ const double* x,
|
39
|
+
ae_state *_state);
|
40
|
+
void rcopyv_sse2(const ae_int_t n,
|
41
|
+
/* Real */ const double* __restrict x,
|
42
|
+
/* Real */ double* __restrict y,
|
43
|
+
ae_state* __restrict _state);
|
44
|
+
void rcopymulv_sse2(const ae_int_t n,
|
45
|
+
const double v,
|
46
|
+
/* Real */ const double* __restrict x,
|
47
|
+
/* Real */ double* __restrict y,
|
48
|
+
const ae_state* __restrict _state);
|
49
|
+
void icopyv_sse2(const ae_int_t n, const ae_int_t* __restrict x,
|
50
|
+
ae_int_t* __restrict y, ae_state* __restrict _state);
|
51
|
+
void bcopyv_sse2(const ae_int_t n, const ae_bool* __restrict x,
|
52
|
+
ae_bool* __restrict y, ae_state* __restrict _state);
|
53
|
+
void rsetv_sse2(const ae_int_t n,
|
54
|
+
const double v,
|
55
|
+
/* Real */ double* __restrict x,
|
56
|
+
const ae_state* __restrict _state);
|
57
|
+
void rsetvx_sse2(const ae_int_t n,
|
58
|
+
const double v,
|
59
|
+
/* Real */ double* __restrict x,
|
60
|
+
const ae_state* __restrict _state);
|
61
|
+
void isetv_sse2(const ae_int_t n, const ae_int_t v,
|
62
|
+
ae_int_t* __restrict x, ae_state* __restrict _state);
|
63
|
+
void bsetv_sse2(const ae_int_t n, const ae_bool v, ae_bool* __restrict x,
|
64
|
+
ae_state* __restrict _state);
|
65
|
+
void rmulv_sse2(const ae_int_t n, const double v, double* __restrict x,
|
66
|
+
const ae_state* __restrict _state);
|
67
|
+
void rmulvx_sse2(const ae_int_t n, const double v, double* __restrict x,
|
68
|
+
const ae_state* __restrict _state);
|
69
|
+
void raddv_sse2(const ae_int_t n,
|
70
|
+
const double alpha,
|
71
|
+
/* Real */ const double* __restrict y,
|
72
|
+
/* Real */ double* __restrict x,
|
73
|
+
const ae_state* __restrict _state);
|
74
|
+
void raddvx_sse2(const ae_int_t n, const double alpha,
|
75
|
+
const double* __restrict y, double* __restrict x, ae_state *_state);
|
76
|
+
void rmergemulv_sse2(const ae_int_t n,
|
77
|
+
/* Real */ const double* __restrict y,
|
78
|
+
/* Real */ double* __restrict x,
|
79
|
+
const ae_state* __restrict _state);
|
80
|
+
void rmergemaxv_sse2(const ae_int_t n,
|
81
|
+
/* Real */ const double* __restrict y,
|
82
|
+
/* Real */ double* __restrict x,
|
83
|
+
ae_state* __restrict _state);
|
84
|
+
void rmergeminv_sse2(const ae_int_t n,
|
85
|
+
/* Real */ const double* __restrict y,
|
86
|
+
/* Real */ double* __restrict x,
|
87
|
+
ae_state* __restrict _state);
|
88
|
+
double rmaxv_sse2(ae_int_t n, /* Real */ const double* __restrict x, ae_state* __restrict _state);
|
89
|
+
double rmaxabsv_sse2(ae_int_t n, /* Real */ const double* __restrict x, ae_state* __restrict _state);
|
90
|
+
void rcopyvx_sse2(const ae_int_t n, const double* __restrict x,
|
91
|
+
double* __restrict y, ae_state *_state);
|
92
|
+
void icopyvx_sse2(const ae_int_t n, const ae_int_t* __restrict x,
|
93
|
+
ae_int_t* __restrict y, ae_state* __restrict _state);
|
94
|
+
/* ALGLIB_NO_FAST_KERNELS, _ALGLIB_HAS_SSE2_INTRINSICS */
|
95
|
+
#endif
|
96
|
+
|
97
|
+
}
|
98
|
+
|
99
|
+
#endif
|
100
|
+
|