From c839f08dd66d83ec65d35bb4dfabf84c6ee5e3ed Mon Sep 17 00:00:00 2001 From: "kma@webrtc.org" Date: Mon, 13 Aug 2012 21:49:23 +0000 Subject: [PATCH] In SPL, replacing the C version of sqrt_floor with assembly version for Android platform Review URL: https://webrtc-codereview.appspot.com/735004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2607 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/common_audio/signal_processing/Android.mk | 2 +- .../signal_processing/signal_processing.gypi | 16 ++++++++++------ .../signal_processing_unittest.cc | 6 +++--- .../{spl_sqrt_floor.s => spl_sqrt_floor_arm.s} | 0 4 files changed, 14 insertions(+), 10 deletions(-) rename src/common_audio/signal_processing/{spl_sqrt_floor.s => spl_sqrt_floor_arm.s} (100%) diff --git a/src/common_audio/signal_processing/Android.mk b/src/common_audio/signal_processing/Android.mk index 26ebb30d41..0ae2b3c087 100644 --- a/src/common_audio/signal_processing/Android.mk +++ b/src/common_audio/signal_processing/Android.mk @@ -78,7 +78,7 @@ endif ifeq ($(TARGET_ARCH),arm) LOCAL_SRC_FILES += \ complex_bit_reverse_arm.s \ - spl_sqrt_floor.s + spl_sqrt_floor_arm.s else LOCAL_SRC_FILES += \ complex_bit_reverse.c \ diff --git a/src/common_audio/signal_processing/signal_processing.gypi b/src/common_audio/signal_processing/signal_processing.gypi index 89c3ac2321..5bce3941a4 100644 --- a/src/common_audio/signal_processing/signal_processing.gypi +++ b/src/common_audio/signal_processing/signal_processing.gypi @@ -56,6 +56,16 @@ 'sqrt_of_one_minus_x_squared.c', 'vector_scaling_operations.c', ], + 'conditions': [ + ['OS=="android"', { + 'sources': [ + 'spl_sqrt_floor_arm.s', + ], + 'sources!': [ + 'spl_sqrt_floor.c', + ], + }], + ], }, # spl ], # targets 'conditions': [ @@ -77,9 +87,3 @@ }], # include_tests ], # conditions } - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/src/common_audio/signal_processing/signal_processing_unittest.cc b/src/common_audio/signal_processing/signal_processing_unittest.cc index 4511a273bb..0c57375bec 100644 --- a/src/common_audio/signal_processing/signal_processing_unittest.cc +++ b/src/common_audio/signal_processing/signal_processing_unittest.cc @@ -130,12 +130,12 @@ TEST_F(SplTest, InlineTest) { } TEST_F(SplTest, MathOperationsTest) { - int A = 117; + int A = 1134567892; WebRtc_Word32 num = 117; WebRtc_Word32 den = -5; WebRtc_UWord16 denU = 5; - EXPECT_EQ(10, WebRtcSpl_Sqrt(A)); - EXPECT_EQ(10, WebRtcSpl_SqrtFloor(A)); + EXPECT_EQ(33700, WebRtcSpl_Sqrt(A)); + EXPECT_EQ(33683, WebRtcSpl_SqrtFloor(A)); EXPECT_EQ(-91772805, WebRtcSpl_DivResultInQ31(den, num)); diff --git a/src/common_audio/signal_processing/spl_sqrt_floor.s b/src/common_audio/signal_processing/spl_sqrt_floor_arm.s similarity index 100% rename from src/common_audio/signal_processing/spl_sqrt_floor.s rename to src/common_audio/signal_processing/spl_sqrt_floor_arm.s