d13b794840
Simple handwriting recognition engine based on DTW.
51 lines
1.6 KiB
Text
51 lines
1.6 KiB
Text
$NetBSD: patch-aa,v 1.1.1.1 2010/08/07 12:54:45 obache Exp $
|
|
|
|
use memalign(3) if possible.
|
|
|
|
--- wagomu.cpp.orig 2010-02-27 04:51:50.000000000 +0000
|
|
+++ wagomu.cpp
|
|
@@ -78,7 +78,11 @@ Character::Character(unsigned int n_vec,
|
|
ptr += diff;
|
|
((char*)ptr)[-1]= diff;
|
|
*/
|
|
+#ifdef HAVE_POSIX_MEMALIGN
|
|
+ posix_memalign((void**)&points, 16, n_vec * VEC_DIM_MAX *
|
|
+#else
|
|
points = (float *) memalign(16, n_vec * VEC_DIM_MAX *
|
|
+#endif
|
|
sizeof(float));
|
|
}
|
|
|
|
@@ -198,16 +202,32 @@ bool Recognizer::open(char *path) {
|
|
max_n_vectors = get_max_n_vectors();
|
|
|
|
#ifdef __SSE__
|
|
+#ifdef HAVE_POSIX_MEMALIGN
|
|
+ posix_memalign((void**)&dtw1v, 16, max_n_vectors * VEC_DIM_MAX *
|
|
+#else
|
|
dtw1v = (wg_v4sf *) memalign(16, max_n_vectors * VEC_DIM_MAX *
|
|
+#endif
|
|
sizeof(wg_v4sf));
|
|
+#ifdef HAVE_POSIX_MEMALIGN
|
|
+ posix_memalign((void**)&dtw2v, 16, max_n_vectors * VEC_DIM_MAX *
|
|
+#else
|
|
dtw2v = (wg_v4sf *) memalign(16, max_n_vectors * VEC_DIM_MAX *
|
|
+#endif
|
|
sizeof(wg_v4sf));
|
|
dtw1 = (float *) dtw1v;
|
|
dtw2 = (float *) dtw2v;
|
|
#else
|
|
+#ifdef HAVE_POSIX_MEMALIGN
|
|
+ posix_memalign((void**)&dtw1, 16, max_n_vectors * VEC_DIM_MAX *
|
|
+#else
|
|
dtw1 = (float *) memalign(16, max_n_vectors * VEC_DIM_MAX *
|
|
+#endif
|
|
sizeof(float));
|
|
+#ifdef HAVE_POSIX_MEMALIGN
|
|
+ posix_memalign((void**)&dtw2, 16, max_n_vectors * VEC_DIM_MAX *
|
|
+#else
|
|
dtw2 = (float *) memalign(16, max_n_vectors * VEC_DIM_MAX *
|
|
+#endif
|
|
sizeof(float));
|
|
#endif
|
|
|