UNPKG

simdle-native

Version:

libsimdle JavaScript bindings for Node.js

77 lines (41 loc) 2.86 kB
# simdle-native https://github.com/holepunchto/libsimdle JavaScript bindings for Node.js. ```sh npm install simdle-native ``` ## Usage ```js const { cnt } = require('simdle-native') cnt(Buffer.alloc(16, 0xff)) // <Buffer 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08> ``` ## API The lane width of all APIs is determined by the input buffer. That is, if providing a `Uint8Array` the lane width will be 8 bits, if providing a `Uint16Array` the lane width will be 16 bits and so on. #### `const result = allo(buffer)` Check if the buffer contains only ones. #### `const result = allz(buffer)` Check if the buffer contains only zeros. #### `const result = and(a, b[, result])` Compute the bitwise AND of `a` and `b`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = clear(a, b[, result])` Clear the bits in `b` from `a`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = clo(buffer[, result])` Count the number of leading ones in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = clz(buffer[, result])` Count the number of leading zeroes in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = cnt(buffer[, result])` Compute the population count in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = cto(buffer[, result])` Count the number of trailing ones in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = ctz(buffer[, result])` Count the number of trailing zeroes in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = not(buffer[, result])` Compute the bitwise NOT in `buffer`, storing the result in `result`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = or(a, b[, result])` Compute the bitwise OR of `a` and `b`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. #### `const result = sum(buffer)` Compute the sum of `buffer` as a `bigint`. #### `const result = xor(a, b[, result])` Compute the bitwise XOR of `a` and `b`. If `result` is not provided, a fresh buffer is allocated. The `result` buffer is returned to the caller. ## License Apache-2.0