Composing Ancient Mathematical Knowledge Into Powerful Bit-fiddling
Composing Ancient Mathematical Knowledge Into Powerful Bit-fiddling techniques Jamie Pond -- CppCon 2024TLDW; New insights from Ancient Egyptian Multiplication gives us the freedom of synthesising iterationCount ← number of bits in type T result ← 0 while true do if most significant bit of multiplier is 1 then result ← result + multiplicand end if iterationCount lots of bit manipulation, but these operations are very cheap! ● Superscalar CPUs do speculative, out of order, parallel instruction execution via multiple execution units. ● Adding 8 8-bit ints takes0 码力 | 73 页 | 947.99 KB | 5 月前3User guide to IPC/DEBIAN10-81A-64 – a 64-bit Debian Linux by Syslogic
Datentechnik AG | All rights reserved Seite 1 von 24 User guide to IPC/DEBIAN10-81A-64 – a 64-bit Debian Linux by Syslogic Revision Date Author Modification 1.0 13.03.2020 J. Berner wait 5 seconds to launch the default kernel. The preinstalled Kernel is the 4.19.0-6-rt-amd64, a 64-bit Kernel with applied preempt Real-Time patch. 2.3 Login, user, and password configuration IPC/DEBIAN10-81A-640 码力 | 24 页 | 468.63 KB | 1 年前3Adventures in SIMD Thinking (Part 2 of 2)
ASCII bit mask and advancement zero = _mm_set1_epi8(0); //- Zero out the interleave register chunk = _mm_loadu_si128((__m128i const*) pSrc); //- Load a register with 8-bit values octets with high bit set half = _mm_unpacklo_epi8(chunk, zero); //- Unpack bytes 0-7 into 16-bit words qrtr = _mm_unpacklo_epi16(half, zero); //- Unpack words 0-3 into 32-bit dwords _mm_ Unpack words 4-7 into 32-bit dwords _mm_storeu_si128((__m128i*) (pDst + 4), qrtr); //- Write to memory half = _mm_unpackhi_epi8(chunk, zero); //- Unpack bytes 8-15 into 16-bit words qrtr = _mm_unpacklo_epi16(half0 码力 | 135 页 | 551.08 KB | 5 月前3Why Loops End
integer_kind { // … constexpr bool is_signed() const; constexpr bit_size_t width() const; }; // no bits (unsigned) // one bit, unsigned // one bit, signed inline constexpr integer_kind inline constexpr integer_kind bitless_kind; unsigned_bit_kind; signed_bit_kind;width template < integer_kind > class widening; class integer_kind { // … constexpr bool is_signed() const; constexpr bit_size_t width() const; // one bit, unsigned // one bit, signed using using using bitless = widening< unsigned_bit = widening< signed_bit = widening< bitless_kind >; unsigned_bit_kind >; signed_bit_kind >;void0 码力 | 134 页 | 1.30 MB | 5 月前3Programmer’s Guide for Free Pascal, Version 3.2.2
accumulator register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.1.2 accumulator 64-bit register . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.1.3 float result register . . 86 6.4 Stack frame when calling a nested procedure (32-bit processors) . . . . . . . . . . . 86 6.5 Stack frame when calling a procedure (32-bit model) . . . . . . . . . . . . . . . . . 89 6.6 Maximum . . . . 102 8.3 AnsiString memory structure (32-bit model) . . . . . . . . . . . . . . . . . . . . . . 102 8.4 AnsiString memory structure (64-bit model) . . . . . . . . . . . . . . . . . . . . . .0 码力 | 187 页 | 531.58 KB | 1 年前3Firebird Internals: Inside a Firebird Database
used for this document is empty of all user tables, indices, generators etc. It was created on a 32-bit Linux system running on Intel hardware. It is therefore little endian. Thanks to everyone who has when the user creates new tables and/or indices. For example, a brand-new database, created on a 32-bit Linux system, with a 4Kb page size allocates a total of 0xa1 pages (161 pages) for the system tables sequence of pages and the type 8 page holds blob data. 0x09 Generator Page. Holds an array of 64 bit generators. 0x0a Page 2 of any database is a Write Ahead Log page. These pages are no longer used0 码力 | 63 页 | 261.00 KB | 1 年前3The Zig Programming Language 0.4.0 Documentation
Cast: unions and enums Implicit Cast: Zero Bit Types Implicit Cast: undefined Explicit Casts Peer Type Resolution Zero Bit Types void Pointers to Zero Bit Types comptime Introducing the Compile-Time signed 8-bit integer u8 uint8_t unsigned 8-bit integer i16 int16_t signed 16-bit integer u16 uint16_t unsigned 16-bit integer i32 int32_t signed 32-bit integer u32 uint32_t unsigned 32-bit integer integer i64 int64_t signed 64-bit integer u64 uint64_t unsigned 64-bit integer i128 __int128 signed 128-bit integer u128 unsigned __int128 unsigned 128-bit integer isize intptr_t signed pointer sized integer0 码力 | 207 页 | 5.29 MB | 1 年前3Computer Programming with the Nim Programming Language
voltage or current on or off. Such an on/off state is called a bit. We will discuss more details about bits and binary logic later. One bit can obviously store only two states, which we may map to the editing and testing process very often. Some adopt a programming style that involves changing a tiny bit of the source code, running it, and observing the results. A more common practice, however, is to for web development, Julia or R for numeric applications, or Zig, C, and Assembly for the tiny 8-bit microcontrollers with a small amount of RAM. While we’ve said that Nim can be used universally, from0 码力 | 865 页 | 7.45 MB | 1 年前3Computer Programming with the Nim Programming Language
voltage or current on or off. Such an on/off state is called a bit. We will discuss more details about bits and binary logic later. One bit can obviously store only two states, which we may map to the editing and testing process very often. Some adopt a programming style that involves changing a tiny bit of the source code, running it, and observing the results. A more common practice, however, is to for web development, Julia or R for numeric applications, or Zig, C, and Assembly for the tiny 8-bit microcontrollers with a small amount of RAM. While we’ve said that Nim can be used universally, from0 码力 | 784 页 | 2.13 MB | 1 年前3Oracle VM VirtualBox 4.2.8 User Manual
3.1.1 Mac OS X guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.1.2 64-bit guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2 Emulated hardware . . . . . . . . . . . . . . . . . . . . . . . . 201 12.5.1 Older Solaris 10 releases hang in 64-bit mode . . . . . . . . . . . . . . 201 12.6 Windows hosts . . . . . . . . . . . . . . . . . . . . . for understanding the following chapters of this documentation), it helps to acquaint oneself with a bit of crucial terminology, especially the following terms: Host operating system (host OS). This is the0 码力 | 324 页 | 5.85 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100