MCPcopy Create free account
hub / github.com/doldecomp/mkdd / bzero

Function bzero

libs/JSystem/JAudio/System/JASCalc.cpp:247–298  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

245 }
246
247 void bzero(void *dest, u32 size)
248 {
249 u32 *udest;
250 u8 *bdest = (u8 *)dest;
251 if ((size & 0x1f) == 0 && (reinterpret_cast<u32>(dest) & 0x1f) == 0)
252 {
253 DCZeroRange(dest, size);
254 return;
255 }
256
257 u8 alignedbitsDst = reinterpret_cast<u32>(bdest) & 0x3;
258
259 if ((size & 0xf) == 0 && alignedbitsDst == 0)
260 {
261 bzerofast(dest, size);
262 return;
263 }
264
265 if (size >= 16)
266 {
267 if (alignedbitsDst != 0)
268 {
269 for (alignedbitsDst = 4 - alignedbitsDst; alignedbitsDst != 0; alignedbitsDst--)
270 {
271 *bdest++ = 0;
272 size--;
273 }
274 }
275
276 udest = (u32 *)bdest;
277 for (; size >= 4; size -= 4)
278 {
279 *udest++ = 0;
280 }
281
282 if (size != 0)
283 {
284 bdest = (u8 *)udest;
285 for (; size != 0; size--)
286 {
287 *bdest++ = 0;
288 }
289 }
290 }
291 else
292 {
293 for (; size != 0; size--)
294 {
295 *bdest++ = 0;
296 }
297 }
298 }
299
300 // currently required because of missing functions
301 // JASCalc::hannWindow(short *, unsigned long)

Callers 8

JASBasicBankMethod · 0.85
setWaveTableSizeMethod · 0.85
initAIFunction · 0.85
JASDrumSetMethod · 0.85
TPercMethod · 0.85
initBufferFunction · 0.85
setFXLineFunction · 0.85
JASBasicInstMethod · 0.85

Calls 1

bzerofastFunction · 0.85

Tested by

no test coverage detected