code: def init_gru(self, layer):
      reuse_factor = layer.model.config.get_reuse_factor(layer)
      layer.set_attr("recurrent_reuse_factor", reuse_factor)
  
      # Dense multiplication properties
      layer.set_attr("rfpad", 0)
      layer.set_attr("bfpad", 0)
  
      index_t = IntegerPrecisionType(width=1, signed=False)
      layer.set_attr("index_t", index_t)
  
      if "table_t" not in layer.attributes:
          layer.set_attr(
              "table_t",
              NamedType(
                  name=layer.name + "_table_t",
                  precision=FixedPrecisionType(width=18, integer=8),
              ),
          )
      if "table_size" not in layer.attributes:
          layer.set_attr("table_size", 1024)
      if (
          True
      ):  # layer.model.config.is_resource_strategy(layer): ... Quartus only supports Dense resource multiplication
          n_in, n_out, n_in_recr, n_out_recr = self.get_layer_mult_size(
              layer
          )
          self.set_closest_reuse_factor(layer, n_in, n_out)
          self.set_closest_reuse_factor(
              layer,
              n_in_recr,
              n_out_recr,
              attribute="recurrent_reuse_factor",
          )
          layer.set_attr("strategy", "resource")
  
      layer.set_attr("index_t", index_t)
  
imports: import os
  from contextlib import contextmanager
  import numpy
  from hls4ml.backends import FPGABackend
  from hls4ml.model.attributes import ConfigurableAttribute, TypeAttribute
  from hls4ml.model.flow import register_flow
  from hls4ml.model.layers import GRU, LSTM, Activation, Conv1D, Conv2D, Dense, Embedding, Layer, SimpleRNN, Softmax
  from hls4ml.model.optimizer import get_backend_passes, layer_optimizer
  from hls4ml.model.types import FixedPrecisionType, IntegerPrecisionType, NamedType
  from hls4ml.report import parse_quartus_report
label_desc: Use image node_id 13 for calling the QuartusBackend obj's underlying member method code with example usage: obj.init_gru(layer) without return types