impls.rs 552 B

123456789101112131415161718192021222324252627
  1. #[inline(always)]
  2. pub unsafe fn copy_forward(dest: *mut u8, src: *const u8, n: usize) {
  3. let mut i = 0;
  4. while i < n {
  5. *dest.add(i) = *src.add(i);
  6. i += 1;
  7. }
  8. }
  9. #[inline(always)]
  10. pub unsafe fn copy_backward(dest: *mut u8, src: *const u8, n: usize) {
  11. // copy from end
  12. let mut i = n;
  13. while i != 0 {
  14. i -= 1;
  15. *dest.add(i) = *src.add(i);
  16. }
  17. }
  18. #[inline(always)]
  19. pub unsafe fn set_bytes(s: *mut u8, c: u8, n: usize) {
  20. let mut i = 0;
  21. while i < n {
  22. *s.add(i) = c;
  23. i += 1;
  24. }
  25. }