class_docstr: Rudimentary, generic GLSL printing tools.
  
  Additional settings:
  'use_operators': Boolean (should the printer use operators for +,-,*, or functions?)
class_docstr_tok: ["Rudimentary",",","generic","GLSL","printing","tools",".","Additional","settings",":","'use_operators","'",":","Boolean","(","should","the","printer","use","operators","for","+",",","-",",","*",",","or","functions","?",")"]
code: def _print_list(self, expr):
      l = ", ".join(self._print(item) for item in expr)
      glsl_types = self._settings["glsl_types"]
      array_type = self._settings["array_type"]
      array_size = len(expr)
      array_constructor = "{}[{}]".format(array_type, array_size)
  
      if array_size <= 4 and glsl_types:
          return "vec{}({})".format(array_size, l)
      else:
          return "{}({})".format(array_constructor, l)
  
imports: from __future__ import annotations
  from sympy.core import Basic, S
  from sympy.core.function import Lambda
  from sympy.core.numbers import equal_valued
  from sympy.printing.codeprinter import CodePrinter
  from sympy.printing.precedence import precedence
  from functools import reduce
label_desc: Use image node_id 12 for calling the GLSLPrinter obj's underlying member method code with example usage: obj._print_list(expr) and returns: str, str