Commit Graph

41 Commits

Author SHA1 Message Date
Jonathan G Rennison c0b8e58404 Codechange: Simplify SetBitIterator
Use FindFirstBit and KillFirstBit, allowing simpler iterator equality
Add simple test
2024-02-01 23:05:57 +01:00
Rubidium dfe70181f1 Codechange: add constexpr to bitmath functions where applicable 2024-01-20 17:30:36 +01:00
Rubidium 6b21368bc2 Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit 2024-01-19 21:10:39 +01:00
Rubidium 8faaedeff9 Codechange: replace hand written function to find first/last bit with C++ variant 2024-01-19 21:10:39 +01:00
Rubidium 1c694e433d Codechange: use std::popcount instead of hand written loop 2024-01-19 06:48:55 +01:00
Rubidium 47c0184a0b Codechange: replace ROR/ROL with std::rotr/rotl 2024-01-17 23:05:40 +01:00
Rubidium 3a676a5af0 Codechange: replace static inline with static for non-class functions 2024-01-06 13:37:33 +01:00
Rubidium c6411168d8 Cleanup: missing spaces before continuation * in some comments 2023-11-01 22:56:11 +01:00
Rubidium eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Rubidium 41ef7c88af Codechange: make a numer of Slope related functions constexpr 2023-04-09 19:00:26 +02:00
Rubidium b7a5d8e296 Codechange: add annotation to selectively force inlining in debug build 2023-01-28 20:32:45 +01:00
frosch bc22e9333e
Fix: if vehicles only refit to cargo-slots >= 32, the default cargo was wrong. (#9744) 2021-12-12 17:35:41 +01:00
glx22 ce813ce644 Cleanup: Remove now unused FOR_EACH_SET_BIT_EX macro 2021-07-09 21:36:09 +02:00
glx22 89ab8b79a5 Codechange: Remove FOR_EACH_SET_BIT 2021-07-09 21:36:09 +02:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Nikolas Nyby 28e11623bd Codechange: math functions - use cpp-style casts 2019-08-31 20:27:56 +01:00
frosch 18ca3e8660 Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits. 2018-10-31 14:35:46 +01:00
michi_cc de097dd989 (svn r25685) -Codechange: [OSX] Use non-deprecated functions for byte swapping. 2013-08-05 20:37:29 +00:00
rubidium 6be79c424d (svn r24959) -Doc [FS#5459]: that certain parameters need to be within certain boundaries 2013-02-02 20:18:41 +00:00
alberth 732e073261 (svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb) 2012-12-01 13:12:39 +00:00
truebrain 1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
glx 2c20738067 (svn r22898) -Codechange: use MSVC compiler intrinsics for byte swapping 2011-09-06 00:10:20 +00:00
alberth b3270caaf1 (svn r20838) -Fix [FS#4136]: Cast '1' in bitmath functions to width of result before shifting. 2010-09-22 20:59:24 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
alberth a825b4fa5f (svn r20266) -Doc: Mostly typo fixes, a few doxygen-related improvements. 2010-07-31 21:02:56 +00:00
rubidium 2c25f51281 (svn r19789) -Add [FS#3519]: a typed FOR_EACH_SET_BIT (adf88) 2010-05-11 20:59:54 +00:00
rubidium be504a6ef0 (svn r19788) -Codechange: make FOR_EACH_SET_BIT not change the value of the passed bit variable, i.e. allow expressions as parameter 2010-05-11 20:48:06 +00:00
smatz d62d0ac489 (svn r19019) -Codechange: use HasExactlyOneBit() and HasAtMostOneBit() instead of CountBits() where possible 2010-02-05 17:05:58 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
frosch 0d782b0f96 (svn r16498) -Codechange: Remove hardly used HASBITS. 2009-06-01 15:01:54 +00:00
rubidium 3d3b5256f0 (svn r16295) -Fix: ICC defined __GNUC__ but does not define __builtin_bswap32, so fall back to the default swap method for ICC. 2009-05-13 16:51:17 +00:00
smatz c620d5e5f0 (svn r14232) -Codechange: use builtin for byte swapping for gcc >= 4.3 2008-09-02 21:11:48 +00:00
rubidium c5a4e90338 (svn r13910) -Document: string drawing related functions and types (Alberth) 2008-08-01 09:34:34 +00:00
skidd13 640e547886 (svn r13606) -Codechange: use "static FORCEINLINE" where possible as default for core functions (big functions use just inline instead) 2008-06-22 15:21:51 +00:00
glx 6e6014918e (svn r13273) -Fix [FS#2042]: MSVC warnings (again) 2008-05-26 20:20:38 +00:00
rubidium d03994098b (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 2008-05-06 15:11:33 +00:00
rubidium b3f6c0734b (svn r11694) -Codechange: move more endianness related stuff to endian_func.hpp. 2007-12-25 13:28:09 +00:00
rubidium 01e20c9140 (svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations. 2007-12-21 19:21:21 +00:00
rubidium a1dbb10c26 (svn r11616) -Fix [FS#1526]: sometimes large values could go off the chart. 2007-12-10 22:26:24 +00:00
rubidium faf096f506 (svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values. 2007-12-02 19:21:56 +00:00
skidd13 71c10f7df7 (svn r11527) -Codechange: Split the bitmath functions of to their own files 2007-11-26 17:50:22 +00:00