зеркало из https://github.com/mozilla/kaldi.git
sandbox/sail: Added irstlm patch. Renamed configure.in to configure.ac.
There are a few places in irstlm code where variable length arrays of non-POD types are causing errors with recent standards compliant c++ compilers. mdiadapt.cpp:1115:16: error: variable length array of non-POD element type 'streampos' (aka 'fpos<mbstate_t>') streampos pos[lmsize()+1]; ... This use is not part of the c++ standard. Some compilers like gcc support this through an extension while others like clang do not. This patch replaces all VLAs of non-POD types with std::vector. Also, configure.in is renamed to configure.ac to make recent automake distributions happy. git-svn-id: https://svn.code.sf.net/p/kaldi/code/sandbox/sail@3699 5e6a8d80-dfce-4ca6-a32a-6e07a63d50c8
This commit is contained in:
Родитель
ebd9e66c38
Коммит
6d356c8ed6
|
@ -108,11 +108,13 @@ irstlm/Makefile: irstlm/.patched
|
||||||
|
|
||||||
irstlm/.patched: | irstlm
|
irstlm/.patched: | irstlm
|
||||||
-cd irstlm;\
|
-cd irstlm;\
|
||||||
patch --verbose -N -p0 < ../interpolatedwrite-5.60.02.patch
|
patch --verbose -N -p0 < ../interpolatedwrite-5.60.02.patch; \
|
||||||
|
patch --verbose -N -p0 < ../irstlm.patch; \
|
||||||
|
mv configure.in configure.ac
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
irstlm:
|
irstlm:
|
||||||
svn -r 398 co https://svn.code.sf.net/p/irstlm/code/trunk irstlm
|
svn -r 398 co --non-interactive --trust-server-cert https://svn.code.sf.net/p/irstlm/code/trunk irstlm
|
||||||
|
|
||||||
atlas: ATLAS/include/cblas.h
|
atlas: ATLAS/include/cblas.h
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
--- src/mdiadapt.cpp 2014-03-05 00:43:33.000000000 -0800
|
||||||
|
+++ src/mdiadapt.cpp.new 2014-03-05 00:42:41.000000000 -0800
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <string>
|
||||||
|
+#include <vector>
|
||||||
|
#include <assert.h>
|
||||||
|
#include "mfstream.h"
|
||||||
|
#include "mempool.h"
|
||||||
|
@@ -1112,7 +1113,7 @@
|
||||||
|
}else{
|
||||||
|
cerr << "savebin: " << filename << "\n";
|
||||||
|
}
|
||||||
|
- streampos pos[lmsize()+1];
|
||||||
|
+ vector<streampos> pos(lmsize()+1);
|
||||||
|
int num[lmsize()+1];
|
||||||
|
|
||||||
|
int maxlev=lmsize();
|
||||||
|
@@ -1303,7 +1304,7 @@
|
||||||
|
fstream out(filename,ios::out);
|
||||||
|
// out.precision(15);
|
||||||
|
|
||||||
|
- streampos pos[lmsize()+1];
|
||||||
|
+ vector<streampos> pos(lmsize()+1);
|
||||||
|
int num[lmsize()+1];
|
||||||
|
char buff[100];
|
||||||
|
|
||||||
|
--- src/interpolate-lm.cpp 2014-03-05 00:43:37.000000000 -0800
|
||||||
|
+++ src/interpolate-lm.cpp.new 2014-03-05 00:43:01.000000000 -0800
|
||||||
|
@@ -258,7 +258,7 @@
|
||||||
|
//Learning mixture weights
|
||||||
|
if (learn){
|
||||||
|
|
||||||
|
- std::vector<float> p[N]; //LM probabilities
|
||||||
|
+ std::vector< std::vector<float> > p(N); //LM probabilities
|
||||||
|
float c[N]; //expected counts
|
||||||
|
float den,norm; //inner denominator, normalization term
|
||||||
|
float variation=1.0; // global variation between new old params
|
Загрузка…
Ссылка в новой задаче