frosch
7cbf4f5560
Codechange: Expand the single usage of the macro CLRBITS.
2025-04-18 17:16:48 +02:00
Peter Nelson
91d22f7617
Codechange: Use EnumBitSet for VehStates. ( #13755 )
...
Renamed from VehStatus because pluralising that is weird.
2025-03-08 18:24:21 +00:00
Rubidium
04d53ed6f5
Codechange: remove operator!=s that are synthesized
2025-02-08 06:37:36 +01:00
Rubidium
4099acb946
Codechange: replace BSWAP32/BSWAP16 with std::byteswap
2025-01-28 19:22:12 +01:00
Rubidium
2481f2e085
Codechange: introduce own std::byteswap implementation
...
This is only available from C++23, but the implementation is fairly trivial
and the old variants of BSWAP32/BSWAP16 were not constexpr on MSVC. This was
due to all kinds of intrinsics that were added to get better code. However,
recent compilers with reasonable optimisation settings see the naive code and
will inject the appropriate optimised code (bswap op on x86-64).
For x86-64 recent is: Clang 6+ -O1, GCC 6+ -O2, MSVC 19.34+ /O1.
2025-01-28 19:22:12 +01:00
Jonathan G Rennison
e477706bf5
Codechange: Add AssignBit function to assign the value of a single bit ( #12934 )
...
* Codechange: Add AssignBit function to assign the value of a single bit
* Codechange: Replace various uses of SB with AssignBit
* Codechange: Replace various uses of SB with a constant with SetBit
2024-09-10 08:36:58 -04:00
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