diff options
| author | Brian Anderson <andersrb@gmail.com> | 2011-05-20 20:18:47 -0400 |
|---|---|---|
| committer | Brian Anderson <andersrb@gmail.com> | 2011-05-22 02:10:08 -0400 |
| commit | 6432599c5d7f2646c0f91c6badef5496f2fbc119 (patch) | |
| tree | b6b2fba379a5942e179b4118f867b7d4c0c0303a /src/lib | |
| parent | 90e6453f46892f20235750dcc0bb95bbb1792380 (diff) | |
| download | rust-6432599c5d7f2646c0f91c6badef5496f2fbc119.tar.gz rust-6432599c5d7f2646c0f91c6badef5496f2fbc119.zip | |
stdlib: Use if/alt expressions in std::bitv
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/bitv.rs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/lib/bitv.rs b/src/lib/bitv.rs index 90bbde1c619..7e8323f9ef5 100644 --- a/src/lib/bitv.rs +++ b/src/lib/bitv.rs @@ -32,12 +32,11 @@ fn uint_bits() -> uint { } fn create(uint nbits, bool init) -> t { - auto elt; - if (init) { - elt = ~0u; + auto elt = if (init) { + ~0u } else { - elt = 0u; - } + 0u + }; auto storage = vec::init_elt_mut[uint](elt, nbits / uint_bits() + 1u); ret rec(storage = storage, nbits = nbits); @@ -161,11 +160,11 @@ fn set(&t v, uint i, bool x) { auto b = i % bits; auto w0 = v.storage.(w); auto flag = 1u << b; - if (x) { - v.storage.(w) = v.storage.(w) | flag; + v.storage.(w) = if (x) { + v.storage.(w) | flag } else { - v.storage.(w) = v.storage.(w) & ~flag; - } + v.storage.(w) & ~flag + }; } /* true if all bits are 1 */ @@ -191,11 +190,11 @@ fn is_false(&t v) -> bool { } fn init_to_vec(t v, uint i) -> uint { - if (get(v, i)) { - ret 1u; + ret if (get(v, i)) { + 1u } else { - ret 0u; - } + 0u + }; } fn to_vec(&t v) -> vec[uint] { |
