docstr: Write the lookup tables for activation functions
  
  Args:
      model (ModelGraph): the hls4ml model.
docstr_tok: ["Write","the","lookup","tables","for","activation","functions","Args",":","model","(","ModelGraph",")",":","the","hls4ml","model","."]
code: def write_activation_tables(self, model):
      """Write the lookup tables for activation functions
  
      Args:
          model (ModelGraph): the hls4ml model.
      """
      # Output path
      dstpath = f"{model.config.get_output_dir()}/firmware/nnet_utils/activation_tables"
      if not os.path.exists(dstpath):
          os.mkdir(dstpath)
  
      # Tables
      # TODO - Only write tables needed by model, not all of them
      self.__write_elu_table(model, dstpath)
      self.__write_sigmoid_table(model, dstpath)
      self.__write_tanh_table(model, dstpath)
      self.__write_softplus_table(model, dstpath)
      self.__write_softsign_table(model, dstpath)
      self.__write_selu_table(model, dstpath)
      self.__write_exp_table(model, dstpath)
      self.__write_invert_table(model, dstpath)
      self.__write_exp_table_latency(model, dstpath)
      self.__write_invert_table_latency(model, dstpath)
      self.__write_exp_table_legacy(model, dstpath)
      self.__write_invert_table_legacy(model, dstpath)
  
imports: import glob
  import os
  import tarfile
  from collections import OrderedDict
  from shutil import copyfile, copytree, rmtree
  import numpy
  import yaml
  from hls4ml.backends import get_backend
  from hls4ml.model.layers import Conv1D, Conv2D, Conv2DBatchnorm, Dense
  from hls4ml.utils.fixed_point_utils import FixedPointEmulator, ceil_log2, uint_to_binary
  from hls4ml.writer.writers import Writer
label_desc: Use image node_id 31 for calling the QuartusWriter obj's underlying member method code with example usage: obj.write_activation_tables(model) without return types