Skip to content

Commit

Permalink
Merge pull request #5178 from catamorphism/constant-buffers
Browse files Browse the repository at this point in the history
core: Address XXX, make static constants for strings used when stringify...
  • Loading branch information
pcwalton committed Mar 1, 2013
2 parents 02a4b5b + 405a35c commit 50c08db
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
7 changes: 3 additions & 4 deletions src/libcore/num/strconv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -478,17 +478,16 @@ pub pure fn from_str_bytes_common<T:NumCast+Zero+One+Ord+Copy+Div<T,T>+
}
}

// XXX: Bytevector constant from str
if special {
if buf == str::to_bytes("inf") || buf == str::to_bytes("+inf") {
if buf == str::inf_buf || buf == str::positive_inf_buf {
return NumStrConv::inf();
} else if buf == str::to_bytes("-inf") {
} else if buf == str::negative_inf_buf {
if negative {
return NumStrConv::neg_inf();
} else {
return None;
}
} else if buf == str::to_bytes("NaN") {
} else if buf == str::nan_buf {
return NumStrConv::NaN();
}
}
Expand Down
7 changes: 7 additions & 0 deletions src/libcore/str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1832,6 +1832,13 @@ const tag_five_b: uint = 248u;
const max_five_b: uint = 67108864u;
const tag_six_b: uint = 252u;

// Constants used for converting strs to floats
pub const inf_buf: [u8*3] = ['i' as u8, 'n' as u8, 'f' as u8];
pub const positive_inf_buf: [u8*4] = ['+' as u8, 'i' as u8,
'n' as u8, 'f' as u8];
pub const negative_inf_buf: [u8*4] = ['-' as u8, 'i' as u8,
'n' as u8, 'f' as u8];
pub const nan_buf: [u8*3] = ['N' as u8, 'a' as u8, 'N' as u8];

/**
* Work with the byte buffer of a string.
Expand Down

0 comments on commit 50c08db

Please sign in to comment.