StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
StackGenVis/frontend/node_modules/bit-twiddle/README.md

86 lines
2.2 KiB

4 years ago
bit-twiddle
===========
This is a collection of miscellaneous bit twiddling hacks ported to JavaScript, mostly taken from here:
* [Stanford Bit Twiddling Hacks](http://graphics.stanford.edu/~seander/bithacks.html)
[![testling badge](https://ci.testling.com/mikolalysenko/bit-twiddle.png)](https://ci.testling.com/mikolalysenko/bit-twiddle)
[![build status](https://secure.travis-ci.org/mikolalysenko/bit-twiddle.png)](http://travis-ci.org/mikolalysenko/bit-twiddle)
Install
=======
Via npm:
npm install bit-twiddle
# API
### `sign(v)`
Computes the sign of the integer v. Returns:
* -1 if v < 0
* 0 if v === 0
* +1 if v > 0
### `abs(v)`
Returns the absolute value of the integer v
### `min(x,y)`
Computes the minimum of integers x and y
### `max(x,y)`
Computes the maximum of integers x and y
### `isPow2(v)`
Returns `true` if v is a power of 2, otherwise false.
### `log2(v)`
Returns an integer approximation of the log-base 2 of v
### `log10(v)`
Returns log base 10 of v.
### `popCount(v)`
Counts the number of bits set in v
### `countTrailingZeros(v)`
Counts the number of trailing zeros.
### `nextPow2(v)`
Rounds v up to the next power of 2.
### `prevPow2(v)`
Rounds v down to the previous power of 2.
### `parity(v)`
Computes the parity of the bits in v.
### `reverse(v)`
Reverses the bits of v.
### `interleave2(x,y)`
Interleaves a pair of 16 bit integers. Useful for fast quadtree style indexing. (See wiki: http://en.wikipedia.org/wiki/Z-order_curve )
### `deinterleave2(v, n)`
Deinterleaves the bits of v, returns the nth part. If both x and y are 16 bit, then it is true that:
```javascript
deinterleave2(interleave2(x,y), 0) === x
deinterleave2(interleave2(x,y), 1) === y
```
### `interleave3(x,y,z)`
Interleaves a triple of 10 bit integers. Useful for fast octree indexing.
### `deinterleave3(v, n)`
Same deal as `deinterleave2`, only for triples instead of pairs
### `nextCombination(x)`
Returns next combination ordered colexicographically.
Acknowledgements
================
Code is ported from Sean Eron Anderson's public domain bit twiddling hacks page. http://graphics.stanford.edu/~seander/bithacks.html
JavaScript implementation (c) 2013 Mikola Lysenko. MIT License