background preloader

Programming

Facebook Twitter

Bit Twiddling Hacks. By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please.

Bit Twiddling Hacks

The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. As of May 5, 2005, all the code has been tested thoroughly. Thousands of people have read it. Contents About the operation counting methodology When totaling the number of operations for algorithms here, any C operator is counted as one operation. Compute the sign of an integer The last expression above evaluates to sign = v >> 31 for 32-bit integers.

Bitmagic

Untitled. Untitled. Untitled. Untitled. These manuals describe the architecture and programming environment of the Intel® 64 and IA-32 architectures.

untitled

Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s ManualsFour-Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s ManualsTen-Volume Set of Intel® 64 and IA-32 Architectures Software Developer's ManualsIntel® architecture instruction set extensions programming referenceSoftware Optimization Reference ManualUncore Performance Monitoring Reference ManualsRelated Specifications, Application Notes, and White Papers Electronic versions of these documents allow you to quickly get to the information you need and print only the pages you want.

The Intel® 64 and IA-32 architectures software developer's manuals are now available for download via one combined volume, a four volume set or a ten volume set. Untitled. Guide to x86 Assembly. Contents: Registers | Memory and Addressing | Instructions | Calling Convention This guide describes the basics of 32-bit x86 assembly language programming, covering a small but useful subset of the available instructions and assembler directives.

Guide to x86 Assembly

There are several different assembly languages for generating x86 machine code. Untitled. See also my blog Contents Optimization manuals This series of five manuals describes everything you need to know about optimizing code for x86 and x86-64 family microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of most Intel, AMD and VIA processors, and details about different compilers and calling conventions.

untitled

Operating systems covered: DOS, Windows, Linux, BSD, Mac OS X Intel based, 32 and 64 bits. Untitled. Library Documentation. Accumulators Framework for incremental calculation, and collection of statistical accumulators.

Library Documentation

Author(s) Eric Niebler First Release. Population count. Population count You are encouraged to solve this task according to the task description, using any language you may know.

Population count

The population count is the number of 1s (ones) in the binary representation of a non-negative integer. Population count is also known as pop count, popcount, sideways sum, and Hamming weight. For example, 5 (which is 101 in binary) has a population count of 2. Evil numbers are non-negative integers that have an even population count. Rosetta Code. Searching Algorithms. ‘Recent Articles’ on Searching Searching Algorithms are designed to check for an element or retrieve an element from any data structure where it is stored.

Searching Algorithms

Based on the type of search operation, these algorithms are generally classified into two categories: Sequential Search: In this, the list or array is traversed sequentially and every element is checked. For example: Linear Search.Interval Search: These algorithms are specifically designed for searching in sorted data-structures. HumanGamer (Human Gamer) Other Installation Methods · The Rust Programming Language. Which installer should you use? Rust runs on many platforms, and there are many ways to install Rust. If you want to install Rust in the most straightforward, recommended way, then follow the instructions on the main installation page. Install Rust - Rust Programming Language. Getting started If you're just getting started with Rust and would like a more detailed walk-through, see our getting started page.

Install Rust - Rust Programming Language

Windows considerations. LunarXchange. Vulkan® SDK - What's in the SDK - Where to Download. Visualizing Algorithms. The power of the unaided mind is highly overrated… The real powers come from devising external aids that enhance cognitive abilities.

Visualizing Algorithms

—Donald Norman Algorithms are a fascinating use case for visualization. To visualize an algorithm, we don’t merely fit data to a chart; there is no primary dataset. Instead there are logical rules that describe behavior. This may be why algorithm visualizations are so unusual, as designers experiment with novel forms to better communicate. Strawberry Perl for Windows. Arb - a C library for arbitrary-precision ball arithmetic — Arb 2.17.0-git documentation. What's a Creel? Meet Guru99 - Free Training Tutorials & Video for IT Courses. DUMPBIN Options. Programmation & Developpement. Paul Hsieh's Home Page. Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X.

See also my blog Contents.

Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X

CppCon. CppCon. C++ - Visual Studio error D8016: '/ZI' and '/Gy' command-line options are incompatible. Using classes exported from a DLL using LoadLibrary. Introduction I have seen quite a lot of code explaining how to use classes exported from a DLL in an application. However, all these describe the usage of the exported classes by linking implicitly to the DLL. Refreshing our DLL concepts, there are two ways for an application to use a function written in a DLL. The first way is to have your application's source code simply reference symbols contained in the DLL. This causes the loader to implicitly load (and link) the required DLL when the application is invoked.

The second way is for the application to explicitly load the required DLL (using a LoadLibrary() call) and explicitly link to the desired exported symbol while the application is running. Background So far, I spoke of using functions, but hey, what about using classes exported from a DLL? Using the code The implementation of this DLL is as shown in the file Calc.cpp: Hide Copy Code Now, how do we use the functions present in this Calc class by explicitly loading the DLL? Boost/header-only.rst at master · boostorg/boost. Computerphile. Numberphile.

Programming & Hobbies

Run Program by BlitzSupport.

BlitzMax _ Run program (Windows-only) by BlitzSupport This gives a little more control over launching graphical applications on Windows than other methods available, eg. OpenURL, system_, CreateProcess, etc. (Whether or not the minimise/maximise/hide flags have any effect depends on the program, though most should work correctly; the one I actually intended this for, Google Chrome, basically ignores all of the SW_SHOW parameters!) – virttree

The Official Blitz Website. Algorithms.