aboutsummaryrefslogtreecommitdiffstats
path: root/components/util/vec.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-02-22 11:48:46 -0700
committerbors-servo <metajack+bors@gmail.com>2015-02-22 11:48:46 -0700
commit287f390c4a56dd8c5960df699d45653227b25d6f (patch)
tree12503aa177afda01e92156174e17b41a948fa284 /components/util/vec.rs
parent3ea09bf2ea8db621107abbc8b358f1c0ce0ffea4 (diff)
parent325400dce41486ca9bdb4fa8ea07236520e86a50 (diff)
downloadservo-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.rs12
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;