summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/AudioResamplerFirGen.h
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-11-20 11:31:17 -0800
committerDan Albert <danalbert@google.com>2014-11-20 11:34:32 -0800
commit36802bd18b7b4e8c87fa019c7e3068bee330d174 (patch)
treea5c4847a10d5f77a04b9a621174a774d84cb7c31 /services/audioflinger/AudioResamplerFirGen.h
parentde14fae779240a99c53d58ef16ce3086321ff897 (diff)
downloadframeworks_av-36802bd18b7b4e8c87fa019c7e3068bee330d174.zip
frameworks_av-36802bd18b7b4e8c87fa019c7e3068bee330d174.tar.gz
frameworks_av-36802bd18b7b4e8c87fa019c7e3068bee330d174.tar.bz2
C++11 compatibility.
* Fix string literal concatenation to not be interpreted as UD literals. * Add constexpr compatibility for non-integral static members. * Use __typeof__ instead of typeof (should become decltype once this actually becomes C++11). * Add an appropriate cast for atomic_uintptr_t, since moving to C++11 means moving from <stdatomic.h> to <atomic>, which has better typechecking (hooray for not macros!). Bug: 18466763 Change-Id: I9561dcb2526578687819ff85421ba80d8e1a9694
Diffstat (limited to 'services/audioflinger/AudioResamplerFirGen.h')
-rw-r--r--services/audioflinger/AudioResamplerFirGen.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/services/audioflinger/AudioResamplerFirGen.h b/services/audioflinger/AudioResamplerFirGen.h
index d024b2f..f3718b6 100644
--- a/services/audioflinger/AudioResamplerFirGen.h
+++ b/services/audioflinger/AudioResamplerFirGen.h
@@ -17,6 +17,8 @@
#ifndef ANDROID_AUDIO_RESAMPLER_FIR_GEN_H
#define ANDROID_AUDIO_RESAMPLER_FIR_GEN_H
+#include "utils/Compat.h"
+
namespace android {
/*
@@ -187,22 +189,22 @@ static inline int64_t toint(double x, int64_t maxval) {
template <int N>
struct I0Term {
- static const double value = I0Term<N-1>::value / (4. * N * N);
+ static const CONSTEXPR double value = I0Term<N-1>::value / (4. * N * N);
};
template <>
struct I0Term<0> {
- static const double value = 1.;
+ static const CONSTEXPR double value = 1.;
};
template <int N>
struct I0ATerm {
- static const double value = I0ATerm<N-1>::value * (2.*N-1.) * (2.*N-1.) / (8. * N);
+ static const CONSTEXPR double value = I0ATerm<N-1>::value * (2.*N-1.) * (2.*N-1.) / (8. * N);
};
template <>
struct I0ATerm<0> { // 1/sqrt(2*PI);
- static const double value = 0.398942280401432677939946059934381868475858631164934657665925;
+ static const CONSTEXPR double value = 0.398942280401432677939946059934381868475858631164934657665925;
};
#if USE_HORNERS_METHOD