28 return (
a >=
N) ?
a -
N :
a;
49template<
class Buf,
class T>
52 int size = buf.size();
63template<
class T,
class U>
64void copy(T *dest,
U *src,
int size, T scale = 1, T add = 0) {
66 *dest++ = (*src++) * scale + add;
85template<
int N,
class T =
float>
93template<
int N,
class T =
float>
105template<
int N,
class T =
float>
114template<
class T =
float>
132 void resize(
int new_size,
bool fill_with_zeros =
false) {
133 T *new_buf =
new T[new_size];
135 if (fill_with_zeros &&
buf_size < new_size)
151template<
class T,
class U>
152void copy_buf(T &dest_buf,
const U &src_buf, T scale = 1, T add = 0) {
153 typedef typename T::data_type data_type;
154 data_type *dest = dest_buf.data();
155 const data_type *src = src_buf.data();
156 int size = src->size();
158 *dest++ = (*src++) * scale + add;
166template<
int N,
class T>
173 int pos = pos1 - pos2;
174 if (pos < 0) pos += T::size;
201 return rpos == traits::inc_wrap(
wpos);
209 return traits::pos_diff(
wpos,
rpos);
212 if (
full())
return 0;
213 return traits::pos_diff(
rpos,
wpos);
218template<
int N,
class T =
float>
223template<
int N,
class T =
float>
#define copy(x)
Definition ADnoteParameters.cpp:1011
uint8_t a
Definition Spc_Cpu.h:141
T & operator[](int pos)
Definition buffer.h:110
T buf[N]
Definition buffer.h:107
const T & operator[](int pos) const
Definition buffer.h:111
T * data() const
Definition buffer.h:109
const data_type & get()
Definition buffer.h:203
void clear()
Definition buffer.h:189
int get_wbytes()
Definition buffer.h:211
int rpos
Definition buffer.h:185
B::data_type data_type
Definition buffer.h:182
int wpos
Definition buffer.h:185
bool full()
Definition buffer.h:200
bool empty()
Definition buffer.h:197
class buffer_traits< B > traits
Definition buffer.h:183
circular_buffer()
Definition buffer.h:186
int get_rbytes()
Definition buffer.h:208
B buffer
Definition buffer.h:184
void put(data_type data)
Definition buffer.h:193
void resize(int new_size, bool fill_with_zeros=false)
Definition buffer.h:132
bool owns
Definition buffer.h:118
~dynamic_buffer()
Definition buffer.h:145
T & operator[](int pos)
Definition buffer.h:143
T * data()
Definition buffer.h:129
int buf_size
Definition buffer.h:117
const T & operator[](int pos) const
Definition buffer.h:144
dynamic_buffer()
Definition buffer.h:120
T * buf
Definition buffer.h:116
const T * data() const
Definition buffer.h:130
dynamic_buffer(T *_buf, int _buf_size, bool _own)
Definition buffer.h:121
dynamic_buffer(int _size)
Definition buffer.h:124
int size()
Definition buffer.h:131
@ buffer_size
Definition buffer.h:89
int size()
Definition buffer.h:90
T data_type
Definition buffer.h:88
T & operator[](int pos)
Definition buffer.h:101
T * buf
Definition buffer.h:95
void set_data(T buf[N])
Definition buffer.h:98
T * data()
Definition buffer.h:99
const T & operator[](int pos) const
Definition buffer.h:102
const T * data() const
Definition buffer.h:100
mem_fixed_size_buffer(T ubuf[N])
Definition buffer.h:97
this is useless for now
Definition buffer.h:219
this is useless for now
Definition buffer.h:224
register unsigned i
Definition inflate.c:1575
#define U(x)
Definition fmopl.c:132
static PuglViewHint int value
Definition pugl.h:1708
int wrap_around< 512 >(int a)
Definition buffer.h:40
int wrap_around< 16 >(int a)
Definition buffer.h:35
int wrap_around< 16384 >(int a)
Definition buffer.h:45
void zero(float &v)
Set a float to zero.
Definition primitives.h:41
int wrap_around< 128 >(int a)
Definition buffer.h:38
int wrap_around< 8192 >(int a)
Definition buffer.h:44
int wrap_around< 4 >(int a)
Definition buffer.h:33
T sine_table< T, N, Multiplier >::data[N+1]
Definition primitives.h:442
int wrap_around(int a)
decrease by N if >= N (useful for circular buffers)
Definition buffer.h:27
void copy_buf(T &dest_buf, const U &src_buf, T scale=1, T add=0)
Definition buffer.h:152
int wrap_around< 2048 >(int a)
Definition buffer.h:42
int wrap_around< 8 >(int a)
Definition buffer.h:34
int wrap_around< 32768 >(int a)
Definition buffer.h:46
int wrap_around< 1024 >(int a)
Definition buffer.h:41
int wrap_around< 64 >(int a)
Definition buffer.h:37
int wrap_around< 256 >(int a)
Definition buffer.h:39
void fill(Buf &buf, T value)
Definition buffer.h:50
int wrap_around< 65536 >(int a)
Definition buffer.h:47
int wrap_around< 32 >(int a)
Definition buffer.h:36
int wrap_around< 4096 >(int a)
Definition buffer.h:43
int wrap_around< 2 >(int a)
Definition buffer.h:32
#define N
Definition nseel-cfunc.c:36
int inc_wrap(int pos) const
Definition buffer.h:168
int pos_diff(int pos1, int pos2) const
Definition buffer.h:172
@ bps
Definition buffer.h:81
@ channels
Definition buffer.h:80
@ channels
Definition buffer.h:72
@ bps
Definition buffer.h:73
Definition primitives.h:83
memcpy(hh, h, RAND_HEAD_LEN)