import * as neataptic from "neataptic" export type ActivationFn = (x: number, derivative: number) => number export const allActivationFnNames = [ "LOGISTIC", "TANH", "IDENTITY", "STEP", "RELU", "SOFTSIGN", "SINUSOID", "GAUSSIAN", "BENT_IDENTITY", "BIPOLAR", "BIPOLAR_SIGMOID", "HARD_TANH", "ABSOLUTE", "INVERSE", "SELU", ] as const export type ActivationFnName = typeof allActivationFnNames[number] export const LOGISTIC = neataptic.methods.activation.LOGISTIC as ActivationFn export const TANH = neataptic.methods.activation.TANH as ActivationFn export const IDENTITY = neataptic.methods.activation.IDENTITY as ActivationFn export const STEP = neataptic.methods.activation.STEP as ActivationFn export const RELU = neataptic.methods.activation.RELU as ActivationFn export const SOFTSIGN = neataptic.methods.activation.SOFTSIGN as ActivationFn export const SINUSOID = neataptic.methods.activation.SINUSOID as ActivationFn export const GAUSSIAN = neataptic.methods.activation.GAUSSIAN as ActivationFn export const BENT_IDENTITY = neataptic.methods.activation.BENT_IDENTITY as ActivationFn export const BIPOLAR = neataptic.methods.activation.BIPOLAR as ActivationFn export const BIPOLAR_SIGMOID = neataptic.methods.activation.BIPOLAR_SIGMOID as ActivationFn export const HARD_TANH = neataptic.methods.activation.HARD_TANH as ActivationFn export const ABSOLUTE = neataptic.methods.activation.ABSOLUTE as ActivationFn export const INVERSE = neataptic.methods.activation.INVERSE as ActivationFn export const SELU = neataptic.methods.activation.SELU as ActivationFn export const getActivationFn = (activationFnName: ActivationFn) => neataptic.methods.activation[activationFnName] as ActivationFn