| 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) |
no test coverage detected