diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-02-22 11:48:46 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-02-22 11:48:46 -0700 |
commit | 287f390c4a56dd8c5960df699d45653227b25d6f (patch) | |
tree | 12503aa177afda01e92156174e17b41a948fa284 /components/util/vec.rs | |
parent | 3ea09bf2ea8db621107abbc8b358f1c0ce0ffea4 (diff) | |
parent | 325400dce41486ca9bdb4fa8ea07236520e86a50 (diff) | |
download | servo-287f390c4a56dd8c5960df699d45653227b25d6f.tar.gz servo-287f390c4a56dd8c5960df699d45653227b25d6f.zip |
auto merge of #5020 : jdm/servo/canvas, r=jdm
Rebase of #4639.
Diffstat (limited to 'components/util/vec.rs')
-rw-r--r-- | components/util/vec.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/components/util/vec.rs b/components/util/vec.rs index f612726d129..960e7e8db1a 100644 --- a/components/util/vec.rs +++ b/components/util/vec.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use std::cmp::{PartialOrd, PartialEq, Ordering}; +use std::iter::range_step; #[cfg(test)] use std::fmt::Debug; @@ -64,6 +65,17 @@ impl<T:PartialEq + PartialOrd + Ord> Comparator<T,T> for DefaultComparator { } } + +// TODO(pcwalton): Speed up with SIMD, or better yet, find some way to not do this. +pub fn byte_swap(data: &mut [u8]) { + let length = data.len(); + for i in range_step(0, length, 4) { + let r = data[i + 2]; + data[i + 2] = data[i + 0]; + data[i + 0] = r; + } +} + #[cfg(test)] fn test_find_all_elems<T: PartialEq + PartialOrd + Eq + Ord>(arr: &[T]) { let mut i = 0; |