pkgsrc/inputmethod/tegaki-wagomu/patches/patch-aa
obache d13b794840 Import tegaki-wagomu-0.3.1 as inputmethod/tegaki-wagomu.
Simple handwriting recognition engine based on DTW.
2010-08-07 12:54:45 +00:00

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