mirror of
https://github.com/aportelli/LatAnalyze.git
synced 2025-06-14 13:57:06 +01:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
76dffb7775 | |||
769dfd2e05 | |||
4576d73379 | |||
d80b160521 | |||
c6bc8c9af2 | |||
005ffeea5f | |||
af78c201e6 | |||
91cdfa9f8b | |||
582528f243 | |||
ba8056d9b0 | |||
01672cef99 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -3,7 +3,7 @@ build/*
|
||||
build_debug/*
|
||||
sandbox/*
|
||||
|
||||
# Apple stuffs
|
||||
# Apple stuff
|
||||
*.xcodeproj
|
||||
.DS_Store
|
||||
|
||||
@ -30,3 +30,8 @@ lib/eigen_files.mk
|
||||
|
||||
# CI builds
|
||||
ci-scripts/local/*
|
||||
|
||||
# CLion stuff
|
||||
.idea/*
|
||||
CMakeLists.txt
|
||||
cmake-build-debug/*
|
||||
|
@ -55,6 +55,10 @@ in the `ci-scripts` directory where `<prefix>` is where you want LatAnalyze (and
|
||||
For a more customised installation, one first needs to generate the build system by running `./bootstrap.sh` in the root directory. Then the library can be built and installed through the usual GNU mantra `./configure <options> && make && make install`. Use `./configure --help` to obtain a list of possible options for `./configure`. Because Eigen expressions rely a lot on inlining and compiler optimisations it is strongly recommended to set the `CXXFLAGS` variable to `-O3 -march=native -mtune=native`.
|
||||
|
||||
## History
|
||||
#### v3.2.1
|
||||
Fix:
|
||||
* Wrong argument number check in `latan-resample`
|
||||
|
||||
#### v3.2 (needs LatCore 1.1)
|
||||
Additions:
|
||||
* 2-pt function fitter `latan-2pt-fit`
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Initialization
|
||||
AC_PREREQ([2.63])
|
||||
AC_INIT([LatAnalyze],[3.2],[antonin.portelli@me.com],[LatAnalyze])
|
||||
AC_INIT([LatAnalyze],[3.2.1-dev],[antonin.portelli@me.com],[LatAnalyze])
|
||||
AC_CONFIG_AUX_DIR([.buildutils])
|
||||
AC_CONFIG_SRCDIR([lib/Global.cpp])
|
||||
AC_CONFIG_SRCDIR([utils/sample_read.cpp])
|
||||
|
@ -690,6 +690,7 @@ void MathInterpreter::compile(RunContext &context)
|
||||
if (root_)
|
||||
{
|
||||
context.addVariable("pi", Math::pi);
|
||||
context.addVariable("inf", HUGE_VAL);
|
||||
ADD_STDMATH_FUNCS(context);
|
||||
root_->compile(program_, context);
|
||||
for (unsigned int i = 0; i < program_.size(); ++i)
|
||||
|
@ -171,6 +171,20 @@ const DSample & XYSampleData::y(const Index k, const Index j) const
|
||||
return yData_[j].at(k);
|
||||
}
|
||||
|
||||
void XYSampleData::setUnidimData(const DMatSample &xData,
|
||||
const vector<const DMatSample *> &v)
|
||||
{
|
||||
FOR_STAT_ARRAY(xData, s)
|
||||
FOR_VEC(xData[central], r)
|
||||
{
|
||||
x(r, 0)[s] = xData[s](r);
|
||||
for (unsigned int j = 0; j < v.size(); ++j)
|
||||
{
|
||||
y(r, j)[s] = (*(v[j]))[s](r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const DMat & XYSampleData::getXXVar(const Index i1, const Index i2)
|
||||
{
|
||||
checkXDim(i1);
|
||||
@ -253,6 +267,7 @@ void XYSampleData::setDataToSample(const Index s)
|
||||
const XYStatData & XYSampleData::getData(void)
|
||||
{
|
||||
setDataToSample(central);
|
||||
computeVarMat();
|
||||
|
||||
return data_;
|
||||
}
|
||||
|
@ -80,6 +80,8 @@ public:
|
||||
const DMatSample & x(const Index k);
|
||||
DSample & y(const Index k, const Index j);
|
||||
const DSample & y(const Index k, const Index j) const;
|
||||
void setUnidimData(const DMatSample &xData,
|
||||
const std::vector<const DMatSample *> &v);
|
||||
template <typename... Ts>
|
||||
void setUnidimData(const DMatSample &xData,
|
||||
const Ts & ...yDatas);
|
||||
@ -141,17 +143,9 @@ void XYSampleData::setUnidimData(const DMatSample &xData, const Ts & ...yDatas)
|
||||
static_assert(static_or<std::is_assignable<DMatSample, Ts>::value...>::value,
|
||||
"y data arguments are not compatible with DMatSample");
|
||||
|
||||
std::vector<const DMatSample *> yData{&yDatas...};
|
||||
std::vector<const DMatSample *> v{&yDatas...};
|
||||
|
||||
FOR_STAT_ARRAY(xData, s)
|
||||
FOR_VEC(xData[central], r)
|
||||
{
|
||||
x(r, 0)[s] = xData[s](r);
|
||||
for (unsigned int j = 0; j < yData.size(); ++j)
|
||||
{
|
||||
y(r, j)[s] = (*(yData[j]))[s](r);
|
||||
}
|
||||
}
|
||||
setUnidimData(xData, v);
|
||||
}
|
||||
|
||||
template <typename... Ts>
|
||||
|
@ -59,7 +59,7 @@ int main(int argc, char *argv[])
|
||||
opt.addOption("" , "help" , OptParser::OptType::trigger, true,
|
||||
"show this help message and exit");
|
||||
parsed = opt.parse(argc, argv);
|
||||
if (!parsed or (opt.getArgs().size() != 1) or opt.gotOption("help"))
|
||||
if (!parsed or (opt.getArgs().size() != 2) or opt.gotOption("help"))
|
||||
{
|
||||
cerr << "usage: " << argv[0];
|
||||
cerr << " <datafile list> <name list> <options>" << endl;
|
||||
|
Reference in New Issue
Block a user