SYMBOL INDEX (1851 symbols across 100 files) FILE: examples/examples.py function finderror (line 21) | def finderror(str): function simplify_errors (line 27) | def simplify_errors(str): function simplify_stacktrace (line 32) | def simplify_stacktrace(str): function iserror (line 35) | def iserror(str): function remove_control_characters (line 39) | def remove_control_characters(str): function isin (line 42) | def isin(str): function getoutput (line 49) | def getoutput(filepath): function run (line 67) | def run(file,testLog,CI): FILE: src/builtin/builtin.c function builtin_init (line 43) | void builtin_init(objectbuiltinfunction *func) { function builtin_clear (line 52) | void builtin_clear(objectbuiltinfunction *func) { function builtin_enumerateloop (line 64) | bool builtin_enumerateloop(vm *v, value obj, builtin_loopfunction fn, vo... function builtin_bindobject (line 85) | void builtin_bindobject(object *obj) { function builtin_options (line 102) | bool builtin_options(vm *v, int nargs, value *args, int *nfixed, int nop... function builtin_iscallable (line 128) | bool builtin_iscallable(value val) { function objectbuiltinfunction_printfn (line 141) | void objectbuiltinfunction_printfn(object *obj, void *v) { function objectbuiltinfunction_freefn (line 146) | void objectbuiltinfunction_freefn(object *obj) { function objectbuiltinfunction_sizefn (line 150) | size_t objectbuiltinfunction_sizefn(object *obj) { function dictionary (line 168) | dictionary *builtin_getfunctiontable(void) { function builtin_setfunctiontable (line 173) | void builtin_setfunctiontable(dictionary *dict) { function dictionary (line 178) | dictionary *builtin_getclasstable(void) { function builtin_setclasstable (line 183) | void builtin_setclasstable(dictionary *dict) { function value (line 192) | value builtin_addfunction(char *name, builtinfunction func, builtinfunct... function value (line 199) | value builtin_findfunction(value name) { function objectclass (line 205) | objectclass *builtin_getparentclass(value fn) { function builtin_addfunctiontodict (line 220) | bool builtin_addfunctiontodict(dictionary *dict, value name, value fn, v... function morpho_addfunction (line 253) | bool morpho_addfunction(char *name, char *signature, builtinfunction fun... function value (line 300) | value builtin_addclass(char *name, builtinclassentry desc[], value super... function value (line 347) | value builtin_findclass(value name) { function builtin_copysymboltable (line 354) | void builtin_copysymboltable(dictionary *out) { function value (line 359) | value builtin_internsymbol(value symbol) { function value (line 364) | value builtin_internsymbolascstring(char *symbol) { function builtin_checksymbol (line 372) | bool builtin_checksymbol(value symbol) { function builtin_initialize (line 386) | void builtin_initialize(void) { function builtin_finalize (line 446) | void builtin_finalize(void) { FILE: src/builtin/builtin.h type builtinfunctionflags (line 24) | typedef unsigned int builtinfunctionflags; type value (line 35) | typedef value (*builtinfunction) (vm *v, int nargs, value *args); type objectbuiltinfunction (line 42) | typedef struct { type builtinclassentry (line 62) | typedef struct { FILE: src/builtin/functiondefs.c function value (line 102) | value builtin_sqrt(vm *v, int nargs, value *args) { function value (line 125) | value builtin_arctan(vm *v, int nargs, value *args) { function value (line 163) | value builtin_real(vm *v, int nargs, value *args) { function value (line 179) | value builtin_imag(vm *v, int nargs, value *args) { function value (line 195) | value builtin_angle(vm *v, int nargs, value *args) { function value (line 216) | value builtin_conj(vm *v, int nargs, value *args) { function value (line 242) | value builtin_random(vm *v, int nargs, value *args) { function value (line 247) | value builtin_randomnormal(vm *v, int nargs, value *args) { function value (line 262) | value builtin_randomint(vm *v, int nargs, value *args) { function value (line 339) | value builtin_iscallablefunction(vm *v, int nargs, value *args) { function value (line 347) | value builtin_int(vm *v, int nargs, value *args) { function value (line 366) | value builtin_float(vm *v, int nargs, value *args) { function value (line 385) | value builtin_bool(vm *v, int nargs, value *args) { function value (line 394) | value builtin_mod(vm *v, int nargs, value *args) { type minmaxstruct (line 415) | typedef struct { function minmaxfn (line 420) | static bool minmaxfn(vm *v, indx i, value val, void *ref) { function builtin_minmax (line 431) | static bool builtin_minmax(vm *v, value obj, value *min, value *max) { function builtin_minmaxargs (line 445) | bool builtin_minmaxargs(vm *v, int nargs, value *args, value *min, value... function value (line 462) | static value builtin_bounds(vm *v, int nargs, value *args) { function value (line 485) | static value builtin_min(vm *v, int nargs, value *args) { function value (line 498) | static value builtin_max(vm *v, int nargs, value *args) { function value (line 511) | static value builtin_sign(vm *v, int nargs, value *args){ function value (line 545) | value builtin_apply(vm *v, int nargs, value *args) { function value (line 578) | value builtin_system(vm *v, int nargs, value *args) { function value (line 589) | value builtin_clock(vm *v, int nargs, value *args) { function functiondefs_initialize (line 604) | void functiondefs_initialize(void) { FILE: src/classes/array.c function objectarray_printfn (line 16) | void objectarray_printfn(object *obj, void *v) { function objectarray_markfn (line 20) | void objectarray_markfn(object *obj, void *v) { function objectarray_sizefn (line 27) | size_t objectarray_sizefn(object *obj) { function object_arrayinit (line 42) | void object_arrayinit(objectarray *array, unsigned int ndim, unsigned in... function objectarray (line 82) | objectarray *object_newarray(unsigned int ndim, unsigned int *dim) { function array_valuelisttoindices (line 100) | bool array_valuelisttoindices(unsigned int ndim, value *in, unsigned int... function objectarray (line 112) | objectarray *object_arrayfromvaluelist(unsigned int n, value *v) { function objectarray (line 121) | objectarray *object_arrayfromvarrayvalue(varray_value *v) { function objectarray (line 126) | objectarray *object_arrayfromvalueindices(unsigned int ndim, value *dim) { function objectarray (line 135) | objectarray *object_clonearray(objectarray *array) { function array_print_recurse (line 144) | bool array_print_recurse(vm *v, objectarray *a, unsigned int *indx, unsi... function array_print (line 166) | void array_print(vm *v, objectarray *a) { function errorid (line 180) | errorid array_error(objectarrayerror err) { function errorid (line 193) | errorid array_to_matrix_error(objectarrayerror err) { function errorid (line 210) | errorid array_to_list_error(objectarrayerror err) { function objectarrayerror (line 223) | objectarrayerror array_getelement(objectarray *a, unsigned int ndim, uns... function objectarrayerror (line 246) | objectarrayerror getslice(value *a, bool dimFcn(value *, unsigned int), function objectarrayerror (line 294) | objectarrayerror setslicerecursive(value* a, value* out,objectarrayerror... function objectarrayerror (line 344) | objectarrayerror array_setelement(objectarray *a, unsigned int ndim, uns... function list_nestingdepth (line 369) | unsigned int list_nestingdepth(objectlist *list, unsigned int *out) { function array_copyfromnestedlistrecurse (line 383) | static void array_copyfromnestedlistrecurse(objectlist *list, unsigned i... function array_copyfromnestedlist (line 393) | void array_copyfromnestedlist(objectlist *in, objectarray *out) { function objectarray (line 400) | objectarray *array_constructfromlist(unsigned int ndim, unsigned int *di... function objectarray (line 419) | objectarray *array_constructfromarray(unsigned int ndim, unsigned int *d... function value (line 431) | value array_constructor(vm *v, int nargs, value *args) { function array_slicedim (line 474) | bool array_slicedim(value * a, unsigned int ndim){ function array_sliceconstructor (line 481) | void array_sliceconstructor(unsigned int *slicesize,unsigned int ndim,va... function objectarrayerror (line 486) | objectarrayerror array_slicecopy(value * a,value * out, unsigned int ndi... function value (line 502) | value Array_getindex(vm *v, int nargs, value *args) { function value (line 524) | value Array_setindex(vm *v, int nargs, value *args) { function value (line 537) | value Array_print(vm *v, int nargs, value *args) { function value (line 547) | value Array_count(vm *v, int nargs, value *args) { function value (line 554) | value Array_dimensions(vm *v, int nargs, value *args) { function value (line 568) | value Array_enumerate(vm *v, int nargs, value *args) { function value (line 586) | value Array_clone(vm *v, int nargs, value *args) { function array_initialize (line 615) | void array_initialize(void) { FILE: src/classes/array.h type objectarray (line 19) | typedef struct { type objectarrayerror (line 73) | typedef enum { ARRAY_OK, ARRAY_WRONGDIM, ARRAY_OUTOFBOUNDS, ARRAY_NONINT... FILE: src/classes/closure.c function objectclosure_printfn (line 15) | void objectclosure_printfn(object *obj, void *v) { function objectclosure_markfn (line 22) | void objectclosure_markfn(object *obj, void *v) { function objectclosure_sizefn (line 30) | size_t objectclosure_sizefn(object *obj) { function object_closureinit (line 44) | void object_closureinit(objectclosure *c) { function objectclosure (line 52) | objectclosure *object_newclosure(objectfunction *sf, objectfunction *fun... function value (line 83) | value Closure_tostring(vm *v, int nargs, value *args) { function closure_initialize (line 116) | void closure_initialize(void) { FILE: src/classes/closure.h type objectclosure (line 19) | typedef struct { FILE: src/classes/clss.c function objectclass_printfn (line 15) | void objectclass_printfn(object *obj, void *v) { function objectclass_markfn (line 19) | void objectclass_markfn(object *obj, void *v) { function objectclass_freefn (line 27) | void objectclass_freefn(object *obj) { function objectclass_sizefn (line 36) | size_t objectclass_sizefn(object *obj) { function objectclass (line 49) | objectclass *object_newclass(value name) { function _print (line 79) | void _print(varray_value *list) { function _intail (line 89) | bool _intail(varray_value *list, value v) { function _remove (line 97) | void _remove(varray_value *list, value v) { function _inanytail (line 107) | bool _inanytail(int n, varray_value *in, value v) { function _done (line 115) | bool _done(int n, varray_value *in) { function _merge (line 121) | bool _merge(int n, varray_value *in, varray_value *out) { function _init (line 136) | static void _init(objectclass *parent, varray_value *out) { function _linearize (line 141) | bool _linearize(objectclass *klass, varray_value *out) { function class_linearize (line 165) | bool class_linearize(objectclass *klass) { function class_initialize (line 187) | void class_initialize(void) { FILE: src/classes/clss.h type objectclass (line 19) | typedef struct sobjectclass { FILE: src/classes/cmplx.c function objectcomplex_sizefn (line 21) | size_t objectcomplex_sizefn(object *obj) { function objectcomplex_printfn (line 25) | void objectcomplex_printfn(object *obj, void *v) { function objectcomplex_cmpfn (line 29) | int objectcomplex_cmpfn(object *a, object *b) { function objectcomplex (line 45) | objectcomplex *object_newcomplex(double real,double imag) { function objectcomplex (line 60) | objectcomplex *object_complexfromfloat(double val) { function objectcomplex (line 66) | objectcomplex *object_complexfromcomplex(MorphoComplex val) { function objectcomplex (line 72) | objectcomplex *object_clonecomplex(objectcomplex *in) { function value (line 78) | value object_clonecomplexvalue(value val) { function complex_getreal (line 92) | void complex_getreal(objectcomplex *c, double *value) { function complex_getimag (line 97) | void complex_getimag(objectcomplex *c, double *value) { function complex_isequal (line 102) | bool complex_isequal(objectcomplex *a, objectcomplex *b) { function complex_isequaltonumber (line 107) | bool complex_isequaltonumber(objectcomplex *a, value b) { function complex_print (line 117) | void complex_print(vm *v, objectcomplex *a) { function complex_add (line 136) | void complex_add(objectcomplex *a, objectcomplex *b, objectcomplex *out){ function complex_add_real (line 141) | void complex_add_real(objectcomplex *a, double b, objectcomplex *out){ function complex_sub (line 146) | void complex_sub(objectcomplex *a, objectcomplex *b, objectcomplex *out) { function complex_mul (line 151) | void complex_mul(objectcomplex *a, objectcomplex *b, objectcomplex *out){ function complex_mul_real (line 156) | void complex_mul_real(objectcomplex *a, double b, objectcomplex *out){ function complex_copy (line 161) | void complex_copy(objectcomplex *a, objectcomplex *out) { function complex_power (line 166) | void complex_power(objectcomplex *a, double exponent, objectcomplex *out){ function complex_cpower (line 171) | void complex_cpower(objectcomplex *a, objectcomplex *b, objectcomplex *o... function complex_div (line 176) | void complex_div(objectcomplex *a, objectcomplex *b, objectcomplex *out){ function complex_invert (line 181) | void complex_invert(objectcomplex *a, objectcomplex *out){ function complex_conj (line 186) | void complex_conj(objectcomplex *a, objectcomplex *out) { function complex_angle (line 191) | void complex_angle(objectcomplex *a, double *out){ function complex_abs (line 195) | void complex_abs(objectcomplex *a, double *out) { function value (line 225) | value complex_builtinfabs(vm * v, objectcomplex *c) { function value (line 233) | value complex_builtinlog10(vm * v, objectcomplex *c) { function value (line 252) | value complex_builtinfloor(vm * v, objectcomplex *c) { function value (line 259) | value complex_builtinceil(vm * v, objectcomplex *c) { function value (line 363) | value Complex_getreal(vm *v, int nargs, value *args) { function value (line 379) | value Complex_getimag(vm *v, int nargs, value *args) { function value (line 395) | value Complex_print(vm *v, int nargs, value *args) { function value (line 405) | value Complex_add(vm *v, int nargs, value *args) { function value (line 434) | value Complex_sub(vm *v, int nargs, value *args) { function value (line 463) | value Complex_subr(vm *v, int nargs, value *args) { function value (line 486) | value Complex_mul(vm *v, int nargs, value *args) { function value (line 515) | value Complex_div(vm *v, int nargs, value *args) { function value (line 544) | value Complex_divr(vm *v, int nargs, value *args) { function value (line 568) | value Complex_power(vm *v, int nargs, value *args) { function value (line 599) | value Complex_powerr(vm *v, int nargs, value *args) { function value (line 631) | value Complex_angle(vm *v, int nargs, value *args) { function value (line 637) | value Complex_abs(vm *v, int nargs, value *args) { function value (line 645) | value Complex_conjugate(vm *v, int nargs, value *args) { function value (line 660) | value Complex_clone(vm *v, int nargs, value *args) { FILE: src/classes/cmplx.h type objectcomplex (line 22) | typedef struct { FILE: src/classes/dict.c function objectdictionary_printfn (line 15) | void objectdictionary_printfn(object *obj, void *v) { function objectdictionary_freefn (line 19) | void objectdictionary_freefn(object *obj) { function objectdictionary_markfn (line 24) | void objectdictionary_markfn(object *obj, void *v) { function objectdictionary_sizefn (line 29) | size_t objectdictionary_sizefn(object *obj) { function objectdictionary (line 43) | objectdictionary *object_newdictionary(void) { function dictionary (line 56) | dictionary *object_dictionary(objectdictionary *dict) { function value (line 61) | value dictionary_iterate(objectdictionary *dict, unsigned int n) { function value (line 77) | value dictionary_constructor(vm *v, int nargs, value *args) { function value (line 95) | value Dictionary_getindex(vm *v, int nargs, value *args) { function value (line 109) | value Dictionary_setindex(vm *v, int nargs, value *args) { function value (line 124) | value Dictionary_contains(vm *v, int nargs, value *args) { function value (line 136) | value Dictionary_remove(vm *v, int nargs, value *args) { function value (line 147) | value Dictionary_clear(vm *v, int nargs, value *args) { function value (line 156) | value Dictionary_print(vm *v, int nargs, value *args) { function value (line 179) | value Dictionary_count(vm *v, int nargs, value *args) { function value (line 186) | value Dictionary_enumerate(vm *v, int nargs, value *args) { function value (line 201) | value Dictionary_keys(vm *v, int nargs, value *args) { function value (line 220) | value Dictionary_clone(vm *v, int nargs, value *args) { FILE: src/classes/dict.h type objectdictionary (line 20) | typedef struct { FILE: src/classes/err.c function value (line 22) | value Error_init(vm *v, int nargs, value *args) { function _err_extract (line 37) | bool _err_extract(vm *v, int nargs, value *args, value *tag, value *msg) { function value (line 58) | value Error_throw(vm *v, int nargs, value *args) { function value (line 73) | value Error_warning(vm *v, int nargs, value *args) { function value (line 88) | value Error_print(vm *v, int nargs, value *args) { FILE: src/classes/file.c function objectfile_sizefn (line 25) | size_t objectfile_sizefn(object *obj) { function objectfile_markfn (line 29) | void objectfile_markfn(object *obj, void *v) { function objectfile_freefn (line 34) | void objectfile_freefn(object *obj) { function objectfile_printfn (line 39) | void objectfile_printfn(object *obj, void *v) { function objectfile (line 56) | objectfile *object_newfile(value filename, FILE *f) { function file_getsize (line 74) | bool file_getsize(FILE *f, size_t *s) { function FILE (line 85) | FILE *file_getfile(value obj) { function file_setfile (line 91) | void file_setfile(value obj, FILE *f) { function file_setworkingdirectory (line 97) | void file_setworkingdirectory(const char *path) { function file_relativepath (line 114) | void file_relativepath(const char *fname, varray_char *name) { function FILE (line 130) | FILE *file_openrelative(const char *fname, const char *mode) { function file_readlineintovarray (line 144) | int file_readlineintovarray(FILE *f, varray_char *string) { function file_readintovarray (line 159) | bool file_readintovarray(FILE *f, varray_char *string) { function value (line 174) | value file_readlineusingvarray(FILE *f, varray_char *string) { function value (line 192) | value file_constructor(vm *v, int nargs, value *args) { function value (line 235) | value File_close(vm *v, int nargs, value *args) { function value (line 246) | value File_lines(vm *v, int nargs, value *args) { function value (line 276) | value File_readall(vm *v, int nargs, value *args) { function value (line 293) | value File_readline(vm *v, int nargs, value *args) { function value (line 309) | value File_readchar(vm *v, int nargs, value *args) { function value (line 324) | value File_write(vm *v, int nargs, value *args) { function value (line 340) | value File_relativepath(vm *v, int nargs, value *args) { function value (line 358) | value File_filename(vm *v, int nargs, value *args) { function value (line 363) | value File_eof(vm *v, int nargs, value *args) { function value (line 402) | value Folder_contents(vm *v, int nargs, value *args) { function file_finalize (line 477) | void file_finalize(void) { FILE: src/classes/file.h type objectfile (line 21) | typedef struct { FILE: src/classes/flt.c function value (line 11) | value Value_format(vm *v, int nargs, value *args) { FILE: src/classes/function.c function objectfunction_freefn (line 15) | void objectfunction_freefn(object *obj) { function objectfunction_markfn (line 23) | void objectfunction_markfn(object *obj, void *v) { function objectfunction_sizefn (line 29) | size_t objectfunction_sizefn(object *obj) { function objectfunction_printfn (line 33) | void objectfunction_printfn(object *obj, void *v) { function object_functioninit (line 52) | void object_functioninit(objectfunction *func) { function object_functionclear (line 66) | void object_functionclear(objectfunction *func) { function objectfunction (line 77) | objectfunction *object_newfunction(indx entry, value name, objectfunctio... function objectfunction (line 95) | objectfunction *object_getfunctionparent(objectfunction *func) { function value (line 100) | value object_getfunctionname(objectfunction *func) { function varray_value (line 105) | varray_value *object_functiongetconstanttable(objectfunction *func) { function object_functionaddprototype (line 118) | bool object_functionaddprototype(objectfunction *func, varray_upvalue *v... function function_countpositionalargs (line 129) | int function_countpositionalargs(objectfunction *func) { function function_countoptionalargs (line 134) | int function_countoptionalargs(objectfunction *func) { function function_hasvargs (line 139) | bool function_hasvargs(objectfunction *func) { function function_setvarg (line 144) | void function_setvarg(objectfunction *func, int varg) { function function_setclosure (line 149) | void function_setclosure(objectfunction *func, int creg) { function function_isclosure (line 154) | bool function_isclosure(objectfunction *func) { function function_setsignature (line 161) | void function_setsignature(objectfunction *func, value *signature) { function function_hastypedparameters (line 166) | bool function_hastypedparameters(objectfunction *func) { function value (line 174) | value Function_tostring(vm *v, int nargs, value *args) { function function_initialize (line 205) | void function_initialize(void) { FILE: src/classes/function.h type optionalparam (line 20) | typedef struct { type objectfunction (line 29) | typedef struct sobjectfunction { FILE: src/classes/instance.c function objectinstance_printfn (line 15) | void objectinstance_printfn(object *obj, void *v) { function objectinstance_markfn (line 19) | void objectinstance_markfn(object *obj, void *v) { function objectinstance_freefn (line 24) | void objectinstance_freefn(object *obj) { function objectinstance_sizefn (line 29) | size_t objectinstance_sizefn(object *obj) { function objectinstance (line 43) | objectinstance *object_newinstance(objectclass *klass) { function objectinstance_setproperty (line 64) | bool objectinstance_setproperty(objectinstance *obj, value key, value va... function objectinstance_getproperty (line 73) | bool objectinstance_getproperty(objectinstance *obj, value key, value *v... function objectinstance_getpropertyinterned (line 83) | bool objectinstance_getpropertyinterned(objectinstance *obj, value key, ... function value (line 92) | value Object_getindex(vm *v, int nargs, value *args) { function value (line 109) | value Object_setindex(vm *v, int nargs, value *args) { function value (line 123) | value Object_class(vm *v, int nargs, value *args) { function value (line 134) | value Object_super(vm *v, int nargs, value *args) { function value (line 143) | value Object_respondsto(vm *v, int nargs, value *args) { function value (line 172) | value Object_has(vm *v, int nargs, value *args) { function value (line 202) | value Object_invoke(vm *v, int nargs, value *args) { function value (line 220) | value Object_print(vm *v, int nargs, value *args) { function value (line 236) | value Object_count(vm *v, int nargs, value *args) { function value (line 250) | value Object_enumerate(vm *v, int nargs, value *args) { function value (line 280) | value Object_serialize(vm *v, int nargs, value *args) { function value (line 285) | value Object_clone(vm *v, int nargs, value *args) { function value (line 304) | value Object_linearization(vm *v, int nargs, value *args) { function instance_initialize (line 345) | void instance_initialize(void) { FILE: src/classes/instance.h type objectinstance (line 19) | typedef struct { FILE: src/classes/invocation.c function objectinvocation_printfn (line 16) | void objectinvocation_printfn(object *obj, void *v) { function objectinvocation_markfn (line 23) | void objectinvocation_markfn(object *obj, void *v) { function objectinvocation_sizefn (line 29) | size_t objectinvocation_sizefn(object *obj) { function objectinvocation (line 47) | objectinvocation *object_newinvocation(value receiver, value method) { function value (line 63) | value invocation_constructor(vm *v, int nargs, value *args) { function value (line 94) | value Invocation_tostring(vm *v, int nargs, value *args) { function value (line 115) | value Invocation_clone(vm *v, int nargs, value *args) { function invocation_initialize (line 143) | void invocation_initialize(void) { FILE: src/classes/invocation.h type objectinvocation (line 28) | typedef struct { FILE: src/classes/json.c function json_lexwhitespace (line 63) | bool json_lexwhitespace(lexer *l, token *tok, error *err) { function json_lexstring (line 83) | bool json_lexstring(lexer *l, token *tok, error *err) { function json_lexnumber (line 102) | bool json_lexnumber(lexer *l, token *tok, error *err) { function json_lexpreprocess (line 149) | bool json_lexpreprocess(lexer *l, token *tok, error *err) { function json_initializelexer (line 159) | void json_initializelexer(lexer *l, char *src) { type jsonoutput (line 176) | typedef struct { function json_setoutput (line 182) | void json_setoutput(void *out, value v) { function value (line 189) | value json_getoutput(jsonoutput *out) { function json_outputinit (line 195) | void json_outputinit(jsonoutput *out, varray_value *output) { function json_parsestring (line 208) | bool json_parsestring(parser *p, void *out) { function json_parsenumber (line 260) | bool json_parsenumber(parser *p, void *out) { function json_parsefloat (line 270) | bool json_parsefloat(parser *p, void *out) { function json_parsetrue (line 280) | bool json_parsetrue(parser *p, void *out) { function json_parsefalse (line 286) | bool json_parsefalse(parser *p, void *out) { function json_parsenull (line 292) | bool json_parsenull(parser *p, void *out) { function json_parseobject (line 298) | bool json_parseobject(parser *p, void *out) { function json_parsearray (line 341) | bool json_parsearray(parser *p, void *out) { function json_parsevalue (line 374) | bool json_parsevalue(parser *p, void *out) { function json_parseelement (line 384) | bool json_parseelement(parser *p, void *out) { function json_initializeparser (line 417) | void json_initializeparser(parser *p, lexer *l, error *err, void *out) { function json_parse (line 434) | bool json_parse(char *in, error *err, value *out, varray_value *objects) { function json_valuetovarraychar (line 468) | bool json_valuetovarraychar(vm *v, value in, varray_char *out) { function json_tostring (line 544) | bool json_tostring(vm *v, value in, value *out) { function value (line 567) | value JSON_parse(vm *v, int nargs, value *args) { function value (line 587) | value JSON_tostring(vm *v, int nargs, value *args) { FILE: src/classes/list.c function objectlist_printfn (line 15) | void objectlist_printfn(object *obj, void *v) { function objectlist_freefn (line 19) | void objectlist_freefn(object *obj) { function objectlist_markfn (line 24) | void objectlist_markfn(object *obj, void *v) { function objectlist_sizefn (line 29) | size_t objectlist_sizefn(object *obj) { function objectlist (line 44) | objectlist *object_newlist(unsigned int nval, value *val) { function list_resize (line 63) | bool list_resize(objectlist *list, int size) { function list_append (line 68) | void list_append(objectlist *list, value v) { function list_length (line 73) | unsigned int list_length(objectlist *list) { function list_insert (line 83) | bool list_insert(objectlist *list, int indx, int nval, value *vals) { function list_remove (line 101) | bool list_remove(objectlist *list, value val) { function list_getelement (line 119) | bool list_getelement(objectlist *list, int i, value *out) { function list_sortfunction (line 127) | int list_sortfunction(const void *a, const void *b) { function list_sort (line 133) | void list_sort(objectlist *list) { function list_sortfunctionwfn (line 142) | int list_sortfunctionwfn(const void *a, const void *b) { function list_sortwithfn (line 156) | bool list_sortwithfn(vm *v, value fn, objectlist *list) { type listorderstruct (line 165) | typedef struct { function list_orderfunction (line 171) | int list_orderfunction(const void *a, const void *b) { function objectlist (line 176) | objectlist *list_order(objectlist *list) { function list_reverse (line 201) | void list_reverse(objectlist *list) { function list_ismember (line 212) | bool list_ismember(objectlist *list, value v) { function objectlist (line 220) | objectlist *list_clone(objectlist *list) { function objectlist (line 225) | objectlist *list_concatenate(objectlist *a, objectlist *b) { function objectlist (line 240) | objectlist *list_roll(objectlist *a, int nplaces) { function list_enumerableinitializer (line 263) | static bool list_enumerableinitializer(vm *v, indx i, value val, void *r... function list_sliceconstructor (line 270) | void list_sliceconstructor(unsigned int *slicesize, unsigned int ndim, v... function list_slicedim (line 277) | bool list_slicedim(value * a, unsigned int ndim){ function objectarrayerror (line 283) | objectarrayerror list_slicecopy(value * a,value * out, unsigned int ndim... function value (line 294) | value list_generatetuples(vm *v, objectlist *list, unsigned int n, tuple... function value (line 336) | value list_constructor(vm *v, int nargs, value *args) { function value (line 366) | value List_append(vm *v, int nargs, value *args) { function value (line 379) | value List_remove(vm *v, int nargs, value *args) { function value (line 390) | value List_insert(vm *v, int nargs, value *args) { function value (line 404) | value List_pop(vm *v, int nargs, value *args) { function value (line 430) | value List_getindex(vm *v, int nargs, value *args) { function value (line 455) | value List_setindex(vm *v, int nargs, value *args) { function value (line 470) | value List_print(vm *v, int nargs, value *args) { function value (line 487) | value List_tostring(vm *v, int nargs, value *args) { function value (line 511) | value List_enumerate(vm *v, int nargs, value *args) { function value (line 531) | value List_count(vm *v, int nargs, value *args) { function value (line 538) | value List_tuples(vm *v, int nargs, value *args) { function value (line 551) | value List_sets(vm *v, int nargs, value *args) { function value (line 565) | value List_clone(vm *v, int nargs, value *args) { function value (line 575) | value List_join(vm *v, int nargs, value *args) { function value (line 594) | value List_roll(vm *v, int nargs, value *args) { function value (line 616) | value XList_sort(vm *v, int nargs, value *args) { function value (line 631) | value List_sort(vm *v, int nargs, value *args) { function value (line 636) | value List_sort_fn(vm *v, int nargs, value *args) { function value (line 645) | value List_order(vm *v, int nargs, value *args) { function value (line 659) | value List_reverse(vm *v, int nargs, value *args) { function value (line 668) | value List_ismember(vm *v, int nargs, value *args) { function list_initialize (line 709) | void list_initialize(void) { FILE: src/classes/list.h type objectlist (line 19) | typedef struct { FILE: src/classes/metafunction.c function objectmetafunction_freefn (line 36) | void objectmetafunction_freefn(object *obj) { function objectmetafunction_markfn (line 43) | void objectmetafunction_markfn(object *obj, void *v) { function objectmetafunction_sizefn (line 53) | size_t objectmetafunction_sizefn(object *obj) { function objectmetafunction_printfn (line 58) | void objectmetafunction_printfn(object *obj, void *v) { function objectmetafunction (line 77) | objectmetafunction *object_newmetafunction(value name) { function objectmetafunction (line 92) | objectmetafunction *metafunction_clone(objectmetafunction *f) { function metafunction_wrap (line 103) | bool metafunction_wrap(value name, value fn, value *out) { function metafunction_add (line 116) | bool metafunction_add(objectmetafunction *f, value fn) { function metafunction_typefromvalue (line 121) | bool metafunction_typefromvalue(value v, value *out) { function metafunction_matchtype (line 135) | bool metafunction_matchtype(value type, value val) { function metafunction_setclass (line 146) | void metafunction_setclass(objectmetafunction *f, objectclass *klass) { function objectclass (line 151) | objectclass *metafunction_class(objectmetafunction *f) { function metafunction_matchfn (line 156) | bool metafunction_matchfn(objectmetafunction *fn, value f) { function metafunction_matchset (line 162) | bool metafunction_matchset(objectmetafunction *fn, int n, value *fns) { function signature (line 169) | signature *metafunction_getsignature(value fn) { function value (line 180) | value _getname(value fn) { type mfresult (line 208) | typedef struct { type mfset (line 214) | typedef struct { type mfcompiler (line 225) | typedef struct { function mfcompiler_init (line 232) | void mfcompiler_init(mfcompiler *c, objectmetafunction *fn) { function mfcompiler_clear (line 239) | void mfcompiler_clear(mfcompiler *c, objectmetafunction *fn) { function mfcompiler_error (line 245) | void mfcompiler_error(mfcompiler *c, errorid id) { function mfcompiler_pushcheck (line 250) | void mfcompiler_pushcheck(mfcompiler *c, int i) { function mfcompiler_popcheck (line 255) | int mfcompiler_popcheck(mfcompiler *c) { function mfcompiler_ischecked (line 261) | bool mfcompiler_ischecked(mfcompiler *c, int i) { function _mfcompiler_disassemblebranchtable (line 266) | void _mfcompiler_disassemblebranchtable(mfinstruction *instr, mfindx i) { function mfcompiler_disassemble (line 273) | void mfcompiler_disassemble(mfcompiler *c) { function mfcompile_countparams (line 349) | void mfcompile_countparams(mfcompiler *c, mfset *set, int *min, int *max) { function mfcompile_outcomes (line 362) | bool mfcompile_outcomes(mfcompiler *c, mfset *set, int i, dictionary *ou... function mfcompile_countoutcomes (line 372) | bool mfcompile_countoutcomes(mfcompiler *c, mfset *set, int *best) { function mfindx (line 402) | mfindx mfcompile_insertinstruction(mfcompiler *c, mfinstruction instr) { function mfindx (line 406) | mfindx mfcompile_currentinstruction(mfcompiler *c) { function mfindx (line 410) | mfindx mfcompile_nextinstruction(mfcompiler *c) { function mfcompile_setbranch (line 414) | void mfcompile_setbranch(mfcompiler *c, mfindx i, mfindx branch) { function mfcompile_replaceinstruction (line 419) | void mfcompile_replaceinstruction(mfcompiler *c, mfindx i, mfinstruction... function _detecttype (line 432) | int _detecttype(value type, int *tindx) { function mfindx (line 454) | mfindx mfcompile_fail(mfcompiler *c) { function mfindx (line 460) | mfindx mfcompile_check(mfcompiler *c, int i, value type) { function mfindx (line 472) | mfindx mfcompile_resolve(mfcompiler *c, mfresult *res) { function mfcompile_branchtable (line 498) | void mfcompile_branchtable(mfcompiler *c, mfset *set, mfindx bindx, varr... function _insertchildren (line 518) | void _insertchildren(dictionary *dict, value v) { function _resolve (line 527) | bool _resolve(objectclass *klass, dictionary *types, value *out) { function _maxindx (line 537) | int _maxindx(dictionary *dict) { function _mfresultsortfn (line 546) | int _mfresultsortfn (const void *a, const void *b) { function mfindx (line 557) | mfindx mfcompile_dispatchtable(mfcompiler *c, mfset *set, int i, int oty... function mfindx (line 610) | mfindx mfcompile_dispatchveneerobj(mfcompiler *c, mfset *set, int i) { function mfindx (line 615) | mfindx mfcompile_dispatchveneervalue(mfcompiler *c, mfset *set, int i) { function mfindx (line 620) | mfindx mfcompile_dispatchinstance(mfcompiler *c, mfset *set, int i) { function mfindx (line 625) | mfindx mfcompile_dispatchany(mfcompiler *c, mfset *set, int i) { function mfcompile_fixfallthrough (line 647) | void mfcompile_fixfallthrough(mfcompiler *c, mfindx i, mfindx branchto) { type mfindx (line 652) | typedef mfindx (mfcompile_dispatchfn) (mfcompiler *c, mfset *set, int i); function mfindx (line 655) | mfindx mfcompile_dispatchonparam(mfcompiler *c, mfset *set, int i) { function mfindx (line 693) | mfindx mfcompile_checknarg(mfcompiler *c, mfresult *res) { function mfindx (line 703) | mfindx mfcompile_dispatchonnarg(mfcompiler *c, mfset *set, int min, int ... function mfindx (line 750) | mfindx mfcompile_set(mfcompiler *c, mfset *set) { function metafunction_clearinstructions (line 772) | void metafunction_clearinstructions(objectmetafunction *fn) { function metafunction_compile (line 781) | bool metafunction_compile(objectmetafunction *fn, error *err) { function _finduidinlinearization (line 808) | bool _finduidinlinearization(objectclass *klass, int uid) { function metafunction_resolve (line 822) | bool metafunction_resolve(objectmetafunction *fn, int nargs, value *args... function value (line 906) | value metafunction_constructor(vm *v, int nargs, value *args) { function value (line 933) | value Metafunction_count(vm *v, int nargs, value *args) { function MORPHO_METHOD (line 939) | MORPHO_BEGINCLASS(Metafunction) FILE: src/classes/metafunction.h type mfindx (line 20) | typedef int mfindx; type mfinstruction (line 23) | typedef struct { type objectmetafunction (line 37) | typedef struct sobjectmetafunction { FILE: src/classes/range.c function objectrange_printfn (line 17) | void objectrange_printfn(object *obj, void *v) { function objectrange_sizefn (line 28) | size_t objectrange_sizefn(object *obj) { function _range_count (line 42) | bool _range_count(objectrange *range) { function objectrange (line 77) | objectrange *object_newrange(value start, value end, value step, bool in... function range_count (line 108) | int range_count(objectrange *range) { function value (line 113) | value range_iterate(objectrange *range, unsigned int i) { function value (line 127) | static value _rangeconstructor(vm *v, int nargs, value *args, bool inclu... function value (line 145) | value range_constructor(vm *v, int nargs, value *args) { function value (line 149) | value range_inclusiveconstructor(vm *v, int nargs, value *args) { function value (line 154) | value range_invldconstructor(vm *v, int nargs, value *args) { function value (line 160) | value Range_getindex(vm *v, int nargs, value *args) { function value (line 174) | value Range_enumerate(vm *v, int nargs, value *args) { function value (line 189) | value Range_count(vm *v, int nargs, value *args) { function value (line 196) | value Range_clone(vm *v, int nargs, value *args) { function range_initialize (line 224) | void range_initialize(void) { FILE: src/classes/range.h type objectrange (line 19) | typedef struct { FILE: src/classes/strng.c function objectstring_printfn (line 19) | void objectstring_printfn(object *obj, void *v) { function objectstring_sizefn (line 23) | size_t objectstring_sizefn(object *obj) { function hash (line 27) | hash objectstring_hashfn(object *obj) { function objectstring_cmpfn (line 32) | int objectstring_cmpfn(object *a, object *b) { function value (line 53) | value object_stringfromcstring(const char *in, size_t length) { function objectstring (line 74) | objectstring *object_stringwithsize(size_t length) { function value (line 90) | value object_stringfromvarraychar(varray_char *in) { function value (line 96) | value object_clonestring(value val) { function value (line 109) | value object_concatenatestring(value a, value b) { function string_tonumber (line 134) | bool string_tonumber(objectstring *string, value *out) { function string_countchars (line 168) | int string_countchars(objectstring *s) { function value (line 193) | value string_constructor(vm *v, int nargs, value *args) { function value (line 200) | value String_count(vm *v, int nargs, value *args) { function value (line 207) | value String_print(vm *v, int nargs, value *args) { function value (line 214) | value String_clone(vm *v, int nargs, value *args) { function value (line 223) | value String_enumerate(vm *v, int nargs, value *args) { function value (line 245) | value String_isnumber(vm *v, int nargs, value *args) { function value (line 255) | value String_split(vm *v, int nargs, value *args) { function string_initialize (line 308) | void string_initialize(void) { FILE: src/classes/strng.h type objectstring (line 21) | typedef struct { FILE: src/classes/system.c function morpho_setargs (line 22) | void morpho_setargs(int argc, const char * argv[]) { function system_freeargs (line 32) | void system_freeargs(void) { function value (line 49) | value System_platform(vm *v, int nargs, value *args) { function value (line 62) | value System_version(vm *v, int nargs, value *args) { function value (line 70) | value System_clock(vm *v, int nargs, value *args) { function value (line 75) | value System_print(vm *v, int nargs, value *args) { function value (line 81) | value System_sleep(vm *v, int nargs, value *args) { function value (line 93) | value System_readline(vm *v, int nargs, value *args) { function value (line 109) | value System_arguments(vm *v, int nargs, value *args) { function value (line 114) | value System_exit(vm *v, int nargs, value *args) { function value (line 120) | value System_setworkingfolder(vm *v, int nargs, value *args) { function value (line 132) | value System_workingfolder(vm *v, int nargs, value *args) { function value (line 149) | value System_homefolder(vm *v, int nargs, value *args) { function system_finalize (line 200) | void system_finalize(void) { FILE: src/classes/tuple.c function objecttuple_printfn (line 15) | void objecttuple_printfn(object *obj, void *v) { function objecttuple_markfn (line 25) | void objecttuple_markfn(object *obj, void *v) { function objecttuple_sizefn (line 30) | size_t objecttuple_sizefn(object *obj) { function hash (line 34) | hash objecttuple_hashfn(object *obj) { function objecttuple_cmpfn (line 39) | int objecttuple_cmpfn(object *a, object *b) { function objecttuple (line 66) | objecttuple *object_newtuple(unsigned int length, value *in) { function tuple_length (line 83) | unsigned int tuple_length(objecttuple *tuple) { function tuple_getelement (line 88) | bool tuple_getelement(objecttuple *tuple, int i, value *out) { function tuple_ismember (line 96) | bool tuple_ismember(objecttuple *tuple, value v) { function objecttuple (line 104) | objecttuple *tuple_concatenate(objecttuple *a, objecttuple *b) { function tuple_sliceconstructor (line 122) | void tuple_sliceconstructor(unsigned int *slicesize, unsigned int ndim, ... function tuple_slicedim (line 128) | bool tuple_slicedim(value *a, unsigned int ndim){ function objectarrayerror (line 134) | objectarrayerror tuple_slicecopy(value *a,value *out, unsigned int ndim,... function errorid (line 145) | errorid array_to_tuple_error(objectarrayerror err) { function value (line 162) | value tuple_constructor(vm *v, int nargs, value *args) { function value (line 173) | value Tuple_count(vm *v, int nargs, value *args) { function value (line 180) | value Tuple_clone(vm *v, int nargs, value *args) { function value (line 194) | value Tuple_getindex(vm *v, int nargs, value *args) { function value (line 216) | value Tuple_setindex(vm *v, int nargs, value *args) { function value (line 222) | value Tuple_enumerate(vm *v, int nargs, value *args) { function value (line 242) | value Tuple_join(vm *v, int nargs, value *args) { function value (line 261) | value Tuple_ismember(vm *v, int nargs, value *args) { function tuple_initialize (line 289) | void tuple_initialize(void) { FILE: src/classes/tuple.h type objecttuple (line 20) | typedef struct { FILE: src/classes/upvalue.c function objectupvalue_printfn (line 15) | void objectupvalue_printfn(object *obj, void *v) { function objectupvalue_markfn (line 19) | void objectupvalue_markfn(object *obj, void *v) { function objectupvalue_sizefn (line 23) | size_t objectupvalue_sizefn(object *obj) { function object_upvalueinit (line 38) | void object_upvalueinit(objectupvalue *c) { function objectupvalue (line 50) | objectupvalue *object_newupvalue(value *reg) { function upvalue_initialize (line 70) | void upvalue_initialize(void) { FILE: src/classes/upvalue.h type upvalue (line 19) | typedef struct { type objectupvalue (line 36) | typedef struct sobjectupvalue { FILE: src/core/compile.c function compiler_haserror (line 32) | static bool compiler_haserror(compiler *c) { function compiler_error (line 41) | static void compiler_error(compiler *c, syntaxtreenode *node, errorid id... function compiler_checkerror (line 55) | static bool compiler_checkerror(compiler *c) { function compiler_catch (line 64) | static bool compiler_catch(compiler *c, errorid id) { function syntaxtreenode (line 73) | static inline syntaxtreenode *compiler_getnode(compiler *c, syntaxtreein... function syntaxtree (line 79) | static inline syntaxtree *compiler_getsyntaxtree(compiler *c) { function instructionindx (line 84) | static instructionindx compiler_addinstruction(compiler *c, instruction ... function instructionindx (line 90) | static instructionindx compiler_currentinstructionindex(compiler *c) { function compiler_setinstruction (line 95) | static void compiler_setinstruction(compiler *c, instructionindx indx, ... function compiler_functionstateinit (line 107) | static void compiler_functionstateinit(functionstate *state) { function compiler_functionstateclear (line 122) | static void compiler_functionstateclear(functionstate *state) { function compiler_fstackinit (line 134) | void compiler_fstackinit(compiler *c) { function compiler_fstackclear (line 142) | void compiler_fstackclear(compiler *c) { function functionstate (line 150) | static inline functionstate *compiler_currentfunctionstate(compiler *c) { function functionstate (line 155) | static inline functionstate *compiler_parentfunctionstate(compiler *c) { function compiler_ininitializer (line 161) | static inline bool compiler_ininitializer(compiler *c) { function compiler_beginfunction (line 172) | void compiler_beginfunction(compiler *c, objectfunction *func, functiont... function compiler_setfunctionregistercount (line 181) | void compiler_setfunctionregistercount(compiler *c) { function compiler_endfunction (line 187) | void compiler_endfunction(compiler *c) { function objectfunction (line 197) | objectfunction *compiler_getcurrentfunction(compiler *c) { function varray_value (line 202) | varray_value *compiler_getcurrentconstanttable(compiler *c) { function value (line 212) | value compiler_getconstant(compiler *c, unsigned int i) { function objectfunction (line 220) | objectfunction *compiler_getpreviousfunction(compiler *c) { function compiler_beginargs (line 235) | static inline void compiler_beginargs(compiler *c) { function compiler_endargs (line 243) | static inline void compiler_endargs(compiler *c) { function compiler_inargs (line 249) | static inline bool compiler_inargs(compiler *c) { function compiler_beginclass (line 258) | static inline void compiler_beginclass(compiler *c, objectclass *klass) { function compiler_endclass (line 266) | static inline void compiler_endclass(compiler *c) { function objectclass (line 275) | static objectclass *compiler_getcurrentclass(compiler *c) { function compiler_addclass (line 280) | void compiler_addclass(compiler *c, objectclass *klass) { function objectclass (line 287) | objectclass *compiler_findclass(compiler *c, value name) { function compiler_addparent (line 298) | void compiler_addparent(compiler *c, objectclass *klass, objectclass *pa... function compiler_findtype (line 308) | bool compiler_findtype(compiler *c, value label, value *out) { function compiler_findtypefromcstring (line 322) | bool compiler_findtypefromcstring(compiler *c, char *label, value *out) { function compiler_typefromvalue (line 328) | bool compiler_typefromvalue(compiler *c, value v, value *out) { function compiler_findtypeinparent (line 333) | bool compiler_findtypeinparent(compiler *c, objectclass *type, value mat... function compiler_checktype (line 342) | bool compiler_checktype(compiler *c, value type, value match) { function compiler_getconstanttype (line 353) | bool compiler_getconstanttype(compiler *c, unsigned int i, value *type) { function compiler_setmodule (line 363) | static void compiler_setmodule(compiler *c, value module) { function value (line 368) | static value compiler_getmodule(compiler *c) { function compiler_fixloop (line 392) | static void compiler_fixloop(compiler *c, instructionindx start, instruc... function compiler_beginloop (line 406) | static void compiler_beginloop(compiler *c) { function compiler_endloop (line 412) | static void compiler_endloop(compiler *c) { function compiler_inloop (line 418) | static bool compiler_inloop(compiler *c) { function registerindx (line 428) | static registerindx compiler_regallocwithstate(compiler *c, functionstat... function registerindx (line 464) | static registerindx compiler_regalloc(compiler *c, value symbol) { function compiler_regsetsymbol (line 471) | static void compiler_regsetsymbol(compiler *c, registerindx reg, value s... function registerindx (line 480) | static registerindx compiler_regalloctop(compiler *c) { function registerindx (line 504) | static registerindx compiler_regtemp(compiler *c, registerindx reqreg) { function registerindx (line 509) | static registerindx compiler_regtempwithindx(compiler *c, registerindx r... function compiler_regfree (line 527) | static void compiler_regfree(compiler *c, functionstate *f, registerindx... function compiler_regfreetemp (line 542) | static void compiler_regfreetemp(compiler *c, registerindx reg) { function compiler_regfreetoend (line 553) | static void compiler_regfreetoend(compiler *c, registerindx reg) { function compiler_releaseoperand (line 562) | static void compiler_releaseoperand(compiler *c, codeinfo info) { function compiler_regfreeatscope (line 569) | static void compiler_regfreeatscope(compiler *c, unsigned int scopedepth) { function compiler_regsettype (line 580) | void compiler_regsettype(compiler *c, registerindx reg, value type) { function compiler_regtype (line 587) | bool compiler_regtype(compiler *c, registerindx reg, value *type) { function compiler_typeviolation (line 595) | void compiler_typeviolation(compiler *c, syntaxtreenode *node, value typ... function compiler_regsetcurrenttype (line 607) | bool compiler_regsetcurrenttype(compiler *c, syntaxtreenode *node, regis... function compiler_regcurrenttype (line 622) | bool compiler_regcurrenttype(compiler *c, registerindx reg, value *type) { function registerindx (line 631) | static registerindx compiler_findsymbol(functionstate *f, value symbol) { function registerindx (line 645) | static registerindx compiler_findsymbolwithscope(functionstate *f, value... function registerindx (line 660) | static registerindx compiler_regtop(compiler *c) { function compiler_isregtemp (line 670) | static bool compiler_isregtemp(compiler *c, registerindx indx) { function compiler_isregalloc (line 678) | static bool compiler_isregalloc(compiler *c, registerindx indx) { function compiler_regsetoptionalarg (line 685) | void compiler_regsetoptionalarg(compiler *c, registerindx reg) { function compiler_isregoptionalarg (line 692) | static bool compiler_isregoptionalarg(compiler *c, registerindx indx) { function compiler_regcountargs (line 699) | void compiler_regcountargs(compiler *c, registerindx start, registerindx... function compiler_getregscope (line 718) | static bool compiler_getregscope(compiler *c, registerindx indx, unsigne... function compiler_iscodeinfotop (line 735) | static bool compiler_iscodeinfotop(compiler *c, codeinfo func) { function compiler_regshow (line 742) | static void compiler_regshow(compiler *c) { function compiler_beginscope (line 782) | void compiler_beginscope(compiler *c) { function compiler_endscope (line 790) | void compiler_endscope(compiler *c) { function compiler_currentscope (line 798) | unsigned int compiler_currentscope(compiler *c) { function registerindx (line 814) | static registerindx compiler_addconstant(compiler *c, syntaxtreenode *no... function registerindx (line 866) | static registerindx compiler_addsymbol(compiler *c, syntaxtreenode *node... function codeinfo (line 879) | codeinfo compiler_findbuiltin(compiler *c, syntaxtreenode *node, char *n... function registerindx (line 912) | static registerindx compiler_addlocal(compiler *c, syntaxtreenode *node,... function registerindx (line 933) | static registerindx compiler_getlocal(compiler *c, value symbol) { function codeinfo (line 959) | static codeinfo compiler_movetoregister(compiler *c, syntaxtreenode *nod... function codeinfo (line 1009) | codeinfo compiler_addsymbolwithsizecheck(compiler *c, syntaxtreenode *no... function registerindx (line 1023) | static inline registerindx compiler_addpositionalarg(compiler *c, syntax... function compiler_addoptionalarg (line 1038) | static inline void compiler_addoptionalarg(compiler *c, syntaxtreenode *... function compiler_addvariadicarg (line 1055) | static inline void compiler_addvariadicarg(compiler *c, syntaxtreenode *... function compiler_checkglobal (line 1076) | bool compiler_checkglobal(compiler *c) { function globalindx (line 1081) | globalindx compiler_findglobal(compiler *c, value symbol, bool recurse) { function globalindx (line 1095) | globalindx compiler_addglobal(compiler *c, syntaxtreenode *node, value s... function compiler_setglobaltype (line 1111) | void compiler_setglobaltype(compiler *c, globalindx indx, value type) { function compiler_checkglobaltype (line 1116) | bool compiler_checkglobaltype(compiler *c, syntaxtreenode *node, globali... function compiler_globalshow (line 1132) | void compiler_globalshow(compiler *c) { function codeinfo (line 1150) | codeinfo compiler_movetoglobal(compiler *c, syntaxtreenode *node, codein... function codeinfo (line 1175) | codeinfo compiler_addvariable(compiler *c, syntaxtreenode *node, value s... function registerindx (line 1194) | registerindx compiler_addupvalue(functionstate *f, bool islocal, indx ix) { function registerindx (line 1216) | registerindx compiler_propagateupvalues(compiler *c, functionstate *star... function registerindx (line 1228) | static registerindx compiler_resolveupvalue(compiler *c, value symbol) { function codeinfo (line 1250) | static codeinfo compiler_movetoupvalue(compiler *c, syntaxtreenode *node... function indx (line 1272) | indx compiler_closure(compiler *c, syntaxtreenode *node, registerindx re... function compiler_addfunctionref (line 1290) | int compiler_addfunctionref(compiler *c, objectfunction *func) { function compiler_functionreffreeatscope (line 1297) | void compiler_functionreffreeatscope(compiler *c, unsigned int scope) { function _addmatchingfunctionref (line 1303) | void _addmatchingfunctionref(compiler *c, value symbol, value fn, value ... function compiler_findmetafunction (line 1322) | bool compiler_findmetafunction(compiler *c, value symbol, int n, value *... function _findclosure (line 1339) | void _findclosure(compiler *c, objectfunction *closure, codeinfo *out) { function codeinfo (line 1361) | codeinfo compiler_metafunction(compiler *c, syntaxtreenode *node, int n,... function _checkduplicateref (line 1387) | static bool _checkduplicateref(varray_functionref *refs, functionref *ma... function _findfunctionref (line 1400) | static void _findfunctionref(compiler *c, value symbol, bool *hasclosure... function compiler_resolvefunctionref (line 1429) | bool compiler_resolvefunctionref(compiler *c, syntaxtreenode *node, valu... function codeinfo (line 1472) | codeinfo compiler_movefromregister(compiler *c, syntaxtreenode *node, co... function registerindx (line 1495) | static registerindx compiler_resolveself(compiler *c) { function codeinfo (line 1522) | static codeinfo compiler_addforwardreference(compiler *c, syntaxtreenode... function compiler_resolveforwardreference (line 1548) | static bool compiler_resolveforwardreference(compiler *c, value symbol, ... function compiler_checkoutstandingforwardreference (line 1567) | bool compiler_checkoutstandingforwardreference(compiler *c) { function namespc (line 1585) | namespc *compiler_addnamespace(compiler *c, value symbol) { function namespc (line 1601) | namespc *compiler_isnamespace(compiler *c, value label) { function compiler_findsymbolwithnamespace (line 1609) | bool compiler_findsymbolwithnamespace(compiler *c, syntaxtreenode *node,... function compiler_findclasswithnamespace (line 1624) | bool compiler_findclasswithnamespace(compiler *c, syntaxtreenode *node, ... function compiler_clearnamespacelist (line 1639) | void compiler_clearnamespacelist(compiler *c) { function compilenoderule (line 1785) | static compilenoderule *compiler_getrule(syntaxtreenodetype type) { function codeinfo (line 1790) | static codeinfo compiler_constant(compiler *c, syntaxtreenode *node, reg... function codeinfo (line 1796) | static codeinfo compiler_list(compiler *c, syntaxtreenode *node, registe... function codeinfo (line 1841) | static codeinfo compiler_dictionary(compiler *c, syntaxtreenode *node, r... function codeinfo (line 1887) | static codeinfo compiler_range(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 1940) | codeinfo compiler_compileindexlist(compiler *c, syntaxtreenode *indxnode... function codeinfo (line 1962) | static codeinfo compiler_index(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 2002) | static codeinfo compiler_negate(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 2037) | static codeinfo compiler_not(compiler *c, syntaxtreenode *node, register... function codeinfo (line 2056) | static codeinfo compiler_binary(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 2132) | static codeinfo compiler_ternary(compiler *c, syntaxtreenode *node, regi... function codeinfo (line 2188) | static codeinfo compiler_grouping(compiler *c, syntaxtreenode *node, reg... function codeinfo (line 2198) | static codeinfo compiler_sequence(compiler *c, syntaxtreenode *node, reg... function codeinfo (line 2215) | static codeinfo compiler_interpolation(compiler *c, syntaxtreenode *node... function codeinfo (line 2259) | static codeinfo compiler_closeupvaluesforscope(compiler *c, syntaxtreeno... function codeinfo (line 2283) | static codeinfo compiler_scope(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 2297) | static codeinfo compiler_print(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 2341) | static codeinfo compiler_if(compiler *c, syntaxtreenode *node, registeri... function codeinfo (line 2432) | static codeinfo compiler_while(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 2540) | static codeinfo compiler_for(compiler *c, syntaxtreenode *node, register... function codeinfo (line 2682) | static codeinfo compiler_do(compiler *c, syntaxtreenode *node, registeri... function codeinfo (line 2731) | static codeinfo compiler_break(compiler *c, syntaxtreenode *node, regist... function compiler_fixcatch (line 2747) | static void compiler_fixcatch(compiler *c, instructionindx start, instru... function codeinfo (line 2758) | static codeinfo compiler_try(compiler *c, syntaxtreenode *node, register... function codeinfo (line 2846) | static codeinfo compiler_logical(compiler *c, syntaxtreenode *node, regi... function codeinfo (line 2886) | static codeinfo compiler_declaration(compiler *c, syntaxtreenode *node, ... function registerindx (line 2998) | static registerindx compiler_functionparameters(compiler *c, syntaxtreei... function codeinfo (line 3076) | static codeinfo compiler_function(compiler *c, syntaxtreenode *node, reg... function codeinfo (line 3208) | static codeinfo compiler_arglist(compiler *c, syntaxtreenode *node, regi... function _islocalfunction (line 3269) | bool _islocalfunction(compiler *c, value symbol) { function compiler_isinvocation (line 3284) | static bool compiler_isinvocation(compiler *c, syntaxtreenode *call) { function codeinfo (line 3313) | static codeinfo compiler_call(compiler *c, syntaxtreenode *node, registe... function codeinfo (line 3405) | static codeinfo compiler_invoke(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 3502) | static codeinfo compiler_return(compiler *c, syntaxtreenode *node, regis... function compiler_overridemethod (line 3538) | void compiler_overridemethod(compiler *c, syntaxtreenode *node, objectfu... function codeinfo (line 3591) | static codeinfo compiler_classbody(compiler *c, syntaxtreeindx startindx... function codeinfo (line 3649) | static codeinfo compiler_class(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 3766) | static codeinfo compiler_self(compiler *c, syntaxtreenode *node, registe... function codeinfo (line 3790) | static codeinfo compiler_super(compiler *c, syntaxtreenode *node, regist... function codeinfo (line 3810) | static codeinfo compiler_symbol(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 3870) | static codeinfo compiler_assign(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 3995) | static codeinfo compiler_property(compiler *c, syntaxtreenode *node, reg... function codeinfo (line 4029) | static codeinfo compiler_dot(compiler *c, syntaxtreenode *node, register... function codeinfo (line 4055) | static codeinfo compiler_movetoproperty(compiler *c, syntaxtreenode *nod... function codeinfo (line 4095) | static codeinfo compiler_nodetobytecode(compiler *c, syntaxtreeindx indx... function compiler_tobytecode (line 4126) | static bool compiler_tobytecode(compiler *c, program *out) { function compiler_stripend (line 4146) | void compiler_stripend(compiler *c) { function compiler_copysymbols (line 4160) | void compiler_copysymbols(dictionary *src, dictionary *dest, dictionary ... function compiler_copyfunctionref (line 4175) | void compiler_copyfunctionref(compiler *src, compiler *dest, dictionary ... function compiler_copyfunctionreftonamespace (line 4190) | void compiler_copyfunctionreftonamespace(compiler *src, namespc *dest, d... function compiler_findmodule (line 4214) | bool compiler_findmodule(char *name, varray_char *fname) { function codeinfo (line 4231) | static codeinfo compiler_import(compiler *c, syntaxtreenode *node, regis... function codeinfo (line 4367) | static codeinfo compiler_breakpoint(compiler *c, syntaxtreenode *node, r... function compiler_init (line 4389) | void compiler_init(const char *source, program *out, compiler *c) { function compiler_clear (line 4411) | void compiler_clear(compiler *c) { function morpho_compile (line 4434) | bool morpho_compile(char *in, compiler *c, bool opt, error *err) { function compiler (line 4484) | compiler *morpho_newcompiler(program *out) { function morpho_freecompiler (line 4493) | void morpho_freecompiler(compiler *c) { function morpho_setbaseclass (line 4502) | void morpho_setbaseclass(value klss) { function morpho_setoptimizer (line 4506) | void morpho_setoptimizer(optimizerfn *opt) { function compile_initialize (line 4511) | void compile_initialize(void) { function compile_finalize (line 4560) | void compile_finalize(void) { FILE: src/core/compile.h type registerindx (line 142) | typedef int registerindx; type registeralloc (line 149) | typedef struct { type returntype (line 167) | typedef enum { type codeinfo (line 176) | typedef struct { type forwardreference (line 195) | typedef struct { type functionref (line 209) | typedef struct { type functiontype (line 223) | typedef enum { type functionstate (line 234) | typedef struct { type compilerlist (line 255) | typedef struct scompilerlist { type namespc (line 264) | typedef struct _namespc { type compiler (line 277) | typedef struct scompiler { type codeinfo (line 328) | typedef codeinfo (*compiler_nodefn) (compiler *c, syntaxtreenode *node, ... type compilenoderule (line 332) | typedef struct { FILE: src/core/core.h type vm (line 13) | typedef struct svm vm; type callframe (line 112) | typedef struct { type errorhandler (line 130) | typedef struct { type debugger (line 139) | typedef struct { type profiler (line 160) | typedef struct { type graylist (line 176) | typedef struct { type svm (line 189) | struct svm { FILE: src/core/gc.c function vm_graylistinit (line 24) | void vm_graylistinit(graylist *g) { function vm_graylistclear (line 31) | void vm_graylistclear(graylist *g) { function vm_graylistadd (line 37) | void vm_graylistadd(graylist *g, object *obj) { function vm_gcrecalculatesize (line 55) | size_t vm_gcrecalculatesize(vm *v) { function vm_gcmarkobject (line 64) | void vm_gcmarkobject(vm *v, object *obj) { function vm_gcmarkvalue (line 78) | void vm_gcmarkvalue(vm *v, value val) { function vm_gcmarkdictionary (line 85) | void vm_gcmarkdictionary(vm *v, dictionary *dict) { function vm_gcmarkarray (line 95) | void vm_gcmarkarray(vm *v, varray_value *array) { function morpho_markobject (line 102) | void morpho_markobject(void *v, object *obj) { function morpho_markvalue (line 106) | void morpho_markvalue(void *v, value val) { function morpho_markdictionary (line 110) | void morpho_markdictionary(void *v, dictionary *dict) { function morpho_markvarrayvalue (line 114) | void morpho_markvarrayvalue(void *v, varray_value *array) { function vm_gcmarkroots (line 119) | void vm_gcmarkroots(vm *v) { function vm_gcmarkretainobject (line 179) | void vm_gcmarkretainobject(vm *v, object *obj) { function morpho_searchunmanagedobject (line 190) | void morpho_searchunmanagedobject(void *v, object *obj) { function vm_gctrace (line 195) | void vm_gctrace(vm *v) { function vm_gcsweep (line 204) | void vm_gcsweep(vm *v) { function vm_collectgarbage (line 244) | void vm_collectgarbage(vm *v) { FILE: src/core/vm.c function vm_init (line 48) | static void vm_init(vm *v) { function vm_clear (line 87) | static void vm_clear(vm *v) { function vm_start (line 107) | bool vm_start(vm *v, program *p) { function vm_freeobjects (line 139) | void vm_freeobjects(vm *v) { function vm_unbindobject (line 163) | void vm_unbindobject(vm *v, value obj) { function vm_bindobject (line 184) | static void vm_bindobject(vm *v, value obj) { function vm_bindobjectwithoutcollect (line 208) | static void vm_bindobjectwithoutcollect(vm *v, value obj) { function vm_runtimeerror (line 229) | void vm_runtimeerror(vm *v, ptrdiff_t iindx, errorid id, ...) { function vm_throwOpError (line 246) | void vm_throwOpError(vm *v, ptrdiff_t iindx, errorid id, char* op, value... function objectupvalue (line 275) | static inline objectupvalue *vm_captureupvalue(vm *v, value *reg) { function vm_closeupvalues (line 308) | static inline void vm_closeupvalues(vm *v, value *reg) { function vm_shouldbreakatpc (line 320) | bool vm_shouldbreakatpc(vm *v, instruction *pc) { function instructionindx (line 329) | instructionindx vm_previnstruction(vm *v) { function instructionindx (line 335) | instructionindx vm_currentinstruction(vm *v) { function debugger (line 340) | debugger *vm_getdebugger(vm *v) { function vm_expandstack (line 348) | static inline void vm_expandstack(vm *v, value **reg, unsigned int n) { function vm_optargs (line 386) | bool vm_optargs(vm *v, ptrdiff_t iindx, objectfunction *func, unsigned i... function vm_vargs (line 421) | static inline bool vm_vargs(vm *v, ptrdiff_t iindx, objectfunction *func... function vm_call (line 464) | static inline bool vm_call(vm *v, value fn, unsigned int regcall, unsign... function vm_invoke (line 554) | static inline bool vm_invoke(vm *v, value obj, value method, int nargs, ... function vm_getoptionalargs (line 588) | int vm_getoptionalargs(vm *v) { function morpho_interpret (line 597) | bool morpho_interpret(vm *v, value *rstart, instructionindx istart) { function vm (line 1599) | vm *morpho_newvm(void) { function morpho_freevm (line 1608) | void morpho_freevm(vm *v) { function morpho_setinputfn (line 1614) | void morpho_setinputfn(vm *v, morphoinputfn inputfn, void *ref) { function morpho_setprintfn (line 1620) | void morpho_setprintfn(vm *v, morphoprintfn printfn, void *ref) { function morpho_setwarningfn (line 1626) | void morpho_setwarningfn(vm *v, morphowarningfn warningfn, void *ref) { function morpho_setdebuggerfn (line 1632) | void morpho_setdebuggerfn(vm *v, morphodebuggerfn debuggerfn, void *ref) { function error (line 1638) | error *morpho_geterror(vm *v) { function morpho_error (line 1645) | void morpho_error(vm *v, error *err) { function morpho_warning (line 1652) | void morpho_warning(vm *v, error *err) { function morpho_runtimeerror (line 1664) | void morpho_runtimeerror(vm *v, errorid id, ...) { function morpho_runtimewarning (line 1678) | void morpho_runtimewarning(vm *v, errorid id, ...) { function morpho_bindobjects (line 1695) | void morpho_bindobjects(vm *v, int nobj, value *obj) { function value (line 1728) | value morpho_wrapandbind(vm *v, object *obj) { function morpho_retainobjects (line 1742) | int morpho_retainobjects(vm *v, int nobj, value *obj) { function morpho_releaseobjects (line 1751) | void morpho_releaseobjects(vm *v, int handle) { function morpho_resizeobject (line 1761) | void morpho_resizeobject(vm *v, object *obj, size_t oldsize, size_t news... function morpho_ismanagedobject (line 1775) | bool morpho_ismanagedobject(object *obj) { function morpho_run (line 1783) | bool morpho_run(vm *v, program *p) { function morpho_call (line 1817) | bool morpho_call(vm *v, value f, int nargs, value *args, value *ret) { function objectclass (line 1901) | objectclass *morpho_lookupclass(value v) { function morpho_lookupmethod (line 1911) | bool morpho_lookupmethod(value obj, value label, value *method) { function morpho_invoke (line 1926) | bool morpho_invoke(vm *v, value obj, value method, int nargs, value *arg... function morpho_printf (line 1940) | int morpho_printf(vm *v, char *format, ...) { function morpho_readline (line 1969) | int morpho_readline(vm *v, varray_char *buffer) { function vm_subkernels (line 1990) | bool vm_subkernels(vm *v, int nkernels, vm **subkernels) { function vm_releasesubkernel (line 2019) | void vm_releasesubkernel(vm *subkernel) { function vm_cleansubkernel (line 2053) | void vm_cleansubkernel(vm *subkernel) { function vm_addtlvar (line 2070) | int vm_addtlvar(void) { function vm_inittlvars (line 2077) | bool vm_inittlvars(vm *v) { function vm_settlvar (line 2087) | bool vm_settlvar(vm *v, int handle, value val) { function vm_gettlvar (line 2098) | bool vm_gettlvar(vm *v, int handle, value *out) { function morpho_addfinalizefn (line 2114) | void morpho_addfinalizefn(morpho_finalizefn finalizefn) { function morpho_initialize (line 2123) | void morpho_initialize(void) { function morpho_finalize (line 2200) | void morpho_finalize(void) { FILE: src/datastructures/debugannotation.c function debugannotation (line 16) | debugannotation *debugannotation_last(varray_debugannotation *list) { function debugannotation_add (line 22) | void debugannotation_add(varray_debugannotation *list, debugannotation *... function debugannotation_stripend (line 27) | void debugannotation_stripend(varray_debugannotation *list) { function debugannotation_setfunction (line 32) | void debugannotation_setfunction(varray_debugannotation *list, objectfun... function debugannotation_setclass (line 38) | void debugannotation_setclass(varray_debugannotation *list, objectclass ... function debugannotation_setmodule (line 44) | void debugannotation_setmodule(varray_debugannotation *list, value modul... function debugannotation_setreg (line 50) | void debugannotation_setreg(varray_debugannotation *list, indx reg, valu... function debugannotation_setglobal (line 58) | void debugannotation_setglobal(varray_debugannotation *list, indx gindx,... function debugannotation_pusherr (line 66) | void debugannotation_pusherr(varray_debugannotation *list, objectdiction... function debugannotation_poperr (line 72) | void debugannotation_poperr(varray_debugannotation *list) { function debugannotation_addnode (line 78) | void debugannotation_addnode(varray_debugannotation *list, syntaxtreenod... function debugannotation_clear (line 92) | void debugannotation_clear(varray_debugannotation *list) { function debugannotation_showannotations (line 114) | void debugannotation_showannotations(varray_debugannotation *list) { FILE: src/datastructures/debugannotation.h type debugannotation (line 19) | typedef struct { FILE: src/datastructures/dictionary.c function hash (line 77) | hash dictionary_hashint( uint32_t a) { function hash (line 89) | hash dictionary_hashint(uint32_t hash) { function hash (line 94) | hash dictionary_hashpointer(void *hash) { function hash (line 106) | hash dictionary_hashcstring(const char* key, size_t length) { function hash (line 118) | hash dictionary_hashvaluelist(size_t length, value *key) { function hash (line 137) | hash dictionary_hash(value key, bool intern) { function hash (line 149) | hash dictionary_hashvalue(value key) { function dictionary_init (line 155) | void dictionary_init(dictionary *dict) { function dictionary_clear (line 164) | void dictionary_clear(dictionary *dict) { function dictionary_freecontents (line 173) | void dictionary_freecontents(dictionary *dict, bool freekeys, bool freev... function dictionary_resize (line 190) | bool dictionary_resize(dictionary *dict, unsigned int size) { function dictionary_find (line 235) | static bool dictionary_find(dictionary *dict, value key, bool intern, di... function _dictionary_insert (line 292) | static inline bool _dictionary_insert(dictionary *dict, value key, value... function dictionary_insert (line 330) | bool dictionary_insert(dictionary *dict, value key, value val) { function dictionary_insertintern (line 341) | bool dictionary_insertintern(dictionary *dict, value key, value val) { function value (line 352) | value dictionary_intern(dictionary *dict, value key) { function _dictionary_get (line 377) | static inline bool _dictionary_get(dictionary *dict, value key, bool int... function dictionary_get (line 394) | bool dictionary_get(dictionary *dict, value key, value *val) { function dictionary_getintern (line 405) | bool dictionary_getintern(dictionary *dict, value key, value *val) { function dictionary_remove (line 414) | bool dictionary_remove(dictionary *dict, value key) { function dictionary_copy (line 436) | bool dictionary_copy(dictionary *src, dictionary *dest) { function dictionary_union (line 457) | bool dictionary_union(dictionary *a, dictionary *b, dictionary *out) { function dictionary_intersection (line 469) | bool dictionary_intersection(dictionary *a, dictionary *b, dictionary *o... function dictionary_difference (line 490) | bool dictionary_difference(dictionary *a, dictionary *b, dictionary *out) { FILE: src/datastructures/dictionary.h type hash (line 16) | typedef uint32_t hash; type dictionaryentry (line 24) | typedef struct { type dictionary (line 34) | typedef struct { FILE: src/datastructures/error.c function error_printf (line 35) | static void error_printf(error *err, errorcategory cat, char *file, int ... function error_clear (line 48) | void error_clear(error *err) { function error_init (line 57) | void error_init(error *err) { function morpho_getdefinitionfromid (line 65) | bool morpho_getdefinitionfromid(errorid id, errordefinition **def) { function morpho_writeerrorwithidvalist (line 88) | void morpho_writeerrorwithidvalist(error *err, errorid id, char *file, i... function morpho_writeerrorwithid (line 108) | void morpho_writeerrorwithid(error *err, errorid id, char *file, int lin... function error_writewithid (line 119) | void error_writewithid(error *err, errorid id, ... ) { function morpho_writeusererror (line 130) | void morpho_writeusererror(error *err, errorid id, char *message) { function morpho_defineerror (line 145) | void morpho_defineerror(errorid id, errorcategory cat, char *message) { function errorid (line 161) | errorid morpho_geterrorid(error *err) { function morpho_matcherror (line 167) | bool morpho_matcherror(error *err, errorid id) { function morpho_checkerror (line 173) | bool morpho_checkerror(error *err) { function morpho_unreachable (line 182) | void morpho_unreachable(const char *explanation) { function error_initialize (line 193) | void error_initialize(void) { function error_finalize (line 201) | void error_finalize(void) { FILE: src/datastructures/error.h type errorcategory (line 26) | typedef enum { type errorcategory (line 62) | typedef errorcategory morphoerror; type error (line 65) | typedef struct { type errordefinition (line 81) | typedef struct { FILE: src/datastructures/object.c function objecttype (line 23) | objecttype object_addtype(objecttypedefn *def) { function objecttypedefn (line 40) | objecttypedefn *object_getdefn(object *obj) { function object_init (line 51) | void object_init(object *obj, objecttype type) { function object_free (line 59) | void object_free(object *obj) { function object_freeifunmanaged (line 72) | void object_freeifunmanaged(object *obj) { function object_print (line 77) | void object_print(void *v, value val) { function object_size (line 83) | size_t object_size(object *obj) { function hash (line 88) | hash object_hash(object *obj) { function object_cmp (line 96) | int object_cmp(object *a, object *b) { function object (line 107) | object *object_new(size_t size, objecttype type) { function object_istype (line 120) | bool object_istype(value val, objecttype type) { function morpho_freeobject (line 125) | void morpho_freeobject(value val) { function object_setveneerclass (line 134) | void object_setveneerclass(objecttype type, value class) { function objectclass (line 142) | objectclass *object_getveneerclass(objecttype type) { function object_veneerclasstotype (line 147) | bool object_veneerclasstotype(objectclass *clss, objecttype *type) { function object_initialize (line 161) | void object_initialize(void) { function object_finalize (line 167) | void object_finalize(void) { FILE: src/datastructures/object.h type objecttype (line 22) | typedef int objecttype; type sobject (line 25) | struct sobject { type hash (line 74) | typedef hash (*objecthashfn) (object *obj); type objecttypedefn (line 85) | typedef struct { type indx (line 122) | typedef ptrdiff_t indx; FILE: src/datastructures/program.c function program_init (line 22) | void program_init(program *p) { function program_clear (line 33) | void program_clear(program *p) { function program (line 57) | program *morpho_newprogram(void) { function morpho_freeprogram (line 66) | void morpho_freeprogram(program *p) { function program_setentry (line 72) | void program_setentry(program *p, instructionindx entry) { function instructionindx (line 77) | instructionindx program_getentry(program *p) { function program_bindobject (line 85) | void program_bindobject(program *p, object *obj) { function value (line 98) | value program_internsymbol(program *p, value symbol) { function globalindx (line 122) | globalindx program_addglobal(program *p, value symbol) { function program_globalsettype (line 129) | void program_globalsettype(program *p, globalindx indx, value type) { function program_globaltype (line 136) | bool program_globaltype(program *p, globalindx indx, value *type) { function program_globalsymbol (line 143) | bool program_globalsymbol(program *p, globalindx indx, value *symbol) { function program_countglobals (line 150) | int program_countglobals(program *p) { function program_addclass (line 155) | int program_addclass(program *p, value klass) { function program_countclasses (line 160) | int program_countclasses(program *p, value klass) { FILE: src/datastructures/program.h type instruction (line 21) | typedef unsigned int instruction; type indx (line 25) | typedef indx instructionindx; type globalindx (line 32) | typedef int globalindx; type globalinfo (line 35) | typedef struct { type program (line 47) | typedef struct { FILE: src/datastructures/signature.c function signature_init (line 16) | void signature_init(signature *s) { function signature_clear (line 22) | void signature_clear(signature *s) { function signature_set (line 30) | void signature_set(signature *s, int nparam, value *types) { function signature_setvarg (line 36) | void signature_setvarg(signature *s, bool varg) { function signature_isvarg (line 41) | bool signature_isvarg(signature *s) { function signature_istyped (line 46) | bool signature_istyped(signature *s) { function signature_isequal (line 52) | bool signature_isequal(signature *a, signature *b) { function signature_paramlist (line 59) | bool signature_paramlist(signature *s, int *nparams, value **ptypes) { function signature_getparamtype (line 66) | bool signature_getparamtype(signature *s, int i, value *type) { function value (line 73) | value signature_getreturntype(signature *s) { function signature_countparams (line 78) | int signature_countparams(signature *s) { function signature_initializelexer (line 104) | void signature_initializelexer(lexer *l, char *signature) { function signature_parsetype (line 112) | bool signature_parsetype(parser *p, value *type) { function signature_parsesymbol (line 123) | bool signature_parsesymbol(parser *p, void *out) { function signature_parsevarg (line 138) | bool signature_parsevarg(parser *p, void *out) { function signature_parsesignature (line 149) | bool signature_parsesignature(parser *p, void *out) { function signature_parse (line 176) | bool signature_parse(char *sig, signature *out) { function signature_print (line 197) | void signature_print(signature *s) { FILE: src/datastructures/signature.h type signature (line 13) | typedef struct { FILE: src/datastructures/syntaxtree.c function syntaxtree_init (line 15) | void syntaxtree_init(syntaxtree *tree) { function syntaxtree_wipe (line 21) | void syntaxtree_wipe(syntaxtree *tree) { function syntaxtree_clear (line 26) | void syntaxtree_clear(syntaxtree *tree) { function syntaxtree_printnode (line 132) | void syntaxtree_printnode(syntaxtreenode *base, syntaxtreeindx i, unsign... function syntaxtree_print (line 173) | void syntaxtree_print(syntaxtree *tree) { function syntaxtree_addnode (line 185) | bool syntaxtree_addnode(syntaxtree *tree, syntaxtreenodetype type, value... function syntaxtreenode (line 195) | syntaxtreenode *syntaxtree_nodefromindx(syntaxtree *tree, syntaxtreeindx... function syntaxtree_flatten (line 205) | void syntaxtree_flatten(syntaxtree *tree, syntaxtreeindx indx, unsigned ... FILE: src/datastructures/syntaxtree.h type syntaxtreenodetype (line 22) | typedef int syntaxtreenodetype; type syntaxtreeindx (line 25) | typedef ptrdiff_t syntaxtreeindx; type syntaxtreenode (line 28) | typedef struct _syntaxtreenode { type syntaxtree (line 50) | typedef struct { function syntaxtree_istype (line 147) | static inline bool syntaxtree_istype(syntaxtreenodetype type, syntaxtree... FILE: src/datastructures/value.c function morpho_issame (line 21) | bool morpho_issame(value a, value b) { function morpho_doubleeqtest (line 48) | bool morpho_doubleeqtest(double a, double b) { function morpho_comparevalue (line 61) | int morpho_comparevalue(value a, value b) { function morpho_extendedcomparevalue (line 97) | int morpho_extendedcomparevalue(value a, value b) { function morpho_isnumber (line 131) | bool morpho_isnumber(value a) { function morpho_isfalse (line 136) | bool morpho_isfalse(value a) { function morpho_valuetoint (line 141) | bool morpho_valuetoint(value v, int *out) { function morpho_valuetofloat (line 148) | bool morpho_valuetofloat(value v, double *out) { function value_promotenumberlist (line 162) | bool value_promotenumberlist(unsigned int nv, value *v) { function value_minmax (line 178) | bool value_minmax(unsigned int nval, value *list, value *min, value *max) { function varray_valuefind (line 210) | bool varray_valuefind(varray_value *varray, value v, unsigned int *out) { function varray_valuefindsame (line 225) | bool varray_valuefindsame(varray_value *varray, value v, unsigned int *o... function value_setveneerclass (line 242) | void value_setveneerclass(value type, value clss) { function objectclass (line 258) | objectclass *value_getveneerclass(value type) { function objectclass (line 268) | objectclass *value_veneerclassfromtype(int type) { function value_veneerclasstotype (line 275) | bool value_veneerclasstotype(objectclass *clss, int *type) { function value_initialize (line 289) | void value_initialize(void) { FILE: src/datastructures/value.h type object (line 18) | typedef struct sobject object; type value (line 41) | typedef uint64_t value; type doubleunion (line 72) | typedef union { function value (line 78) | static inline value doubletovalue(double num) { function valuetodouble (line 85) | static inline double valuetodouble(value v) { function morpho_ofsametype (line 115) | static inline bool morpho_ofsametype(value a, value b) { function _getorderedtype (line 128) | static inline int _getorderedtype(value x) { type valuetype (line 145) | typedef int valuetype; type value (line 148) | typedef struct { function morpho_ofsametype (line 189) | static inline bool morpho_ofsametype(value a, value b) { FILE: src/datastructures/varray.c function varray_powerof2ceiling (line 22) | unsigned int varray_powerof2ceiling(unsigned int n) { FILE: src/datastructures/version.c function version_init (line 17) | void version_init(version *v, int major, int minor, int patch) { function version_cmp (line 24) | int version_cmp(version *a, version *b) { function version_check (line 36) | bool version_check(version *v, version *min, version *max) { function version_tostring (line 47) | void version_tostring(version *v, size_t size, char *str) { function morpho_version (line 52) | void morpho_version(version *v) { FILE: src/datastructures/version.h type version (line 14) | typedef struct { FILE: src/debug/debug.c function debug_infofromindx (line 27) | bool debug_infofromindx(program *code, instructionindx indx, value *modu... function debug_indxfromline (line 56) | bool debug_indxfromline(program *code, value file, int line, instruction... function debug_indxfromfunction (line 81) | bool debug_indxfromfunction(program *code, value klassname, value fname,... function debug_symbolsforfunction (line 111) | bool debug_symbolsforfunction(program *code, objectfunction *func, instr... function debug_findsymbol (line 146) | bool debug_findsymbol(vm *v, value matchstr, callframe **frame, value *s... function debug_symbolforglobal (line 182) | bool debug_symbolforglobal(program *p, indx id, value *symbol) { function morpho_stacktrace (line 199) | void morpho_stacktrace(vm *v) { function debugger_init (line 232) | void debugger_init(debugger *d, program *p) { function debugger_clear (line 251) | void debugger_clear(debugger *d) { function vm (line 256) | vm *debugger_currentvm(debugger *d) { function program (line 261) | program *debugger_currentprogram(debugger *d) { function debugger_seterror (line 266) | void debugger_seterror(debugger *d, error *err) { function debugger_error (line 274) | void debugger_error(debugger *debug, errorid id, ... ) { function debugger_setsinglestep (line 283) | void debugger_setsinglestep(debugger *d, bool singlestep) { function debugger_insinglestep (line 288) | bool debugger_insinglestep(debugger *d) { function debugger_setbreakpoint (line 293) | bool debugger_setbreakpoint(debugger *d, instructionindx indx) { function debugger_clearbreakpoint (line 301) | bool debugger_clearbreakpoint(debugger *d, instructionindx indx) { function debugger_shouldbreakat (line 309) | bool debugger_shouldbreakat(debugger *d, instructionindx indx) { function debugger_isactive (line 315) | bool debugger_isactive(debugger *d) { type assemblyrule (line 324) | typedef struct { function assemblyrule (line 385) | assemblyrule *debugger_getassemblyrule(unsigned int op) { type debugcontents (line 390) | typedef enum { DBG_CONTENTS_NONE, DBG_CONTENTS_REG, DBG_CONTENTS_CONST} ... function debugger_showcontents (line 393) | bool debugger_showcontents(vm *v, debugcontents b, int i, value *konst, ... function debugger_disassembleinstruction (line 412) | void debugger_disassembleinstruction(vm *v, instruction instruction, ins... function debugger_errorlabel (line 461) | void debugger_errorlabel(vm *v, varray_value *errorstack, instructionind... function debugger_disassemble (line 480) | void debugger_disassemble(vm *v, program *code, int *matchline) { function morpho_disassemble (line 556) | void morpho_disassemble(vm *v, program *code, int *matchline) { function debugger_garbagecollect (line 564) | void debugger_garbagecollect(debugger *debug) { function debugger_quit (line 570) | void debugger_quit(debugger *debug) { function debugger_breakatinstruction (line 578) | bool debugger_breakatinstruction(debugger *debug, bool set, instructioni... function debugger_breakatline (line 589) | bool debugger_breakatline(debugger *debug, bool set, value file, int lin... function debugger_breakatfunction (line 596) | bool debugger_breakatfunction(debugger *debug, bool set, value klass, va... function debugger_showlocation (line 607) | void debugger_showlocation(debugger *debug, instructionindx indx) { function debugger_showaddress (line 636) | bool debugger_showaddress(debugger *debug, indx rindx) { function debugger_showbreakpoints (line 650) | void debugger_showbreakpoints(debugger *debug) { function debugger_showglobal (line 667) | bool debugger_showglobal(debugger *debug, indx id) { function debugger_showglobals (line 686) | void debugger_showglobals(debugger *debug) { function debugger_showregisters (line 693) | void debugger_showregisters(debugger *debug) { function debugger_showstack (line 717) | void debugger_showstack(debugger *debug) { function debugger_showsymbol (line 746) | bool debugger_showsymbol(debugger *debug, value match) { function debugger_showsymbols (line 761) | void debugger_showsymbols(debugger *debug) { function debugger_showproperty (line 787) | bool debugger_showproperty(debugger *debug, value matchobj, value matchp... function debugger_setregister (line 818) | bool debugger_setregister(debugger *debug, indx reg, value val) { function debugger_setsymbol (line 831) | bool debugger_setsymbol(debugger *debug, value symbol, value val) { function debugger_setproperty (line 842) | bool debugger_setproperty(debugger *debug, value symbol, value property,... function debugger_enter (line 863) | bool debugger_enter(debugger *debug, vm *v) { function morpho_debug (line 896) | bool morpho_debug(vm *v, program *p) { function debugger_initialize (line 914) | void debugger_initialize(void) { FILE: src/debug/profile.c function profiler_sample (line 27) | void profiler_sample(profiler *profile, value func) { function MorphoThreadFnReturnType (line 38) | MorphoThreadFnReturnType profiler_thread(void *arg) { function profiler_init (line 68) | void profiler_init(profiler *profile, program *p) { function profiler_clear (line 76) | void profiler_clear(profiler *profile) { function profiler_kill (line 82) | void profiler_kill(profiler *profile) { function profiler_sort (line 91) | int profiler_sort(const void *a, const void *b) { function profiler_getname (line 98) | bool profiler_getname(value func, value *name, value *klass) { function profiler_calculatelength (line 120) | size_t profiler_calculatelength(profiler *p, value func) { function profiler_display (line 141) | void profiler_display(profiler *p, value func, vm *v) { function profiler_report (line 161) | void profiler_report(profiler *profile, vm *v) { function morpho_profile (line 203) | bool morpho_profile(vm *v, program *p) { function morpho_profile (line 228) | bool morpho_profile(vm *v, program *p) { FILE: src/geometry/fespace.c function objectfespace_printfn (line 16) | void objectfespace_printfn(object *obj, void *v) { function objectfespace_sizefn (line 21) | size_t objectfespace_sizefn(object *obj) { function objectfespace (line 34) | objectfespace *objectfespace_new(fespace *disc) { function cg1_1dinterpolate (line 62) | void cg1_1dinterpolate(double *lambda, double *wts) { function cg1_1dgrad (line 67) | void cg1_1dgrad(double *lambda, double *grad) { function cg2_1dinterpolate (line 106) | void cg2_1dinterpolate(double *lambda, double *wts) { function cg2_1dgrad (line 113) | void cg2_1dgrad(double *lambda, double *grad) { function cg3_1dinterpolate (line 157) | void cg3_1dinterpolate(double *lambda, double *wts) { function cg1_2dinterpolate (line 200) | void cg1_2dinterpolate(double *lambda, double *wts) { function cg1_2dgrad (line 206) | void cg1_2dgrad(double *lambda, double *grad) { function cg2_2dinterpolate (line 257) | void cg2_2dinterpolate(double *lambda, double *wts) { function cg2_2dgrad (line 266) | void cg2_2dgrad(double *lambda, double *grad) { function cg1_3dinterpolate (line 327) | void cg1_3dinterpolate(double *lambda, double *wts) { function cg1_3dgrad (line 334) | void cg1_3dgrad(double *lambda, double *grad) { function cg2_3dinterpolate (line 390) | void cg2_3dinterpolate(double *lambda, double *wts) { function cg2_3dgrad (line 403) | void cg2_3dgrad(double *lambda, double *grad) { // TODO: FIX function fespace (line 495) | fespace *fespace_find(char *name, grade g) { function fespace (line 504) | fespace *fespace_findlinear(grade g) { function fespace_doftofieldindx (line 514) | bool fespace_doftofieldindx(objectfield *field, fespace *disc, int nv, i... function fespace_lower (line 550) | bool fespace_lower(fespace *disc, grade target, fespace **out) { function fespace_layout (line 561) | bool fespace_layout(objectfield *field, fespace *disc, objectsparse **ou... function fespace_gradient (line 595) | void fespace_gradient(fespace *disc, double *lambda, objectmatrix *grad) { function value (line 612) | value fespace_constructor(vm *v, int nargs, value *args) { function value (line 640) | value FiniteElementSpace_layout(vm *v, int nargs, value *args) { function MORPHO_METHOD (line 655) | MORPHO_BEGINCLASS(FiniteElementSpace) FILE: src/geometry/fespace.h type eldefninstruction (line 20) | typedef int eldefninstruction; type fespace (line 23) | typedef struct sfespace { type objectfespace (line 44) | typedef struct { FILE: src/geometry/field.c function objectfield_printfn (line 28) | void objectfield_printfn(object *obj, void *v) { function objectfield_markfn (line 32) | void objectfield_markfn(object *obj, void *v) { function objectfield_freefn (line 39) | void objectfield_freefn(object *obj) { function objectfield_sizefn (line 47) | size_t objectfield_sizefn(object *obj) { function field_checkprototype (line 65) | bool field_checkprototype(value v) { function field_sizeprototype (line 69) | unsigned int field_sizeprototype(value prototype) { function field_size (line 87) | unsigned int field_size(objectmesh *mesh, value prototype, unsigned int ... function objectfield (line 111) | objectfield *object_newfield(objectmesh *mesh, value prototype, value fn... function field_applyfunctiontovertices (line 181) | bool field_applyfunctiontovertices(vm *v, objectmesh *mesh, value fn, ob... function field_applyfunctiontoelements (line 202) | bool field_applyfunctiontoelements(vm *v, objectmesh *mesh, value fn, va... function objectfield (line 264) | objectfield *field_newwithfunction(vm *v, objectmesh *mesh, value fn, va... function field_zero (line 296) | void field_zero(objectfield *f) { function field_addpool (line 301) | bool field_addpool(objectfield *f) { function objectfield (line 321) | objectfield *field_clone(objectfield *f) { function field_getelement (line 338) | bool field_getelement(objectfield *field, grade grade, elementid el, int... function field_getelementwithindex (line 361) | bool field_getelementwithindex(objectfield *field, int indx, value *out) { function field_getindex (line 383) | bool field_getindex(objectfield *field, grade grade, elementid el, int i... function field_getelementaslist (line 399) | bool field_getelementaslist(objectfield *field, grade grade, elementid e... function field_setelement (line 423) | bool field_setelement(objectfield *field, grade grade, elementid el, int... function field_setelementwithindex (line 449) | bool field_setelementwithindex(objectfield *field, int ix, value val) { function field_compareshape (line 470) | bool field_compareshape(objectfield *a, objectfield *b) { function field_dofforgrade (line 482) | unsigned int field_dofforgrade(objectfield *f, grade g) { function field_add (line 487) | bool field_add(objectfield *left, objectfield *right, objectfield *out) { function field_sub (line 492) | bool field_sub(objectfield *left, objectfield *right, objectfield *out) { function field_accumulate (line 497) | bool field_accumulate(objectfield *left, double lambda, objectfield *rig... function field_inner (line 501) | bool field_inner(objectfield *left, objectfield *right, double *out) { function field_op (line 506) | bool field_op(vm *v, value fn, objectfield *f, int nargs, objectfield **... function value (line 545) | value field_constructor(vm *v, int nargs, value *args) { function value (line 602) | value Field_getindex(vm *v, int nargs, value *args) { function value (line 622) | value Field_setindex(vm *v, int nargs, value *args) { function value (line 648) | value Field_enumerate(vm *v, int nargs, value *args) { function value (line 669) | value Field_count(vm *v, int nargs, value *args) { function value (line 676) | value Field_assign(vm *v, int nargs, value *args) { function value (line 695) | value Field_add(vm *v, int nargs, value *args) { function value (line 717) | value Field_addr(vm *v, int nargs, value *args) { function value (line 735) | value Field_sub(vm *v, int nargs, value *args) { function value (line 757) | value Field_subr(vm *v, int nargs, value *args) { function value (line 779) | value Field_acc(vm *v, int nargs, value *args) { function value (line 797) | value Field_mul(vm *v, int nargs, value *args) { function value (line 817) | value Field_div(vm *v, int nargs, value *args) { function value (line 840) | value Field_inner(vm *v, int nargs, value *args) { function value (line 857) | value Field_op(vm *v, int nargs, value *args) { function value (line 879) | value Field_print(vm *v, int nargs, value *args) { function value (line 890) | value Field_clone(vm *v, int nargs, value *args) { function value (line 902) | value Field_shape(vm *v, int nargs, value *args) { function value (line 921) | value Field_fnspace(vm *v, int nargs, value *args) { function value (line 928) | value Field_prototype(vm *v, int nargs, value *args) { function value (line 935) | value Field_mesh(vm *v, int nargs, value *args) { function value (line 942) | value Field_linearize(vm *v, int nargs, value *args) { function value (line 957) | value Field_unsafelinearize(vm *v, int nargs, value *args) { FILE: src/geometry/field.h type objectfield (line 25) | typedef struct { type fieldindx (line 56) | typedef struct { FILE: src/geometry/functional.c function functional_fdstepsize (line 40) | double functional_fdstepsize(double x, int order) { function functional_clearmapinfo (line 54) | static void functional_clearmapinfo(functional_mapinfo *info) { function functional_validateargs (line 74) | bool functional_validateargs(vm *v, int nargs, value *args, functional_m... function functional_countelements (line 102) | static bool functional_countelements(vm *v, objectmesh *mesh, grade g, i... function functional_symmetryimagelistfn (line 118) | static int functional_symmetryimagelistfn(const void *a, const void *b) { function functional_symmetryimagelist (line 128) | void functional_symmetryimagelist(objectmesh *mesh, grade g, bool sort, ... function functional_symmetrysumforces (line 148) | bool functional_symmetrysumforces(objectmesh *mesh, objectmatrix *frc) { function functional_inlist (line 170) | bool functional_inlist(varray_elementid *list, elementid id) { function functional_containsvertex (line 175) | bool functional_containsvertex(int nv, int *vid, elementid id) { function functional_sumintegrandX (line 189) | bool functional_sumintegrandX(vm *v, functional_mapinfo *info, value *ou... function functional_mapintegrandX (line 261) | bool functional_mapintegrandX(vm *v, functional_mapinfo *info, value *ou... function functional_mapgradientX (line 343) | bool functional_mapgradientX(vm *v, functional_mapinfo *info, value *out) { function functional_mapfieldgradientX (line 410) | bool functional_mapfieldgradientX(vm *v, functional_mapinfo *info, value... function functional_numericalgradient (line 474) | bool functional_numericalgradient(vm *v, objectmesh *mesh, elementid i, ... function functional_numericalremotegradient (line 499) | static bool functional_numericalremotegradient(vm *v, functional_mapinfo... function functional_sumlist (line 522) | double functional_sumlist(double *list, unsigned int nel) { function functional_mapnumericalgradientX (line 544) | bool functional_mapnumericalgradientX(vm *v, functional_mapinfo *info, v... function functional_mapnumericalfieldgradientX (line 640) | bool functional_mapnumericalfieldgradientX(vm *v, functional_mapinfo *in... type functional_task (line 727) | typedef struct { function functionaltask_init (line 753) | void functionaltask_init(functional_task *task, elementid start, element... function functional_checkskip (line 779) | bool functional_checkskip(functional_task *task) { function functional_mapfn_elements (line 790) | bool functional_mapfn_elements(void *arg) { function functional_parallelmap (line 832) | bool functional_parallelmap(int ntasks, functional_task *tasks) { function functional_binbounds (line 850) | void functional_binbounds(int nel, int nbins, int *binbounds) { function functional_preparetasks (line 874) | int functional_preparetasks(vm *v, functional_mapinfo *info, int ntask, ... function functional_cleanuptasks (line 919) | void functional_cleanuptasks(vm *v, int ntask, functional_task *task) { type functional_sumintermediate (line 930) | typedef struct { function functional_sumintegrandprocessfn (line 938) | bool functional_sumintegrandprocessfn(void *arg) { function functional_sumintegrand (line 949) | bool functional_sumintegrand(vm *v, functional_mapinfo *info, value *out) { function functional_mapintegrandforelement (line 994) | bool functional_mapintegrandforelement(vm *v, functional_mapinfo *info, ... function functional_mapintegrandprocessfn (line 1028) | bool functional_mapintegrandprocessfn(void *arg) { function functional_mapintegrand (line 1036) | bool functional_mapintegrand(vm *v, functional_mapinfo *info, value *out) { function functional_mapgradient (line 1079) | bool functional_mapgradient(vm *v, functional_mapinfo *info, value *out) { function functional_numericalgrad (line 1129) | bool functional_numericalgrad(vm *v, objectmesh *mesh, elementid eid, el... function functional_numericalgradientmapfn (line 1152) | bool functional_numericalgradientmapfn(vm *v, objectmesh *mesh, elementi... function functional_mapnumericalgradient (line 1180) | bool functional_mapnumericalgradient(vm *v, functional_mapinfo *info, va... function functional_mapfieldgradient (line 1241) | bool functional_mapfieldgradient(vm *v, functional_mapinfo *info, value ... function functional_numericalfieldgrad (line 1292) | bool functional_numericalfieldgrad(vm *v, objectmesh *mesh, elementid ei... type functional_numericalfieldgradientref (line 1317) | typedef struct { function functional_numericalfieldgradientmapfn (line 1325) | bool functional_numericalfieldgradientmapfn(vm *v, objectmesh *mesh, ele... function functional_mapnumericalfieldgradient (line 1348) | bool functional_mapnumericalfieldgradient(vm *v, functional_mapinfo *inf... function functional_sparseaccumulate (line 1428) | bool functional_sparseaccumulate(objectsparse *A, int i, int j, double v... function functional_numericalhess (line 1440) | bool functional_numericalhess(vm *v, objectmesh *mesh, elementid eid, el... function functional_numericalhessianmapfn (line 1496) | bool functional_numericalhessianmapfn(vm *v, objectmesh *mesh, elementid... function _sparsecmp (line 1529) | static int _sparsecmp(const void *a, const void *b) { function functional_mapnumericalhessian (line 1536) | bool functional_mapnumericalhessian(vm *v, functional_mapinfo *info, val... function functional_vecadd (line 1625) | void functional_vecadd(unsigned int n, double *a, double *b, double *out) { function functional_vecaddscale (line 1630) | void functional_vecaddscale(unsigned int n, double *a, double lambda, do... function functional_vecsub (line 1635) | void functional_vecsub(unsigned int n, double *a, double *b, double *out) { function functional_vecscale (line 1640) | void functional_vecscale(unsigned int n, double lambda, double *a, doubl... function functional_vecnorm (line 1645) | double functional_vecnorm(unsigned int n, double *a) { function functional_vecdot (line 1650) | double functional_vecdot(unsigned int n, double *a, double *b) { function functional_veccross (line 1655) | void functional_veccross(double *a, double *b, double *out) { function functional_veccross2d (line 1662) | void functional_veccross2d(double *a, double *b, double *out) { function functional_elementsize (line 1671) | bool functional_elementsize(vm *v, objectmesh *mesh, grade g, elementid ... function functional_elementgradient_scale (line 1689) | bool functional_elementgradient_scale(vm *v, objectmesh *mesh, grade g, ... function functional_elementgradient (line 1699) | bool functional_elementgradient(vm *v, objectmesh *mesh, grade g, elemen... function length_integrand (line 1713) | bool length_integrand(vm *v, objectmesh *mesh, elementid id, int nv, int... function length_gradient_scale (line 1725) | bool length_gradient_scale(vm *v, objectmesh *mesh, elementid id, int nv... function length_gradient (line 1740) | bool length_gradient(vm *v, objectmesh *mesh, elementid id, int nv, int ... function areaenclosed_gradient (line 1783) | bool areaenclosed_gradient(vm *v, objectmesh *mesh, elementid id, int nv... function area_gradient_scale (line 1844) | bool area_gradient_scale(vm *v, objectmesh *mesh, elementid id, int nv, ... function area_gradient (line 1871) | bool area_gradient(vm *v, objectmesh *mesh, elementid id, int nv, int *v... function volumeenclosed_gradient (line 1907) | bool volumeenclosed_gradient(vm *v, objectmesh *mesh, elementid id, int ... function volume_gradient_scale (line 1965) | bool volume_gradient_scale(vm *v, objectmesh *mesh, elementid id, int nv... function volume_gradient (line 1995) | bool volume_gradient(vm *v, objectmesh *mesh, elementid id, int nv, int ... type scalarpotentialref (line 2020) | typedef struct { function scalarpotential_prepareref (line 2024) | bool scalarpotential_prepareref(objectinstance *self, objectmesh *mesh, ... function scalarpotential_integrand (line 2031) | bool scalarpotential_integrand(vm *v, objectmesh *mesh, elementid id, in... function scalarpotential_gradient (line 2048) | bool scalarpotential_gradient(vm *v, objectmesh *mesh, elementid id, int... function value (line 2071) | value ScalarPotential_init(vm *v, int nargs, value *args) { function value (line 2097) | value ScalarPotential_gradient(vm *v, int nargs, value *args) { type linearelasticityref (line 2147) | typedef struct { function linearelasticity_calculategram (line 2155) | void linearelasticity_calculategram(objectmatrix *vert, int dim, int nv,... function linearelasticity_integrand (line 2167) | bool linearelasticity_integrand(vm *v, objectmesh *mesh, elementid id, i... function linearelasticity_prepareref (line 2204) | bool linearelasticity_prepareref(objectinstance *self, linearelasticityr... function value (line 2227) | value LinearElasticity_init(vm *v, int nargs, value *args) { function value (line 2251) | value LinearElasticity_integrand(vm *v, int nargs, value *args) { function value (line 2269) | value LinearElasticity_total(vm *v, int nargs, value *args) { function value (line 2286) | value LinearElasticity_gradient(vm *v, int nargs, value *args) { type hydrogelref (line 2322) | typedef struct { function hydrogel_prepareref (line 2330) | bool hydrogel_prepareref(objectinstance *self, objectmesh *mesh, grade g... function hydrogel_integrand (line 2368) | bool hydrogel_integrand(vm *v, objectmesh *mesh, elementid id, int nv, i... function hydrogel_gradient (line 2414) | bool hydrogel_gradient(vm *v, objectmesh *mesh, elementid id, int nv, in... function value (line 2462) | value Hydrogel_gradient(vm *v, int nargs, value *args) { function value (line 2482) | value Hydrogel_init(vm *v, int nargs, value *args) { type equielementref (line 2530) | typedef struct { function equielement_prepareref (line 2539) | bool equielement_prepareref(objectinstance *self, objectmesh *mesh, grad... function equielement_contains (line 2571) | bool equielement_contains(varray_elementid *nbrs, elementid id) { function equielement_dependencies (line 2579) | bool equielement_dependencies(functional_mapinfo *info, elementid id, va... function equielement_integrand (line 2609) | bool equielement_integrand(vm *v, objectmesh *mesh, elementid id, int nv... function value (line 2656) | value EquiElement_init(vm *v, int nargs, value *args) { type curvatureref (line 2696) | typedef struct { function curvature_prepareref (line 2702) | bool curvature_prepareref(objectinstance *self, objectmesh *mesh, grade ... function linecurvsq_dependencies (line 2726) | bool linecurvsq_dependencies(functional_mapinfo *info, elementid id, var... function linecurvsq_integrand (line 2754) | bool linecurvsq_integrand(vm *v, objectmesh *mesh, elementid id, int nv,... function linetorsionsq_integrand (line 2857) | bool linetorsionsq_integrand(vm *v, objectmesh *mesh, elementid id, int ... type areacurvatureref (line 2969) | typedef struct { function areacurvature_prepareref (line 2976) | bool areacurvature_prepareref(objectinstance *self, objectmesh *mesh, gr... function meancurvaturesq_dependencies (line 3004) | bool meancurvaturesq_dependencies(functional_mapinfo *info, elementid id... function curvature_ordervertices (line 3039) | bool curvature_ordervertices(varray_elementid *synid, int nv, int *vids) { function meancurvaturesq_integrand (line 3054) | bool meancurvaturesq_integrand(vm *v, objectmesh *mesh, elementid id, in... function gradsq_computeperpendicular (line 3208) | bool gradsq_computeperpendicular(unsigned int n, double *s1, double *s2,... function gradsq_evaluategradient (line 3234) | bool gradsq_evaluategradient(objectmesh *mesh, objectfield *field, int n... function gradsq_evaluategradient1d (line 3273) | bool gradsq_evaluategradient1d(objectmesh *mesh, objectfield *field, int... function gradsq_evaluategradient3d (line 3307) | bool gradsq_evaluategradient3d(objectmesh *mesh, objectfield *field, int... function gradsq_prepareref (line 3348) | bool gradsq_prepareref(objectinstance *self, objectmesh *mesh, grade g, ... function gradsq_integrand (line 3382) | bool gradsq_integrand(vm *v, objectmesh *mesh, elementid id, int nv, int... function value (line 3404) | value GradSq_init(vm *v, int nargs, value *args) { function value (line 3430) | value GradSq_fieldgradient(vm *v, int nargs, value *args) { type nematicref (line 3467) | typedef struct { function nematic_prepareref (line 3475) | bool nematic_prepareref(objectinstance *self, objectmesh *mesh, grade g,... function nematic_bcint (line 3525) | double nematic_bcint(double *f, double *g) { function nematic_bcint1 (line 3530) | double nematic_bcint1(double *f) { function nematic_bcintf (line 3536) | double nematic_bcintf(unsigned int n, double *f) { function nematic_bcintfg (line 3545) | double nematic_bcintfg(unsigned int n, double *f, double *g) { function nematic_integrand (line 3555) | bool nematic_integrand(vm *v, objectmesh *mesh, elementid id, int nv, in... function value (line 3644) | value Nematic_init(vm *v, int nargs, value *args) { function value (line 3677) | value Nematic_fieldgradient(vm *v, int nargs, value *args) { function nematicelectric_prepareref (line 3714) | bool nematicelectric_prepareref(objectinstance *self, objectmesh *mesh, ... function nematicelectric_integrand (line 3759) | bool nematicelectric_integrand(vm *v, objectmesh *mesh, elementid id, in... function value (line 3801) | value NematicElectric_init(vm *v, int nargs, value *args) { function value (line 3823) | value NematicElectric_fieldgradient(vm *v, int nargs, value *args) { function value (line 3873) | value NormSq_fieldgradient(vm *v, int nargs, value *args) { type objectintegralelementref (line 3928) | typedef struct { function objectintegralelementref_sizefn (line 3953) | size_t objectintegralelementref_sizefn(object *obj) { function objectintegralelementref_printfn (line 3957) | void objectintegralelementref_printfn(object *obj, void *v) { function objectintegralelementref (line 3985) | objectintegralelementref *integral_getelementref(vm *v) { function integral_evaluatetangent (line 4000) | void integral_evaluatetangent(vm *v, value *out) { function value (line 4021) | static value integral_tangent(vm *v, int nargs, value *args) { function integral_evaluatenormal (line 4037) | void integral_evaluatenormal(vm *v, value *out) { function value (line 4060) | static value integral_normal(vm *v, int nargs, value *args) { function integral_prepareinvjacobian (line 4080) | bool integral_prepareinvjacobian(unsigned int dim, grade g, double **x, ... function integral_gradalloc (line 4118) | bool integral_gradalloc(int dim, value prototype, value *out) { function integral_gradsuminit (line 4132) | bool integral_gradsuminit(int i, value prototype, value dest, value *sum) { function integral_gradsumcopy (line 4151) | bool integral_gradsumcopy(int i, value sum, value dest) { function integral_oldgradcopy (line 4158) | bool integral_oldgradcopy(int dim, int ndof, double *grad, value prototy... function integral_evaluategradient (line 4185) | bool integral_evaluategradient(vm *v, value q, value *out) { function value (line 4280) | static value integral_gradfn(vm *v, int nargs, value *args) { function integral_evaluatecg (line 4296) | void integral_evaluatecg(vm *v, value *out) { function value (line 4328) | static value integral_cgfn(vm *v, int nargs, value *args) { function integral_cleartlvars (line 4342) | void integral_cleartlvars(vm *v) { function integral_freetlvars (line 4350) | void integral_freetlvars(vm *v) { function integral_prepareref (line 4369) | bool integral_prepareref(objectinstance *self, objectmesh *mesh, grade g... function integral_freeref (line 4438) | void integral_freeref(void *ref) { function integral_clearelref (line 4445) | void integral_clearelref(objectintegralelementref *elref) { function integral_preparequantities (line 4450) | bool integral_preparequantities(integralref *iref, int nv, int *vid, qua... function integral_clearquantities (line 4488) | void integral_clearquantities(int nq, quantity *quantities) { function integral_integrandfn (line 4494) | bool integral_integrandfn(unsigned int dim, double *t, double *x, unsign... function lineintegral_integrand (line 4523) | bool lineintegral_integrand(vm *v, objectmesh *mesh, elementid id, int n... function value (line 4594) | value LineIntegral_init(vm *v, int nargs, value *args) { function value (line 4657) | value LineIntegral_fieldgradient(vm *v, int nargs, value *args) { function value (line 4765) | value AreaIntegral_fieldgradient(vm *v, int nargs, value *args) { function value (line 4867) | value VolumeIntegral_fieldgradient(vm *v, int nargs, value *args) { function functional_finalize (line 4997) | void functional_finalize(void) { FILE: src/geometry/functional.h type symmetrybhvr (line 167) | typedef enum { type s_functional_mapinfo (line 181) | struct s_functional_mapinfo type s_functional_mapinfo (line 190) | struct s_functional_mapinfo type functional_mapinfo (line 192) | typedef struct s_functional_mapinfo { FILE: src/geometry/geometry.c function geometry_initialize (line 9) | void geometry_initialize(void) { FILE: src/geometry/integrate.c function integrate_recognizequantities (line 21) | bool integrate_recognizequantities(unsigned int nquantity, value *quanti... function integrate_interpolatepositionline (line 64) | void integrate_interpolatepositionline(unsigned int dim, double *x[3], d... function integrate_interpolatequantitiesline (line 73) | void integrate_interpolatequantitiesline(unsigned int dim, double t, uns... function integrate_lineint (line 108) | bool integrate_lineint(integrandfunction *function, unsigned int dim, do... function integrate_interpolatepositiontri (line 245) | void integrate_interpolatepositiontri(unsigned int dim, double *x[3], do... function integrate_interpolatequantitiestri (line 253) | void integrate_interpolatequantitiestri(unsigned int dim, double *lambda... function integrate_areaint (line 290) | bool integrate_areaint(integrandfunction *function, unsigned int dim, do... function integrate_interpolatepositionvol (line 582) | void integrate_interpolatepositionvol(unsigned int dim, double *x[4], do... function integrate_interpolatequantitiesvol (line 590) | void integrate_interpolatequantitiesvol(unsigned int dim, double *lambda... function integrate_integratevol (line 630) | bool integrate_integratevol(integrandfunction *function, unsigned int ns... function integrate_volint (line 677) | bool integrate_volint(integrandfunction *function, unsigned int dim, dou... function integrate_integrate (line 769) | bool integrate_integrate(integrandfunction *integrand, unsigned int dim,... function integrator_init (line 2168) | void integrator_init(integrator *integrate) { function integrator_clear (line 2197) | void integrator_clear(integrator *integrate) { function integrator_addvertex (line 2204) | int integrator_addvertex(integrator *integrate, int ndof, double *v) { function integrator_addelement (line 2211) | int integrator_addelement(integrator *integrate, int *vids) { function integrator_initializequantities (line 2218) | void integrator_initializequantities(integrator *integrate, int nq, quan... function integrator_finalizequantities (line 2238) | void integrator_finalizequantities(integrator *integrate) { function integrator_getvertices (line 2244) | void integrator_getvertices(integrator *integrate, int elementid, double... function integrator_getelement (line 2252) | void integrator_getelement(integrator *integrate, int elementid, int *vi... function integrator_pushworkitem (line 2260) | bool integrator_pushworkitem(integrator *integrate, quadratureworkitem *... function integrator_popworkitem (line 2276) | bool integrator_popworkitem(integrator *integrate, quadratureworkitem *w... function integrator_estimate (line 2307) | void integrator_estimate(integrator *integrate) { function integrator_preparevertices (line 2336) | void integrator_preparevertices(integrator *integrate, double **vref, do... function integrator_prepareinterpolation (line 2355) | void integrator_prepareinterpolation(integrator *integrate, int elementi... function integrator_sumlistweighted (line 2362) | double integrator_sumlistweighted(unsigned int nel, double *list, double... function integrator_transformtorefelement (line 2367) | void integrator_transformtorefelement(integrator *integrate, double *rma... function integrator_interpolatecoordinates (line 2378) | void integrator_interpolatecoordinates(integrator *integrate, double *la... function integrator_sumquantityweighted (line 2388) | bool integrator_sumquantityweighted(int n, double *wts, value *q, value ... function integrator_interpolatequantities (line 2406) | void integrator_interpolatequantities(integrator *integrate, double *bar... function integrator_evalfn (line 2425) | bool integrator_evalfn(integrator *integrate, quadraturerule *rule, int ... function integrator_quadrature (line 2440) | bool integrator_quadrature(integrator *integrate, quadraturerule *rule, ... function integrator_subdivide (line 2502) | bool integrator_subdivide(integrator *integrate, quadratureworkitem *wor... function integrator_sharpenerrorestimate (line 2552) | void integrator_sharpenerrorestimate(integrator *integrate, quadraturewo... function integrator_update (line 2569) | void integrator_update(integrator *integrate, quadratureworkitem *work, ... function integrator_matchrulebyname (line 2587) | bool integrator_matchrulebyname(int grade, char *name, quadraturerule **... function integrator_matchrulebyextension (line 2600) | bool integrator_matchrulebyextension(quadraturerule *rule, quadraturerul... function integrator_matchrulebyorder (line 2611) | bool integrator_matchrulebyorder(int grade, int minorder, int maxorder, ... function integrator_matchrulebygrade (line 2629) | bool integrator_matchrulebygrade(int grade, quadraturerule **out) { function integrator_configure (line 2647) | bool integrator_configure(integrator *integrate, error *err, bool adapt,... function integrator_configurewithdictionary (line 2701) | bool integrator_configurewithdictionary(integrator *integrate, error *er... function integrator_integrate (line 2754) | bool integrator_integrate(integrator *integrate, integrandfunction *inte... function integrate (line 2842) | bool integrate(integrandfunction *integrand, objectdictionary *method, e... function integrate_initialize (line 2864) | void integrate_initialize(void) { FILE: src/geometry/integrate.h type quadraturerule (line 50) | typedef struct quadraturerule_s quadraturerule; type quadraturerule_s (line 57) | struct quadraturerule_s { type subdivisionrule (line 78) | typedef struct subdivisionrule_struct subdivisionrule; type subdivisionrule_struct (line 80) | struct subdivisionrule_struct { type quadratureworkitem (line 94) | typedef struct { type quantity (line 109) | typedef struct { type integrator (line 120) | typedef struct { FILE: src/geometry/mesh.c function objectmesh_printfn (line 35) | void objectmesh_printfn(object *obj, void *v) { function objectmesh_markfn (line 39) | void objectmesh_markfn(object *obj, void *v) { function objectmesh_freefn (line 45) | void objectmesh_freefn(object *obj) { function objectmesh_sizefn (line 57) | size_t objectmesh_sizefn(object *obj) { function objectmesh (line 74) | objectmesh *object_newmesh(unsigned int dim, unsigned int nv, double *v) { function mesh_link (line 96) | void mesh_link(objectmesh *mesh, object *obj) { function mesh_delink (line 106) | void mesh_delink(objectmesh *mesh, object *obj) { function mesh_getvertexcoordinates (line 130) | bool mesh_getvertexcoordinates(objectmesh *mesh, elementid id, double *o... function mesh_getvertexcoordinatesaslist (line 140) | bool mesh_getvertexcoordinatesaslist(objectmesh *mesh, elementid id, dou... function mesh_setvertexcoordinates (line 149) | bool mesh_setvertexcoordinates(objectmesh *mesh, elementid id, double *x... function mesh_getvertexcoordinatesasvalues (line 154) | bool mesh_getvertexcoordinatesasvalues(objectmesh *mesh, elementid id, v... function mesh_nearestvertex (line 172) | bool mesh_nearestvertex(objectmesh *mesh, double *x, elementid *id, doub... function mesh_checkconnectivity (line 194) | bool mesh_checkconnectivity(objectmesh *mesh) { function mesh_freezeconnectivity (line 203) | void mesh_freezeconnectivity(objectmesh *mesh) { function objectsparse (line 215) | objectsparse *mesh_newconnectivityelement(objectmesh *mesh, unsigned int... function mesh_setconnectivityelement (line 228) | bool mesh_setconnectivityelement(objectmesh *mesh, unsigned int row, uns... function objectsparse (line 251) | objectsparse *mesh_getconnectivityelement(objectmesh *mesh, unsigned int... function elementid (line 265) | elementid mesh_nvertices(objectmesh *mesh) { function elementid (line 272) | elementid mesh_nelements(objectsparse *conn) { function elementid (line 277) | elementid mesh_nelementsforgrade(objectmesh *mesh, grade g) { function grade (line 289) | grade mesh_maxgrade(objectmesh *mesh) { function mesh_getconnectivity (line 303) | bool mesh_getconnectivity(objectsparse *conn, elementid id, int *nentrie... type ntuplelist (line 320) | typedef struct { function ntuplelist_init (line 328) | void ntuplelist_init(ntuplelist *list, int n, elementid maxval) { function ntuplelist_clear (line 337) | void ntuplelist_clear(ntuplelist *list) { function ntuplelist_add (line 343) | void ntuplelist_add(ntuplelist *list, elementid *tuple) { function ntuplelist_compare (line 354) | bool ntuplelist_compare(int n, elementid *t1, elementid *t2) { function ntuplelist_find (line 360) | bool ntuplelist_find(ntuplelist *list, elementid *tuple) { function objectsparse (line 374) | objectsparse *mesh_addgrade(objectmesh *mesh, grade g) { function mesh_removegrade (line 446) | void mesh_removegrade(objectmesh *mesh, grade g) { function objectsparse (line 458) | objectsparse *mesh_addgradeold(objectmesh *mesh, grade g) { function mesh_compareid (line 526) | static int mesh_compareid(const void *a, const void *b) { function mesh_matchelements (line 539) | bool mesh_matchelements(objectsparse *vmatrix, grade g, int nids, int *i... function objectsparse (line 576) | static objectsparse *mesh_addlowermatrix(objectmesh *mesh, unsigned int ... function objectsparse (line 618) | objectsparse *mesh_addconnectivityelement(objectmesh *mesh, unsigned int... function mesh_addelementwithvertices (line 647) | bool mesh_addelementwithvertices(objectmesh *mesh, grade g, elementid *v) { function mesh_resetconnectivity (line 665) | void mesh_resetconnectivity(objectmesh *m) { function objectmesh (line 680) | objectmesh *mesh_clone(objectmesh *mesh) { function mesh_addsymmetry (line 710) | bool mesh_addsymmetry(vm *v, objectmesh *mesh, value symmetry, objectsel... function mesh_getsynonyms (line 757) | bool mesh_getsynonyms(objectmesh *mesh, grade g, elementid id, varray_el... function varray_elementidwriteunique (line 772) | void varray_elementidwriteunique(varray_elementid *list, elementid id) { function mesh_insertidsforelement (line 782) | void mesh_insertidsforelement(objectsparse *conn, elementid id, bool ign... function mesh_findneighbors (line 793) | int mesh_findneighbors(objectmesh *mesh, grade g, elementid id, grade ta... function mesh_checksection (line 852) | static bool mesh_checksection(char *line, grade *g) { function objectmesh (line 865) | objectmesh *mesh_load(vm *v, char *file) { function mesh_save (line 992) | bool mesh_save(objectmesh *m, char *file) { function value (line 1042) | value mesh_constructor(vm *v, int nargs, value *args) { function value (line 1065) | value Mesh_save(vm *v, int nargs, value *args) { function value (line 1076) | value Mesh_print(vm *v, int nargs, value *args) { function value (line 1088) | value Mesh_vertexmatrix(vm *v, int nargs, value *args) { function value (line 1100) | value Mesh_setvertexmatrix(vm *v, int nargs, value *args) { function value (line 1118) | value Mesh_vertexposition(vm *v, int nargs, value *args) { function value (line 1140) | value Mesh_setvertexposition(vm *v, int nargs, value *args) { function value (line 1155) | value Mesh_connectivitymatrix(vm *v, int nargs, value *args) { function value (line 1177) | value Mesh_resetconnectivity(vm *v, int nargs, value *args) { function value (line 1186) | value Mesh_addgrade(vm *v, int nargs, value *args) { function value (line 1216) | value Mesh_removegrade(vm *v, int nargs, value *args) { function value (line 1230) | value Mesh_addsymmetry(vm *v, int nargs, value *args) { function value (line 1253) | value Mesh_maxgrade(vm *v, int nargs, value *args) { function value (line 1260) | value Mesh_count(vm *v, int nargs, value *args) { function value (line 1280) | value Mesh_clone(vm *v, int nargs, value *args) { FILE: src/geometry/mesh.h type objectmesh (line 25) | typedef struct { type grade (line 68) | typedef int grade; type elementid (line 69) | typedef int elementid; FILE: src/geometry/selection.c function objectselection_printfn (line 26) | void objectselection_printfn(object *obj, void *v) { function objectselection_freefn (line 30) | void objectselection_freefn(object *obj) { function objectselection_sizefn (line 35) | size_t objectselection_sizefn(object *obj) { function objectselection (line 53) | objectselection *object_newselection(objectmesh *mesh) { function objectselection (line 68) | objectselection *selection_clone(objectselection *sel) { function selection_clear (line 80) | void selection_clear(objectselection *s) { function selection_removegrade (line 87) | void selection_removegrade(objectselection *sel, grade g) { function selection_selectelement (line 92) | bool selection_selectelement(objectselection *sel, grade g, elementid id) { function selection_addgraderaise (line 104) | bool selection_addgraderaise(objectselection *sel, grade g, bool include... function selection_addgradelower (line 129) | bool selection_addgradelower(objectselection *sel, grade g) { function selection_selectwithfunction (line 160) | void selection_selectwithfunction(vm *v, objectselection *sel, value fn) { function selection_selectwithmatrix (line 182) | void selection_selectwithmatrix(vm *v, objectselection *sel, value fn, o... function selection_selectboundary (line 213) | void selection_selectboundary(vm *v, objectselection *sel) { function selection_selectwithid (line 236) | void selection_selectwithid(objectselection *sel, grade g, elementid id,... function selection_isselected (line 258) | bool selection_isselected(objectselection *sel, grade g, elementid id) { function grade (line 269) | grade selection_maxgrade(objectselection *sel) { function objectlist (line 282) | objectlist *selection_idlistforgrade(objectselection *sel, grade g) { function objectselection (line 311) | objectselection *selection_union(objectselection *a, objectselection *b) { function objectselection (line 327) | objectselection *selection_intersection(objectselection *a, objectselect... function objectselection (line 343) | objectselection *selection_difference(objectselection *a, objectselectio... function value (line 368) | value selection_constructor(vm *v, int nargs, value *args) { function value (line 416) | value Selection_setindex(vm *v, int nargs, value *args) { function value (line 430) | value Selection_isselected(vm *v, int nargs, value *args) { function value (line 445) | value Selection_idlistforgrade(vm *v, int nargs, value *args) { function value (line 461) | value Selection_addgrade(vm *v, int nargs, value *args) { function value (line 482) | value Selection_removegrade(vm *v, int nargs, value *args) { function value (line 493) | value Selection_print(vm *v, int nargs, value *args) { function value (line 501) | value Selection_count(vm *v, int nargs, value *args) { function value (line 514) | value Selection_clone(vm *v, int nargs, value *args) { FILE: src/geometry/selection.h type objectselection (line 22) | typedef struct { FILE: src/linalg/matrix.c function objectmatrix_sizefn (line 25) | size_t objectmatrix_sizefn(object *obj) { function objectmatrix_printfn (line 31) | void objectmatrix_printfn(object *obj, void *v) { function objectmatrix (line 45) | objectmatrix *object_newmatrix(unsigned int nrows, unsigned int ncols, b... function matrix_raiseerror (line 69) | void matrix_raiseerror(vm *v, objectmatrixerror err) { function matrix_getarraydimensions (line 87) | bool matrix_getarraydimensions(objectarray *array, unsigned int dim[], u... function value (line 107) | value matrix_getarrayelement(objectarray *array, unsigned int ndim, unsi... function objectmatrix (line 122) | objectmatrix *object_matrixfromarray(objectarray *array) { function matrix_getlistdimensions (line 156) | bool matrix_getlistdimensions(objectlist *list, unsigned int dim[], unsi... function matrix_getlistelement (line 175) | bool matrix_getlistelement(objectlist *list, unsigned int ndim, unsigned... function objectmatrix (line 189) | objectmatrix *object_matrixfromlist(objectlist *list) { function objectmatrix (line 219) | objectmatrix *object_matrixfromfloats(unsigned int nrows, unsigned int n... function objectmatrix (line 233) | objectmatrix *object_clonematrix(objectmatrix *in) { function matrix_setelement (line 249) | bool matrix_setelement(objectmatrix *matrix, unsigned int row, unsigned ... function matrix_getelement (line 259) | bool matrix_getelement(objectmatrix *matrix, unsigned int row, unsigned ... function matrix_getcolumn (line 272) | bool matrix_getcolumn(objectmatrix *matrix, unsigned int col, double **v) { function matrix_setcolumn (line 285) | bool matrix_setcolumn(objectmatrix *matrix, unsigned int col, double *v) { function matrix_addtocolumn (line 299) | bool matrix_addtocolumn(objectmatrix *m, unsigned int col, double alpha,... function matrix_countdof (line 312) | unsigned int matrix_countdof(objectmatrix *a) { function objectmatrixerror (line 317) | objectmatrixerror matrix_copy(objectmatrix *a, objectmatrix *out) { function objectmatrixerror (line 326) | objectmatrixerror matrix_copyat(objectmatrix *a, objectmatrix *out, int ... function objectmatrixerror (line 342) | objectmatrixerror matrix_add(objectmatrix *a, objectmatrix *b, objectmat... function objectmatrixerror (line 353) | objectmatrixerror matrix_addscalar(objectmatrix *a, double lambda, doubl... function objectmatrixerror (line 365) | objectmatrixerror matrix_accumulate(objectmatrix *a, double lambda, obje... function objectmatrixerror (line 374) | objectmatrixerror matrix_sub(objectmatrix *a, objectmatrix *b, objectmat... function objectmatrixerror (line 385) | objectmatrixerror matrix_mul(objectmatrix *a, objectmatrix *b, objectmat... function objectmatrixerror (line 394) | objectmatrixerror matrix_inner(objectmatrix *a, objectmatrix *b, double ... function objectmatrixerror (line 403) | objectmatrixerror matrix_outer(objectmatrix *a, objectmatrix *b, objectm... function objectmatrixerror (line 420) | static objectmatrixerror matrix_div(objectmatrix *a, objectmatrix *b, ob... function objectmatrixerror (line 436) | objectmatrixerror matrix_divs(objectmatrix *a, objectmatrix *b, objectma... function objectmatrixerror (line 447) | objectmatrixerror matrix_divl(objectmatrix *a, objectmatrix *b, objectma... function objectmatrixerror (line 467) | objectmatrixerror matrix_inverse(objectmatrix *a, objectmatrix *out) { function objectmatrixerror (line 498) | objectmatrixerror matrix_eigensystem(objectmatrix *a, double *wr, double... function matrix_sum (line 525) | double matrix_sum(objectmatrix *a) { function matrix_norm (line 541) | double matrix_norm(objectmatrix *a) { function matrix_L1norm (line 547) | double matrix_L1norm(objectmatrix *a) { function matrix_Lnnorm (line 561) | double matrix_Lnnorm(objectmatrix *a, double n) { function matrix_Linfnorm (line 575) | double matrix_Linfnorm(objectmatrix *a) { function objectmatrixerror (line 587) | objectmatrixerror matrix_transpose(objectmatrix *a, objectmatrix *out) { function objectmatrixerror (line 598) | objectmatrixerror matrix_trace(objectmatrix *a, double *out) { function objectmatrixerror (line 607) | objectmatrixerror matrix_scale(objectmatrix *a, double scale) { function objectmatrixerror (line 614) | objectmatrixerror matrix_identity(objectmatrix *a) { function objectmatrixerror (line 622) | objectmatrixerror matrix_zero(objectmatrix *a) { function matrix_print (line 629) | void matrix_print(vm *v, objectmatrix *m) { function matrix_printtobuffer (line 642) | bool matrix_printtobuffer(objectmatrix *m, char *format, varray_char *ou... function matrix_eigen (line 659) | bool matrix_eigen(vm *v, objectmatrix *a, value *evals, value *evecs) { function value (line 721) | value matrix_constructor(vm *v, int nargs, value *args) { function value (line 774) | value matrix_identityconstructor(vm *v, int nargs, value *args) { function matrix_slicedim (line 797) | bool matrix_slicedim(value * a, unsigned int ndim){ function matrix_sliceconstructor (line 803) | void matrix_sliceconstructor(unsigned int *slicesize,unsigned int ndim,v... function objectarrayerror (line 811) | objectarrayerror matrix_slicecopy(value * a,value * out, unsigned int nd... function matrix_rollflat (line 829) | void matrix_rollflat(objectmatrix *a, objectmatrix *b, int nplaces) { function matrix_copyrow (line 845) | void matrix_copyrow(objectmatrix *a, int arow, objectmatrix *b, int brow) { function objectmatrix (line 850) | objectmatrix *matrix_roll(objectmatrix *a, int nplaces, int axis) { function value (line 871) | value Matrix_getindex(vm *v, int nargs, value *args) { function value (line 898) | value Matrix_setindex(vm *v, int nargs, value *args) { function value (line 916) | value Matrix_setcolumn(vm *v, int nargs, value *args) { function value (line 936) | value Matrix_getcolumn(vm *v, int nargs, value *args) { function value (line 960) | value Matrix_print(vm *v, int nargs, value *args) { function value (line 970) | value Matrix_format(vm *v, int nargs, value *args) { function value (line 994) | value Matrix_assign(vm *v, int nargs, value *args) { function value (line 1009) | value Matrix_add(vm *v, int nargs, value *args) { function value (line 1040) | value Matrix_addr(vm *v, int nargs, value *args) { function value (line 1065) | value Matrix_sub(vm *v, int nargs, value *args) { function value (line 1096) | value Matrix_subr(vm *v, int nargs, value *args) { function value (line 1135) | value Matrix_mul(vm *v, int nargs, value *args) { function value (line 1170) | value Matrix_mulr(vm *v, int nargs, value *args) { function value (line 1190) | value Matrix_div(vm *v, int nargs, value *args) { function value (line 1240) | value Matrix_acc(vm *v, int nargs, value *args) { function value (line 1260) | value Matrix_inner(vm *v, int nargs, value *args) { function value (line 1277) | value Matrix_outer(vm *v, int nargs, value *args) { function value (line 1296) | value Matrix_sum(vm *v, int nargs, value *args) { function value (line 1302) | value Matrix_roll(vm *v, int nargs, value *args) { function value (line 1326) | value Matrix_norm(vm *v, int nargs, value *args) { function value (line 1356) | value Matrix_eigenvalues(vm *v, int nargs, value *args) { function value (line 1371) | value Matrix_eigensystem(vm *v, int nargs, value *args) { function value (line 1398) | value Matrix_inverse(vm *v, int nargs, value *args) { function value (line 1417) | value Matrix_transpose(vm *v, int nargs, value *args) { function value (line 1432) | value Matrix_reshape(vm *v, int nargs, value *args) { function value (line 1451) | value Matrix_trace(vm *v, int nargs, value *args) { function value (line 1466) | value Matrix_enumerate(vm *v, int nargs, value *args) { function value (line 1484) | value Matrix_count(vm *v, int nargs, value *args) { function value (line 1491) | value Matrix_dimensions(vm *v, int nargs, value *args) { function value (line 1509) | value Matrix_clone(vm *v, int nargs, value *args) { FILE: src/linalg/matrix.h type objectmatrix (line 48) | typedef struct { type objectmatrixerror (line 153) | typedef enum { MATRIX_OK, MATRIX_INCMPTBLDIM, MATRIX_SING, MATRIX_INVLD,... FILE: src/linalg/sparse.c function sparse_ccstocsparse (line 28) | void sparse_ccstocsparse(sparseccs *s, cs *out) { function sparse_csparsetoccs (line 39) | void sparse_csparsetoccs(cs *in, sparseccs *out) { function objectdokkey_printfn (line 56) | void objectdokkey_printfn(object *obj, void *v) { function objectdokkey_sizefn (line 60) | size_t objectdokkey_sizefn(object *obj) { function hash (line 65) | hash objectdokkey_hashfn(object *obj) { function objectdokkey_cmpfn (line 72) | int objectdokkey_cmpfn(object *a, object *b) { function sparsedok_init (line 92) | void sparsedok_init(sparsedok *dok) { function sparsedok_clear (line 100) | void sparsedok_clear(sparsedok *dok) { function objectdokkey (line 111) | static objectdokkey *sparsedok_newkey(sparsedok *dok, int i, int j) { function objectdokkey (line 124) | static objectdokkey *sparsedok_addkey(sparsedok *dok, int i, int j) { function sparsedok_insert (line 137) | bool sparsedok_insert(sparsedok *dok, int i, int j, value val) { function sparsedok_get (line 155) | bool sparsedok_get(sparsedok *dok, int i, int j, value *val) { function sparsedok_remove (line 163) | bool sparsedok_remove(sparsedok *dok, int i, int j, value *val) { function sparsedok_setdimensions (line 171) | bool sparsedok_setdimensions(sparsedok *dok, int nrows, int ncols) { function sparsedok_expanddimensions (line 181) | bool sparsedok_expanddimensions(sparsedok *dok, int nrows, int ncols) { function sparsedok_print (line 188) | void sparsedok_print(vm *v, sparsedok *dok) { function sparsedok_count (line 205) | unsigned int sparsedok_count(sparsedok *dok) { function sparsedok_loop (line 222) | bool sparsedok_loop(sparsedok *dok, void **cntr, int *i, int *j) { function sparsedok_copy (line 237) | bool sparsedok_copy(sparsedok *src, sparsedok *dest) { function sparsedok_copyat (line 254) | bool sparsedok_copyat(sparsedok *src, sparsedok *dest, int row0, int col... function sparsedok_copymatrixat (line 269) | bool sparsedok_copymatrixat(objectmatrix *src, sparsedok *dest, int row0... function sparsedok_copytomatrix (line 282) | bool sparsedok_copytomatrix(sparsedok *src, objectmatrix *dest, int row0... function sparseccs_init (line 303) | void sparseccs_init(sparseccs *ccs) { function _ccsfree (line 313) | static void _ccsfree(void *p) { function sparseccs_clear (line 331) | void sparseccs_clear(sparseccs *ccs) { function sparseccs_resize (line 339) | bool sparseccs_resize(sparseccs *ccs, int nrows, int ncols, unsigned int... function sparseccs_getrowindiceswithvalues (line 367) | bool sparseccs_getrowindiceswithvalues(sparseccs *ccs, int col, int *nen... function sparseccs_getrowindices (line 376) | bool sparseccs_getrowindices(sparseccs *ccs, int col, int *nentries, int... function sparseccs_setrowindices (line 386) | bool sparseccs_setrowindices(sparseccs *ccs, int col, int nentries, int ... function sparseccs_getcolindices (line 400) | bool sparseccs_getcolindices(sparseccs *ccs, int maxentries, int *nentri... function sparseccs_getcolindicesforrow (line 420) | bool sparseccs_getcolindicesforrow(sparseccs *ccs, int row, int maxentri... function sparseccs_set (line 437) | bool sparseccs_set(sparseccs *ccs, int i, int j, double val) { function sparseccs_get (line 450) | bool sparseccs_get(sparseccs *ccs, int i, int j, double *val) { function sparseccs_compareuint (line 462) | static int sparseccs_compareuint(const void * a, const void * b) { function sparseccs_doktoccs (line 468) | bool sparseccs_doktoccs(sparsedok *in, sparseccs *out, bool copyvals) { function sparseccs_print (line 532) | void sparseccs_print(vm *v, sparseccs *ccs) { function sparseccs_count (line 545) | unsigned int sparseccs_count(sparseccs *ccs) { function sparseccs_copy (line 550) | bool sparseccs_copy(sparseccs *src, sparseccs *dest) { function sparseccs_copytodok (line 562) | bool sparseccs_copytodok(sparseccs *src, sparsedok *dest, int row0, int ... function sparseccs_copytomatrix (line 579) | bool sparseccs_copytomatrix(sparseccs *src, objectmatrix *dest, int row0... function sparse_checkformat (line 604) | bool sparse_checkformat(objectsparse *sparse, objectsparseformat format,... function sparse_removeformat (line 619) | void sparse_removeformat(objectsparse *s, objectsparseformat format) { function objectsparse_printfn (line 634) | void objectsparse_printfn(object *obj, void *v) { function objectsparse_markfn (line 638) | void objectsparse_markfn(object *obj, void *v) { function objectsparse_freefn (line 642) | void objectsparse_freefn(object *obj) { function objectsparse_sizefn (line 647) | size_t objectsparse_sizefn(object *obj) { function objectsparse (line 667) | objectsparse *object_newsparse(int *nrows, int *ncols) { function sparse_checkupdatedimension (line 684) | bool sparse_checkupdatedimension(int check, int *dim) { function objectsparseerror (line 691) | objectsparseerror sparse_catcheckdimensions(objectlist *in, int ndim, un... function sparse_catcopysparsetosparseat (line 723) | bool sparse_catcopysparsetosparseat(objectsparse *src, int row0, int col... function sparse_catcopysparsetomatrixat (line 733) | bool sparse_catcopysparsetomatrixat(objectsparse *src, int row0, int col... function sparse_catcopyentry (line 743) | bool sparse_catcopyentry(void *out, value val, int irow, int icol) { function matrix_catcopyentry (line 759) | bool matrix_catcopyentry(void *out, value val, int irow, int icol) { function objectsparseerror (line 776) | objectsparseerror sparse_docat(objectlist *in, void *dest, sparse_catcop... function objectsparseerror (line 820) | objectsparseerror sparse_cat(objectlist *in, objectsparse *dest) { function objectsparseerror (line 825) | objectsparseerror sparse_catmatrix(objectlist *in, objectmatrix **out) { function objectsparse (line 848) | objectsparse *object_sparsefromarray(objectarray *array) { function objectsparseerror (line 874) | objectsparseerror object_sparsefromlist(objectlist *list, objectsparse *... function objectsparseerror (line 918) | objectsparseerror sparse_tomatrix(objectsparse *in, objectmatrix **out) { function objectsparse (line 941) | objectsparse *sparse_clone(objectsparse *s) { function sparse_getdimensions (line 953) | void sparse_getdimensions(objectsparse *s, int *nrows, int *ncols) { function sparse_setelement (line 964) | bool sparse_setelement(objectsparse *s, int row, int col, value val) { function sparse_getelement (line 979) | bool sparse_getelement(objectsparse *s, int row, int col, value *val) { function sparse_enumerate (line 992) | bool sparse_enumerate(objectsparse *s, int i, value *out) { function objectsparseerror (line 1015) | objectsparseerror sparse_add(objectsparse *a, objectsparse *b, double al... function objectsparseerror (line 1040) | objectsparseerror sparse_mul(objectsparse *a, objectsparse *b, objectspa... function objectsparseerror (line 1065) | objectsparseerror sparse_mulsxd(objectsparse *a, objectmatrix *b, object... function objectsparseerror (line 1085) | objectsparseerror sparse_muldxs(objectmatrix *a, objectsparse *b, object... function objectsparseerror (line 1114) | objectsparseerror sparse_scale(objectsparse *src, double scale, objectsp... function objectsparseerror (line 1130) | objectsparseerror sparse_div(objectsparse *a, objectmatrix *b, objectmat... function objectsparseerror (line 1155) | objectsparseerror sparse_transpose(objectsparse *a, objectsparse *out) { function sparse_clear (line 1174) | void sparse_clear(objectsparse *a) { function sparse_size (line 1180) | size_t sparse_size(objectsparse *a) { function sparse_raiseerror (line 1192) | void sparse_raiseerror(vm *v, objectsparseerror err) { function value (line 1203) | value sparse_constructor(vm *v, int nargs, value *args) { function value (line 1243) | value Sparse_getindex(vm *v, int nargs, value *args) { function value (line 1256) | value Sparse_setindex(vm *v, int nargs, value *args) { function value (line 1275) | value Sparse_enumerate(vm *v, int nargs, value *args) { function value (line 1291) | value Sparse_print(vm *v, int nargs, value *args) { function value (line 1307) | value Sparse_add(vm *v, int nargs, value *args) { function value (line 1337) | value Sparse_sub(vm *v, int nargs, value *args) { function value (line 1366) | value Sparse_mul(vm *v, int nargs, value *args) { function value (line 1419) | value Sparse_mulr(vm *v, int nargs, value *args) { function value (line 1451) | value Sparse_div(vm *v, int nargs, value *args) { function value (line 1456) | value Sparse_divr(vm *v, int nargs, value *args) { function value (line 1482) | value Sparse_transpose(vm *v, int nargs, value *args) { function value (line 1504) | value Sparse_clone(vm *v, int nargs, value *args) { function value (line 1518) | value Sparse_count(vm *v, int nargs, value *args) { function value (line 1532) | value Sparse_dimensions(vm *v, int nargs, value *args) { function value (line 1552) | value Sparse_getcolumn(vm *v, int nargs, value *args) { function value (line 1596) | value Sparse_rowindices(vm *v, int nargs, value *args) { function value (line 1623) | value Sparse_setrowindices(vm *v, int nargs, value *args) { function value (line 1658) | value Sparse_colindices(vm *v, int nargs, value *args) { function value (line 1687) | value Sparse_indices(vm *v, int nargs, value *args) { FILE: src/linalg/sparse.h type objectdokkey (line 27) | typedef struct { type sparsedok (line 51) | typedef struct { type sparseccs (line 58) | typedef struct { type objectsparse (line 70) | typedef struct { type objectsparseformat (line 161) | typedef enum { SPARSE_DOK, SPARSE_CCS } objectsparseformat; type objectsparseerror (line 163) | typedef enum { SPARSE_OK, SPARSE_INCMPTBLDIM, SPARSE_INVLDINIT, SPARSE_C... FILE: src/morpho.h type vm (line 21) | typedef void vm; type program (line 22) | typedef void program; type compiler (line 23) | typedef void compiler; FILE: src/support/common.c function morpho_printvalue (line 21) | void morpho_printvalue(vm *v, value val) { function morpho_printtobuffer (line 47) | bool morpho_printtobuffer(vm *v, value val, varray_char *buffer) { function value (line 101) | value morpho_concatenate(vm *v, int nval, value *val) { function morpho_utf8numberofbytes (line 133) | int morpho_utf8numberofbytes(const char *string) { function morpho_utf8toint (line 146) | int morpho_utf8toint(const char *c) { function morpho_encodeutf8 (line 164) | int morpho_encodeutf8(int c, char *out) { function morpho_powerof2ceiling (line 195) | unsigned int morpho_powerof2ceiling(unsigned int n) { function morpho_countparameters (line 211) | bool morpho_countparameters(value f, int *nparams) { function morpho_tuplesinit (line 241) | void morpho_tuplesinit(unsigned int nval, unsigned int n, unsigned int *... function morpho_tuples (line 256) | bool morpho_tuples(unsigned int nval, value *list, unsigned int n, unsig... FILE: src/support/common.h type morphoinputmode (line 25) | typedef enum { function morpho_iscallable (line 64) | static inline bool morpho_iscallable(value a) { type tuplemode (line 90) | typedef enum { FILE: src/support/extensions.c type extension (line 26) | typedef struct { function extension_dlopen (line 44) | bool extension_dlopen(extension *e) { function extension_dlclose (line 51) | void extension_dlclose(extension *e) { function extension_init (line 57) | void extension_init(extension *e) { function extension_clear (line 66) | void extension_clear(extension *e) { function extension_initwithname (line 79) | bool extension_initwithname(extension *e, char *name, char *path) { function extension_call (line 102) | bool extension_call(extension *e, const char *name, const char *fn) { function extension_find (line 116) | bool extension_find(char *name, value *path) { function extension_isloaded (line 121) | bool extension_isloaded(value path, extension *out) { function extension_initialize (line 134) | bool extension_initialize(extension *e) { function extension_finalize (line 150) | bool extension_finalize(extension *e) { function extension_load (line 155) | bool extension_load(char *name, dictionary **functiontable, dictionary *... function extensions_initialize (line 186) | void extensions_initialize(void) { function extensions_finalize (line 192) | void extensions_finalize(void) { FILE: src/support/format.c type format (line 24) | typedef struct fformat { function _format_parse (line 33) | bool _format_parse(char *formatstring, char *validtypes, char **endptr, ... function _format_printtobuffer (line 64) | bool _format_printtobuffer(value v, format *f, varray_char *out) { function format_printtobuffer (line 92) | bool format_printtobuffer(value v, char *formatstring, varray_char *out) { FILE: src/support/lex.c function _lex_tokndefncmp (line 24) | int _lex_tokndefncmp(const void *ldefn, const void *rdefn) { function _lex_tokendefnwithstringcmp (line 32) | int _lex_tokendefnwithstringcmp(const void *lstr, const void *rdefn) { function _lex_tokendefnwithtokencmp (line 40) | int _lex_tokendefnwithtokencmp(const void *ltok, const void *rdefn) { function _lex_tokendefnwithtokenfirstcharcmp (line 54) | int _lex_tokendefnwithtokenfirstcharcmp(const void *l, const void *rdefn) { function lex_recordtoken (line 72) | void lex_recordtoken(lexer *l, tokentype type, token *tok) { function lex_advance (line 81) | char lex_advance(lexer *l) { function lex_advanceby (line 89) | char lex_advanceby(lexer *l, size_t n) { function lex_back (line 96) | bool lex_back(lexer *l) { function lex_isatend (line 104) | bool lex_isatend(lexer *l) { function lex_isalpha (line 109) | bool lex_isalpha(char c) { function lex_isdigit (line 114) | bool lex_isdigit(char c) { function lex_isspace (line 120) | bool lex_isspace(char c) { function lex_peek (line 125) | char lex_peek(lexer *l) { function lex_peekahead (line 130) | char lex_peekahead(lexer *l, int n) { function lex_peekprevious (line 135) | char lex_peekprevious(lexer *l) { function lex_newline (line 141) | void lex_newline(lexer *l) { function lex_matchtoken (line 149) | bool lex_matchtoken(lexer *l, tokendefn **defn) { function lex_identifytoken (line 164) | bool lex_identifytoken(lexer *l, tokendefn **defn) { function lex_skipmultilinecomment (line 283) | bool lex_skipmultilinecomment(lexer *l, token *tok, error *err) { function lex_skipcomment (line 324) | bool lex_skipcomment(lexer *l, token *tok, error *err) { function lex_skipshebang (line 340) | bool lex_skipshebang(lexer *l) { function lex_skipwhitespace (line 352) | bool lex_skipwhitespace(lexer *l, token *tok, error *err) { function lex_string (line 375) | bool lex_string(lexer *l, token *tok, error *err) { function lex_number (line 419) | bool lex_number(lexer *l, token *tok, error *err) { function tokentype (line 464) | tokentype lex_checksymbol(lexer *l, int start, int length, char *match, ... function tokentype (line 475) | tokentype lex_typeforsymboltoken(lexer *l) { function lex_symbol (line 489) | bool lex_symbol(lexer *l, token *tok, error *err) { function lex_preprocess (line 505) | bool lex_preprocess(lexer *l, token *tok, error *err) { function lex_processnewline (line 513) | bool lex_processnewline(lexer *l, token *tok, error *err) { function lex_processinterpolation (line 519) | bool lex_processinterpolation(lexer *l, token *tok, error *err) { function lex_init (line 534) | void lex_init(lexer *l, const char *start, int line) { function lex_clear (line 555) | void lex_clear(lexer *l) { function lex_settokendefns (line 571) | void lex_settokendefns(lexer *l, tokendefn *defns) { function lex_seteof (line 585) | void lex_seteof(lexer *l, tokentype eoftype) { function tokentype (line 590) | tokentype lex_eof(lexer *l) { function lex_setnumbertype (line 595) | void lex_setnumbertype(lexer *l, tokentype inttype, tokentype flttype, t... function lex_setsymboltype (line 602) | void lex_setsymboltype(lexer *l, tokentype symboltype) { function tokentype (line 607) | tokentype lex_symboltype(lexer *l) { function lex_setstringinterpolation (line 612) | void lex_setstringinterpolation(lexer *l, bool interpolation) { function lex_setmatchkeywords (line 617) | void lex_setmatchkeywords(lexer *l, bool match) { function lex_matchkeywords (line 622) | bool lex_matchkeywords(lexer *l) { function lex_setwhitespacefn (line 627) | void lex_setwhitespacefn(lexer *l, processtokenfn whitespacefn) { function lex_setprefn (line 632) | void lex_setprefn(lexer *l, processtokenfn prefn) { function lex_tokeniskeyword (line 641) | bool lex_tokeniskeyword(lexer *l, token *tok) { function lex (line 651) | bool lex(lexer *l, token *tok, error *err) { function lex_initialize (line 694) | void lex_initialize(void) { FILE: src/support/lex.h type lexer (line 16) | typedef struct slexer lexer; type tokentype (line 25) | typedef int tokentype; type token (line 28) | typedef struct { type tokendefn (line 51) | typedef struct { type slexer (line 64) | struct slexer { FILE: src/support/parse.c function parse_error (line 33) | void parse_error(parser *p, bool use_prev, errorid id, ... ) { function parse_advance (line 48) | bool parse_advance(parser *p) { function parse_savestate (line 68) | void parse_savestate(parser *p, parser *op, lexer *ol) { function parse_restorestate (line 75) | void parse_restorestate(parser *op, lexer *ol, parser *out) { function parse_precedence (line 84) | bool parse_precedence(parser *p, precedence prec, void *out) { function parse_checktoken (line 119) | bool parse_checktoken(parser *p, tokentype type) { function parse_checktokenmulti (line 124) | bool parse_checktokenmulti(parser *p, int n, tokentype *type) { function parse_checktokenadvance (line 133) | bool parse_checktokenadvance(parser *p, tokentype type) { function parse_checktokeniskeywordadvance (line 140) | bool parse_checktokeniskeywordadvance(parser *p) { function parse_checkrequiredtoken (line 151) | bool parse_checkrequiredtoken(parser *p, tokentype type, errorid id) { function parse_checkdisallowedtoken (line 166) | bool parse_checkdisallowedtoken(parser *p, tokentype type, errorid id) { function parse_codepointfromhex (line 181) | bool parse_codepointfromhex(parser *p, const char *codestr, int nhex, bo... function parse_stringfromtoken (line 211) | bool parse_stringfromtoken(parser *p, unsigned int start, unsigned int l... function value (line 267) | value parse_tokenasstring(parser *p) { function parse_tokenassymbol (line 275) | bool parse_tokenassymbol(parser *p) { function parse_addnode (line 286) | bool parse_addnode(parser *p, syntaxtreenodetype type, value content, to... function syntaxtreenode (line 300) | syntaxtreenode *parse_lookupnode(parser *p, syntaxtreeindx i) { function parse_validatestrtol (line 305) | bool parse_validatestrtol(parser *p, long f) { function parse_validatestrtod (line 315) | bool parse_validatestrtod(parser *p, double f) { function parse_tokentointeger (line 324) | bool parse_tokentointeger(parser *p, long *i) { function parse_tokentodouble (line 330) | bool parse_tokentodouble(parser *p, double *x) { function parse_incrementrecursiondepth (line 336) | bool parse_incrementrecursiondepth(parser *p) { function parse_decrementrecursiondepth (line 347) | bool parse_decrementrecursiondepth(parser *p) { function parse_addobject (line 353) | void parse_addobject(parser *p, value obj) { function parse_freeobjects (line 358) | void parse_freeobjects(parser *p) { function parse_clearobjects (line 363) | void parse_clearobjects(parser *p) { function parse_expressionlist (line 387) | bool parse_expressionlist(parser *p, tokentype rightdelimiter, unsigned ... function parse_arglist (line 417) | bool parse_arglist(parser *p, tokentype rightdelimiter, unsigned int *na... function parse_variable (line 483) | bool parse_variable(parser *p, errorid id, void *out) { function parse_reference (line 489) | bool parse_reference(parser *p, errorid errid, void *out) { function parse_statementterminator (line 510) | bool parse_statementterminator(parser *p) { function parse_checkstatementterminator (line 523) | bool parse_checkstatementterminator(parser *p) { function parse_synchronize (line 533) | bool parse_synchronize(parser *p) { function parse_nil (line 567) | bool parse_nil(parser *p, void *out) { function parse_integer (line 573) | bool parse_integer(parser *p, void *out) { function parse_number (line 581) | bool parse_number(parser *p, void *out) { function parse_complex (line 589) | bool parse_complex(parser *p, void *out) { function parse_bool (line 602) | bool parse_bool(parser *p, void *out) { function parse_self (line 608) | bool parse_self(parser *p, void *out) { function parse_super (line 613) | bool parse_super(parser *p, void *out) { function parse_symbol (line 623) | bool parse_symbol(parser *p, void *out) { function parse_string (line 635) | bool parse_string(parser *p, void *out) { function parse_dictionary (line 645) | bool parse_dictionary(parser *p, void *out) { function parse_interpolation (line 678) | bool parse_interpolation(parser *p, void *out) { function parse_tuple (line 711) | bool parse_tuple(parser *p, token *start, syntaxtreeindx first, void *ou... function parse_grouping (line 730) | bool parse_grouping(parser *p, void *out) { function parse_unary (line 751) | bool parse_unary(parser *p, void *out) { function parse_binary (line 771) | bool parse_binary(parser *p, void *out) { function parse_ternary (line 832) | bool parse_ternary(parser *p, void *out) { function parse_assignby (line 845) | bool parse_assignby(parser *p, void *out) { function parse_range (line 878) | bool parse_range(parser *p, void *out) { function parse_call (line 901) | bool parse_call(parser *p, void *out) { function parse_index (line 918) | bool parse_index(parser *p, void *out) { function parse_list (line 931) | bool parse_list(parser *p, void *out) { function parse_anonymousfunction (line 941) | bool parse_anonymousfunction(parser *p, void *out) { function parse_switch (line 964) | bool parse_switch(parser *p, void *out) { function parse_vardeclaration (line 994) | bool parse_vardeclaration(parser *p, void *out) { function parse_typedvardeclaration (line 1027) | bool parse_typedvardeclaration(parser *p, void *out) { function parse_functiondeclaration (line 1069) | bool parse_functiondeclaration(parser *p, void *out) { function parse_classdeclaration (line 1098) | bool parse_classdeclaration(parser *p, void *out) { function parse_importqualifierlist (line 1148) | bool parse_importqualifierlist(parser *p, void *out) { function parse_importdeclaration (line 1197) | bool parse_importdeclaration(parser *p, void *out) { function parse_printstatement (line 1235) | bool parse_printstatement(parser *p, void *out) { function parse_expressionstatement (line 1244) | bool parse_expressionstatement(parser *p, void *out) { function parse_blockstatement (line 1258) | bool parse_blockstatement(parser *p, void *out) { function parse_ifstatement (line 1275) | bool parse_ifstatement(parser *p, void *out) { function parse_whilestatement (line 1300) | bool parse_whilestatement(parser *p, void *out) { function parse_forstatement (line 1314) | bool parse_forstatement(parser *p, void *out) { function parse_dostatement (line 1396) | bool parse_dostatement(parser *p, void *out) { function parse_breakstatement (line 1417) | bool parse_breakstatement(parser *p, void *out) { function parse_returnstatement (line 1426) | bool parse_returnstatement(parser *p, void *out) { function parse_trystatement (line 1443) | bool parse_trystatement(parser *p, void *out) { function parse_breakpointstatement (line 1464) | bool parse_breakpointstatement(parser *p, void *out) { function parse_expression (line 1479) | bool parse_expression(parser *p, void *out) { function parse_pseudoexpression (line 1484) | bool parse_pseudoexpression(parser *p, void *out) { function parse_statement (line 1494) | bool parse_statement(parser *p, void *out) { function parse_declaration (line 1526) | bool parse_declaration(parser *p, void *out) { function parse_declarationmulti (line 1550) | bool parse_declarationmulti(parser *p, int n, tokentype *end, void *out) { function parse_program (line 1571) | bool parse_program(parser *p, void *out) { function _parse_parserulecmp (line 1670) | int _parse_parserulecmp(const void *l, const void *r) { function parserule (line 1677) | parserule *parse_getrule(parser *p, tokentype type) { function parse_setparsetable (line 1690) | bool parse_setparsetable(parser *p, parserule *rules) { function parse_setbaseparsefn (line 1704) | void parse_setbaseparsefn(parser *p, parsefunction fn) { function parse_setskipnewline (line 1709) | void parse_setskipnewline(parser *p, bool skip, tokentype toknewline) { function parse_setmaxrecursiondepth (line 1716) | void parse_setmaxrecursiondepth(parser *p, int maxdepth) { function parse_init (line 1730) | void parse_init(parser *p, lexer *lex, error *err, void *out) { function parse_clear (line 1750) | void parse_clear(parser *p) { function parse (line 1760) | bool parse(parser *p) { function morpho_parse (line 1769) | bool morpho_parse(parser *p) { function parse_stringtovaluearray (line 1789) | bool parse_stringtovaluearray(char *string, unsigned int nmax, value *v,... function parse_value (line 1830) | bool parse_value(const char *in, value *out) { function parse_initialize (line 1857) | void parse_initialize(void) { FILE: src/support/parse.h type parser (line 20) | typedef struct sparser parser; type precedence (line 48) | typedef int precedence; type parserule (line 56) | typedef struct { type sparser (line 81) | struct sparser { FILE: src/support/platform.c function platform_randombytes (line 58) | bool platform_randombytes(char *buffer, size_t nbytes) { function MorphoComplex (line 85) | MorphoComplex MCAdd(MorphoComplex a, MorphoComplex b) { function MorphoComplex (line 89) | MorphoComplex MCSub(MorphoComplex a, MorphoComplex b) { function MorphoComplex (line 93) | MorphoComplex MCDiv(MorphoComplex a, MorphoComplex b) { function MCSame (line 97) | bool MCSame(MorphoComplex a, MorphoComplex b) { function MCEq (line 103) | bool MCEq(MorphoComplex a, MorphoComplex b) { function platform_isdirectory (line 115) | bool platform_isdirectory(const char *path) { function platform_maxpathsize (line 129) | size_t platform_maxpathsize(void) { function platform_setcurrentdirectory (line 138) | bool platform_setcurrentdirectory(const char *path) { function platform_getcurrentdirectory (line 147) | bool platform_getcurrentdirectory(char *buffer, size_t size) { function platform_gethomedirectory (line 156) | bool platform_gethomedirectory(char *buffer, size_t size) { function platform_directorycontentsinit (line 173) | bool platform_directorycontentsinit(MorphoDirContents *contents, const c... function platform_directorycontentsclear (line 195) | void platform_directorycontentsclear(MorphoDirContents *contents) { function platform_directorycontents (line 204) | bool platform_directorycontents(MorphoDirContents *contents, char *buffe... function MorphoDLHandle (line 237) | MorphoDLHandle platform_dlopen(const char *path) { function platform_dlclose (line 246) | void platform_dlclose(MorphoDLHandle handle) { function MorphoThread_create (line 270) | bool MorphoThread_create(MorphoThread *thread, MorphoThreadFn threadfn, ... function MorphoThread_join (line 286) | void MorphoThread_join(MorphoThread thread) { function MorphoThread_clear (line 295) | void MorphoThread_clear(MorphoThread thread) { function MorphoThread_exit (line 302) | void MorphoThread_exit(void) { function MorphoMutex_init (line 311) | bool MorphoMutex_init(MorphoMutex *mutex) { function MorphoMutex_clear (line 321) | void MorphoMutex_clear(MorphoMutex *mutex) { function MorphoMutex_lock (line 330) | void MorphoMutex_lock(MorphoMutex *mutex) { function MorphoMutex_unlock (line 339) | void MorphoMutex_unlock(MorphoMutex *mutex) { function MorphoCond_init (line 348) | bool MorphoCond_init(MorphoCond *cond) { function MorphoCond_clear (line 358) | void MorphoCond_clear(MorphoCond *cond) { function MorphoCond_signal (line 367) | void MorphoCond_signal(MorphoCond *cond) { function MorphoCond_broadcast (line 376) | void MorphoCond_broadcast(MorphoCond *cond) { function MorphoCond_wait (line 385) | void MorphoCond_wait(MorphoCond *cond, MorphoMutex *mutex) { function platform_clock (line 398) | double platform_clock(void) { function platform_sleep (line 415) | void platform_sleep(int msecs) { FILE: src/support/platform.h type _Dcomplex (line 50) | typedef _Dcomplex MorphoComplex; type MorphoComplex (line 60) | typedef double complex MorphoComplex; type MorphoDirContents (line 83) | typedef struct { type HMODULE (line 102) | typedef HMODULE MorphoDLHandle; type HANDLE (line 118) | typedef HANDLE MorphoThread; type CRITICAL_SECTION (line 119) | typedef CRITICAL_SECTION MorphoMutex; type CONDITION_VARIABLE (line 120) | typedef CONDITION_VARIABLE MorphoCond; type DWORD (line 121) | typedef DWORD MorphoThreadFnReturnType; type DWORD (line 122) | typedef DWORD (*MorphoThreadFn)(void *); type pthread_t (line 124) | typedef pthread_t MorphoThread; type pthread_mutex_t (line 125) | typedef pthread_mutex_t MorphoMutex; type pthread_cond_t (line 126) | typedef pthread_cond_t MorphoCond; FILE: src/support/random.c function splitmix64_next (line 32) | static inline uint64_t splitmix64_next(void) { function splitmix64_seed (line 40) | void splitmix64_seed(uint64_t seed) { function xoshiro256pp_rotl (line 67) | static inline uint64_t xoshiro256pp_rotl(const uint64_t x, int k) { function next (line 73) | static inline uint64_t next(void) { function xoshiro256pp_jump (line 94) | void xoshiro256pp_jump(void) { function xoshiro256pp_longjump (line 123) | void xoshiro256pp_longjump(void) { function xoshiro256p_rotl (line 175) | static inline uint64_t xoshiro256p_rotl(const uint64_t x, int k) { function xoshiro256p_next (line 182) | static inline uint64_t xoshiro256p_next(void) { function xoshiro256p_jump (line 204) | void xoshiro256p_jump(void) { function xoshiro256p_longjump (line 234) | void xoshiro256p_longjump(void) { function random_double (line 263) | double random_double(void) { function random_int (line 270) | unsigned int random_int(void) { function random_initialize (line 277) | void random_initialize(void) { FILE: src/support/resources.c type resourceenumerator (line 21) | typedef struct { function resources_matchbasefolder (line 66) | void resources_matchbasefolder(resourceenumerator *en, char *path) { function resources_basefolders (line 85) | void resources_basefolders(resourceenumerator *en) { function resources_matchfile (line 104) | bool resources_matchfile(resourceenumerator *en, char *file) { function resources_searchfolder (line 131) | void resources_searchfolder(resourceenumerator *en, char *path) { function resourceenumerator_init (line 168) | void resourceenumerator_init(resourceenumerator *en, char *folder, char ... function resourceenumerator_clear (line 179) | void resourceenumerator_clear(resourceenumerator *en) { function resourceenumerator_enumerate (line 187) | bool resourceenumerator_enumerate(resourceenumerator *en, value *out) { function resourceenumerator_defaultfolder (line 203) | void resourceenumerator_defaultfolder(resourceenumerator *en, morphoreso... function morpho_findresource (line 215) | bool morpho_findresource(morphoresourcetype type, char *fname, value *ou... function morpho_listresources (line 231) | bool morpho_listresources(morphoresourcetype type, varray_value *out) { function resources_loadpackagelist (line 247) | void resources_loadpackagelist(void) { function resources_initialize (line 276) | void resources_initialize(void) { function resources_finalize (line 284) | void resources_finalize(void) { FILE: src/support/resources.h type morphoresourcetype (line 18) | typedef enum { FILE: src/support/threadpool.c function morpho_setthreadnumber (line 18) | void morpho_setthreadnumber(int nthreads) { function morpho_threadnumber (line 23) | int morpho_threadnumber(void) { function MorphoThreadFnReturnType (line 30) | MorphoThreadFnReturnType threadpool_worker(void *ref) { function threadpool_init (line 66) | bool threadpool_init(threadpool *pool, int nworkers) { function threadpool_clear (line 90) | void threadpool_clear(threadpool *pool) { function threadpool_add_task (line 109) | bool threadpool_add_task(threadpool *pool, workfn func, void *arg) { function threadpool_fence (line 122) | void threadpool_fence(threadpool *pool) { FILE: src/support/threadpool.h type task (line 24) | typedef struct { type threadpool (line 35) | typedef struct { FILE: test/help.py function morphoHelp (line 13) | def morphoHelp(query): function checkResult (line 18) | def checkResult(result): function morphoMethods (line 22) | def morphoMethods(clss): FILE: test/test.py function remove_control_characters (line 31) | def remove_control_characters(str): function simplify_errors (line 35) | def simplify_errors(str): function simplify_stacktrace (line 40) | def simplify_stacktrace(str): function findvalue (line 44) | def findvalue(str): function finderror (line 48) | def finderror(str): function iserror (line 53) | def iserror(str): function isin (line 59) | def isin(str): function remove (line 65) | def remove(list, remove_list): function findexpected (line 75) | def findexpected(str): function getexpect (line 84) | def getexpect(filepath): function getoutput (line 98) | def getoutput(filepath): function test (line 117) | def test(file,testLog,CI): FILE: test/valgrind.py function checkvalgrindlog (line 22) | def checkvalgrindlog(filepath): function test (line 32) | def test(file, CI):