about summary refs log tree commit diff stats
path: root/014literal_noninteger.cc
Commit message (Collapse)AuthorAgeFilesLines
* 1414 - traces now robust to new recipes/typesKartik K. Agaram2015-05-211-1/+1
|
* 1391 - avoid unsigned integersKartik K. Agaram2015-05-171-2/+2
|
* 1390 - support non-integer literalsKartik K. Agaram2015-05-171-0/+33
Since '3.14159:literal' looks ugly, we'll just say '3.14159'. It's not like non-integers can be confused for anything but literals. Once I tried to turn reagent values into doubles, I uncovered a bug: arithmetic using signed integers is busted; if either operand of subtraction is unsigned the result is unsigned as well. If it needs to be negative: ka-boom. It was only masked because I was eventually storing the result in a long long int, where it was out of range, and so overflowing into the correct signed value. Once I switched to doubles the unsigned value would indeed fit without overflowing. Ka-boom. Yet another reminder that unsigned integers suck. I started using them mostly to avoid warnings in loops when comparing with .size(), which is usually a size_t. Who knows what other crap lurks here. Just use signed integers everywhere. (And avoid bitwise operators.)
rofani-tty/blame/src/xmpp/presence.h?id=3f6b40246a243c072770700d67c9818a7d293f6c'>^
ccf71715 ^
78ff58cf ^
ccf71715 ^
78ff58cf ^
ccf71715 ^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42