Introduce NX_INLINE and NX_CONSTEXPR

This commit is contained in:
fincs 2019-09-19 02:46:13 +02:00
parent f4fe3376bd
commit 02b5d3b474
No known key found for this signature in database
GPG Key ID: 62C7609ADA219C60
2 changed files with 13 additions and 9 deletions

View File

@ -9,12 +9,6 @@
#include "../audio/audio.h" #include "../audio/audio.h"
#include "../services/sm.h" #include "../services/sm.h"
#if __cplusplus >= 201402L
#define AUDREN_CONSTEXPR constexpr
#else
#define AUDREN_CONSTEXPR static inline
#endif
#define AUDREN_TIMER_FREQ_HZ 200.0f #define AUDREN_TIMER_FREQ_HZ 200.0f
#define AUDREN_TIMER_PERIOD_MS 5.0f #define AUDREN_TIMER_PERIOD_MS 5.0f
#define AUDREN_SAMPLES_PER_FRAME_32KHZ 160 #define AUDREN_SAMPLES_PER_FRAME_32KHZ 160
@ -287,12 +281,12 @@ static inline u32 audrenGetRevision(void)
return g_audrenRevision; return g_audrenRevision;
} }
AUDREN_CONSTEXPR int audrenGetMemPoolCount(const AudioRendererConfig* config) NX_CONSTEXPR int audrenGetMemPoolCount(const AudioRendererConfig* config)
{ {
return config->num_effects + 4 * config->num_voices; return config->num_effects + 4 * config->num_voices;
} }
AUDREN_CONSTEXPR size_t audrenGetInputParamSize(const AudioRendererConfig* config) NX_CONSTEXPR size_t audrenGetInputParamSize(const AudioRendererConfig* config)
{ {
size_t size = 0; size_t size = 0;
size += sizeof(AudioRendererUpdateDataHeader); size += sizeof(AudioRendererUpdateDataHeader);
@ -307,7 +301,7 @@ AUDREN_CONSTEXPR size_t audrenGetInputParamSize(const AudioRendererConfig* confi
return size; return size;
} }
AUDREN_CONSTEXPR size_t audrenGetOutputParamSize(const AudioRendererConfig* config) NX_CONSTEXPR size_t audrenGetOutputParamSize(const AudioRendererConfig* config)
{ {
size_t size = 0; size_t size = 0;
size += sizeof(AudioRendererUpdateDataHeader); size += sizeof(AudioRendererUpdateDataHeader);

View File

@ -77,5 +77,15 @@ typedef void (*VoidFn)(void); ///< Function without arguments nor return v
#endif #endif
#endif #endif
/// Flags a function as (always) inline.
#define NX_INLINE __attribute__((always_inline)) static inline
/// Flags a function as constexpr in C++14 and above; or as (always) inline otherwise.
#if __cplusplus >= 201402L
#define NX_CONSTEXPR NX_INLINE constexpr
#else
#define NX_CONSTEXPR NX_INLINE
#endif
/// Invalid handle. /// Invalid handle.
#define INVALID_HANDLE ((Handle) 0) #define INVALID_HANDLE ((Handle) 0)