@@ -9,50 +9,6 @@ const bits: T = 64 as T;
9
9
#[ doc = "Produce a uint suitable for use in a hash table" ]
10
10
pure fn hash ( x : int ) -> uint { ret x as uint ; }
11
11
12
- #[ doc = "
13
- Parse a buffer of bytes
14
-
15
- # Arguments
16
-
17
- * buf - A byte buffer
18
- * radix - The base of the number
19
- " ]
20
- fn parse_buf ( buf : [ u8 ] , radix : uint ) -> option < int > {
21
- if vec:: len ( buf) == 0 u { ret none; }
22
- let mut i = vec:: len ( buf) - 1 u;
23
- let mut start = 0 u;
24
- let mut power = 1 ;
25
-
26
- if buf[ 0 ] == ( '-' as u8 ) {
27
- power = -1 ;
28
- start = 1 u;
29
- }
30
- let mut n = 0 ;
31
- loop {
32
- alt char:: to_digit ( buf[ i] as char , radix) {
33
- some ( d) { n += ( d as int ) * power; }
34
- none { ret none; }
35
- }
36
- power *= radix as int ;
37
- if i <= start { ret some ( n) ; }
38
- i -= 1 u;
39
- } ;
40
- }
41
-
42
- #[ doc = "Parse a string to an int" ]
43
- fn from_str ( s : str ) -> option < int > { parse_buf ( str:: bytes ( s) , 10 u) }
44
-
45
- #[ doc = "Convert to a string in a given base" ]
46
- fn to_str ( n : int , radix : uint ) -> str {
47
- assert ( 0 u < radix && radix <= 16 u) ;
48
- ret if n < 0 {
49
- "-" + uint:: to_str ( -n as uint , radix)
50
- } else { uint:: to_str ( n as uint , radix) } ;
51
- }
52
-
53
- #[ doc = "Convert to a string" ]
54
- fn str ( i : int ) -> str { ret to_str ( i, 10 u) ; }
55
-
56
12
#[ doc = "Returns `base` raised to the power of `exponent`" ]
57
13
fn pow ( base : int , exponent : uint ) -> int {
58
14
if exponent == 0 u { ret 1 ; } //Not mathemtically true if [base == 0]
@@ -70,60 +26,6 @@ fn pow(base: int, exponent: uint) -> int {
70
26
ret acc;
71
27
}
72
28
73
-
74
- #[ test]
75
- fn test_from_str ( ) {
76
- assert from_str ( "0" ) == some ( 0 ) ;
77
- assert from_str ( "3" ) == some ( 3 ) ;
78
- assert from_str ( "10" ) == some ( 10 ) ;
79
- assert from_str ( "123456789" ) == some ( 123456789 ) ;
80
- assert from_str ( "00100" ) == some ( 100 ) ;
81
-
82
- assert from_str ( "-1" ) == some ( -1 ) ;
83
- assert from_str ( "-3" ) == some ( -3 ) ;
84
- assert from_str ( "-10" ) == some ( -10 ) ;
85
- assert from_str ( "-123456789" ) == some ( -123456789 ) ;
86
- assert from_str ( "-00100" ) == some ( -100 ) ;
87
-
88
- assert from_str ( " " ) == none;
89
- assert from_str ( "x" ) == none;
90
- }
91
-
92
- #[ test]
93
- fn test_parse_buf ( ) {
94
- import str:: bytes;
95
- assert parse_buf( bytes ( "123" ) , 10 u) == some ( 123 ) ;
96
- assert parse_buf( bytes ( "1001" ) , 2 u) == some ( 9 ) ;
97
- assert parse_buf( bytes ( "123" ) , 8 u) == some ( 83 ) ;
98
- assert parse_buf( bytes ( "123" ) , 16 u) == some ( 291 ) ;
99
- assert parse_buf( bytes ( "ffff" ) , 16 u) == some ( 65535 ) ;
100
- assert parse_buf( bytes ( "FFFF" ) , 16 u) == some ( 65535 ) ;
101
- assert parse_buf( bytes ( "z" ) , 36 u) == some ( 35 ) ;
102
- assert parse_buf( bytes ( "Z" ) , 36 u) == some ( 35 ) ;
103
-
104
- assert parse_buf( bytes ( "-123" ) , 10 u) == some ( -123 ) ;
105
- assert parse_buf( bytes ( "-1001" ) , 2 u) == some ( -9 ) ;
106
- assert parse_buf( bytes ( "-123" ) , 8 u) == some ( -83 ) ;
107
- assert parse_buf( bytes ( "-123" ) , 16 u) == some ( -291 ) ;
108
- assert parse_buf( bytes ( "-ffff" ) , 16 u) == some ( -65535 ) ;
109
- assert parse_buf( bytes ( "-FFFF" ) , 16 u) == some ( -65535 ) ;
110
- assert parse_buf( bytes ( "-z" ) , 36 u) == some ( -35 ) ;
111
- assert parse_buf( bytes ( "-Z" ) , 36 u) == some ( -35 ) ;
112
-
113
- assert parse_buf( str:: bytes ( "Z" ) , 35 u) == none;
114
- assert parse_buf( str:: bytes ( "-9" ) , 2 u) == none;
115
- }
116
-
117
- #[ test]
118
- fn test_to_str ( ) {
119
- import str:: eq;
120
- assert ( eq ( to_str ( 0 , 10 u) , "0" ) ) ;
121
- assert ( eq ( to_str ( 1 , 10 u) , "1" ) ) ;
122
- assert ( eq ( to_str ( -1 , 10 u) , "-1" ) ) ;
123
- assert ( eq ( to_str ( 255 , 16 u) , "ff" ) ) ;
124
- assert ( eq ( to_str ( 100 , 10 u) , "100" ) ) ;
125
- }
126
-
127
29
#[ test]
128
30
fn test_pow ( ) {
129
31
assert ( pow ( 0 , 0 u) == 1 ) ;
0 commit comments