#! /bin/sh /usr/share/dpatch/dpatch-run
## callback_test.dpatch by Samuel Mimram <smimram@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix floating point errors in callback test.

@DPATCH@
diff -urNad libsamplerate-0.1.7~/tests/callback_test.c libsamplerate-0.1.7/tests/callback_test.c
--- libsamplerate-0.1.7~/tests/callback_test.c	2008-07-10 01:52:31.000000000 +0200
+++ libsamplerate-0.1.7/tests/callback_test.c	2009-02-17 23:33:56.000000000 +0100
@@ -137,11 +137,11 @@
 
 	src_state = src_delete (src_state) ;
 
-	if (fabs (read_total - src_ratio * ARRAY_LEN (test_callback_data.data)) > src_ratio)
+	if (fabs (read_total / src_ratio - ARRAY_LEN (test_callback_data.data)) > 2.0)
 	{	printf ("\n\nLine %d : input / output length mismatch.\n\n", __LINE__) ;
 		printf ("    input len  : %d\n", ARRAY_LEN (test_callback_data.data)) ;
-		printf ("    output len : %ld (should be %g +/- %g)\n\n", read_total,
-					floor (0.5 + src_ratio * ARRAY_LEN (test_callback_data.data)), ceil (src_ratio)) ;
+		printf ("    output len : %ld (should be %g +/- 2)\n\n", read_total,
+					floor (0.5 + src_ratio * ARRAY_LEN (test_callback_data.data))) ;
 		exit (1) ;
 		} ;
 
