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