GSLWeaveCodeGenerator class¶
(Shortest import: from brian2 import GSLWeaveCodeGenerator)
-
class
brian2.codegen.generators.GSL_generator.
GSLWeaveCodeGenerator
(variables, variable_indices, owner, iterate_all, codeobj_class, name, template_name, override_conditional_write=None, allows_scalar_write=False)[source]¶ Bases:
brian2.codegen.generators.GSL_generator.GSLCodeGenerator
Methods
c_data_type
(dtype)Get string version of object dtype that is attached to Brian variables. get_array_name
(var[, access_data])initialize_array
(varname, values)Initialize a static array with given floating point values. unpack_namespace_single
(var_obj, in_vector, …)Writes the code necessary to pull single variable out of the Brian namespace into the generated code. var_init_lhs
(var, type)Get string version of the left hand side of an initializing expression var_replace_diff_var_lhs
(var, ind)Details
-
c_data_type
(dtype)[source]¶ Get string version of object dtype that is attached to Brian variables. c pp_generator already has this function, but the Cython generator does not, but we need it for GSL code generation.
-
initialize_array
(varname, values)[source]¶ Initialize a static array with given floating point values. E.g. in C++, when called with arguments
array
and[1.0, 3.0, 2.0]
, this method should returndouble array[] = {1.0, 3.0, 2.0}
.Parameters: varname : str
The name of the array variable that should be initialized
values : list of float
The values that should be assigned to the array
Returns: code : str
One or more lines of array initialization code.
-
unpack_namespace_single
(var_obj, in_vector, in_scalar)[source]¶ Writes the code necessary to pull single variable out of the Brian namespace into the generated code.
The code created is significantly different between cpp and cython, so I decided to not make this function general over all target languages (i.e. in contrast to most other functions that only have syntactical differences)
-