1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
commit 62772d5fb0c6c7661c7acaa73d21de4205579d73
Author: Paul Chelarescu <paulchelarescu@gmail.com>
Date: Fri Jun 22 15:34:20 2018 +0200
Patched LASymMatrix.h
diff --git a/Minuit/LASymMatrix.h b/Minuit/LASymMatrix.h
index 755eb11..976c0de 100644
--- a/Minuit/LASymMatrix.h
+++ b/Minuit/LASymMatrix.h
@@ -16,6 +16,7 @@
// #include <iostream>
#include "Minuit/StackAllocator.h"
+#include <cstring>
//extern StackAllocator StackAllocatorHolder::get();
int mndaxpy(unsigned int, double, const double*, int, double*, int);
@@ -37,7 +38,7 @@ public:
LASymMatrix(unsigned int n) : theSize(n*(n+1)/2), theNRow(n), theData((double*)StackAllocatorHolder::get().allocate(sizeof(double)*n*(n+1)/2)) {
// assert(theSize>0);
- memset(theData, 0, theSize*sizeof(double));
+ std::memset(theData, 0, theSize*sizeof(double));
// std::cout<<"LASymMatrix(unsigned int n), n= "<<n<<std::endl;
}
@@ -52,7 +53,7 @@ public:
LASymMatrix(const LASymMatrix& v) :
theSize(v.size()), theNRow(v.nrow()), theData((double*)StackAllocatorHolder::get().allocate(sizeof(double)*v.size())) {
// std::cout<<"LASymMatrix(const LASymMatrix& v)"<<std::endl;
- memcpy(theData, v.data(), theSize*sizeof(double));
+ std::memcpy(theData, v.data(), theSize*sizeof(double));
}
LASymMatrix& operator=(const LASymMatrix& v) {
@@ -60,7 +61,7 @@ public:
// std::cout<<"theSize= "<<theSize<<std::endl;
// std::cout<<"v.size()= "<<v.size()<<std::endl;
assert(theSize == v.size());
- memcpy(theData, v.data(), theSize*sizeof(double));
+ std::memcpy(theData, v.data(), theSize*sizeof(double));
return *this;
}
@@ -69,7 +70,7 @@ public:
theSize(v.obj().size()), theNRow(v.obj().nrow()), theData((double*)StackAllocatorHolder::get().allocate(sizeof(double)*v.obj().size())) {
// std::cout<<"LASymMatrix(const ABObj<sym, LASymMatrix, T>& v)"<<std::endl;
//std::cout<<"allocate "<<theSize<<std::endl;
- memcpy(theData, v.obj().data(), theSize*sizeof(double));
+ std::memcpy(theData, v.obj().data(), theSize*sizeof(double));
mndscal(theSize, double(v.f()), theData, 1);
//std::cout<<"theData= "<<theData[0]<<" "<<theData[1]<<std::endl;
}
@@ -105,7 +106,7 @@ public:
template<class T>
LASymMatrix(const ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, T>, T>, T>& inv) : theSize(inv.obj().obj().obj().size()), theNRow(inv.obj().obj().obj().nrow()), theData((double*)StackAllocatorHolder::get().allocate(sizeof(double)*inv.obj().obj().obj().size())) {
- memcpy(theData, inv.obj().obj().obj().data(), theSize*sizeof(double));
+ std::memcpy(theData, inv.obj().obj().obj().data(), theSize*sizeof(double));
mndscal(theSize, double(inv.obj().obj().f()), theData, 1);
invert(*this);
mndscal(theSize, double(inv.f()), theData, 1);
@@ -236,7 +237,7 @@ public:
assert(theSize == v.obj().size());
}
//std::cout<<"theData= "<<theData[0]<<" "<<theData[1]<<std::endl;
- memcpy(theData, v.obj().data(), theSize*sizeof(double));
+ std::memcpy(theData, v.obj().data(), theSize*sizeof(double));
(*this) *= v.f();
return *this;
}
@@ -251,7 +252,7 @@ public:
LASymMatrix tmp(something.obj());
tmp *= something.f();
assert(theSize == tmp.size());
- memcpy(theData, tmp.data(), theSize*sizeof(double));
+ std::memcpy(theData, tmp.data(), theSize*sizeof(double));
}
//std::cout<<"template<class A, class T> LASymMatrix& operator=(const ABObj<sym, ABObj<sym, A, T>, T>& something)"<<std::endl;
return *this;
@@ -270,7 +271,7 @@ public:
tmp += sum.obj().b();
tmp *= sum.f();
assert(theSize == tmp.size());
- memcpy(theData, tmp.data(), theSize*sizeof(double));
+ std::memcpy(theData, tmp.data(), theSize*sizeof(double));
}
return *this;
}
@@ -290,7 +291,7 @@ public:
tmp += sum.obj().a();
tmp *= sum.f();
assert(theSize == tmp.size());
- memcpy(theData, tmp.data(), theSize*sizeof(double));
+ std::memcpy(theData, tmp.data(), theSize*sizeof(double));
}
//std::cout<<"leaving LASymMatrix& operator=(const ABObj<sym, ABSum<ABObj<sym, LASymMatrix..."<<std::endl;
return *this;
@@ -302,7 +303,7 @@ public:
theSize = inv.obj().obj().obj().size();
theNRow = inv.obj().obj().obj().nrow();
theData = (double*)StackAllocatorHolder::get().allocate(sizeof(double)*theSize);
- memcpy(theData, inv.obj().obj().obj().data(), theSize*sizeof(double));
+ std::memcpy(theData, inv.obj().obj().obj().data(), theSize*sizeof(double));
(*this) *= inv.obj().obj().f();
invert(*this);
(*this) *= inv.f();
@@ -311,7 +312,7 @@ public:
invert(tmp);
tmp *= double(inv.f());
assert(theSize == tmp.size());
- memcpy(theData, tmp.data(), theSize*sizeof(double));
+ std::memcpy(theData, tmp.data(), theSize*sizeof(double));
}
return *this;
}
|