move log2 from composer to registered function
This commit is contained in:
parent
6f108f7f28
commit
c52e8f3b38
2 changed files with 4 additions and 3 deletions
|
|
@ -1110,7 +1110,6 @@ const COMPOSERS = {
|
|||
div: [numeralArgs((a, b) => a / b)],
|
||||
mod: [numeralArgs(_mod)],
|
||||
pow: [numeralArgs(Math.pow)],
|
||||
log2: [numeralArgs(Math.log2)],
|
||||
band: [numeralArgs((a, b) => a & b)],
|
||||
bor: [numeralArgs((a, b) => a | b)],
|
||||
bxor: [numeralArgs((a, b) => a ^ b)],
|
||||
|
|
@ -1816,6 +1815,8 @@ export const floor = register('floor', function (pat) {
|
|||
return pat.asNumber().fmap((v) => Math.floor(v));
|
||||
});
|
||||
|
||||
export const log2 = register('log2', (pat) => pat.asNumber().fmap((v) => Math.log2(v)));
|
||||
|
||||
/**
|
||||
* Assumes a numerical pattern. Returns a new pattern with all values set to
|
||||
* their mathematical ceiling. E.g. `3.2` replaced with `4`, and `-4.2`
|
||||
|
|
|
|||
|
|
@ -316,7 +316,7 @@ export const run = (n) => saw.range(0, n).round().segment(n);
|
|||
* // "hh".s().struct("1 0 1")
|
||||
*/
|
||||
export const binary = (n) => {
|
||||
const nBits = reify(n).log2(0).floor().add(1);
|
||||
const nBits = reify(n).log2().floor().add(1);
|
||||
return binaryN(n, nBits);
|
||||
};
|
||||
|
||||
|
|
@ -348,7 +348,7 @@ export const binaryN = (n, nBits = 16) => {
|
|||
* .partials(binaryL(irand(4096).add(1)))
|
||||
*/
|
||||
export const binaryL = (n) => {
|
||||
const nBits = reify(n).log2(0).floor().add(1);
|
||||
const nBits = reify(n).log2().floor().add(1);
|
||||
return binaryNL(n, nBits);
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue