genish.js
Version:
38 lines (25 loc) • 633 B
JavaScript
let gen = require('./gen.js')
let proto = {
basename:'sin',
gen() {
let out,
inputs = gen.getInputs( this )
const isWorklet = gen.mode === 'worklet'
const ref = isWorklet? '' : 'gen.'
if( isNaN( inputs[0] ) ) {
gen.closures.add({ 'sin': isWorklet ? 'Math.sin' : Math.sin })
out = `${ref}sin( ${inputs[0]} )`
} else {
out = Math.sin( parseFloat( inputs[0] ) )
}
return out
}
}
module.exports = x => {
let sin = Object.create( proto )
sin.inputs = [ x ]
sin.id = gen.getUID()
sin.name = `${sin.basename}{sin.id}`
return sin
}