File: flow.dot

package info (click to toggle)
casadi 3.7.0%2Bds2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,964 kB
  • sloc: cpp: 114,229; python: 35,462; xml: 1,946; ansic: 859; makefile: 257; sh: 114; f90: 63; perl: 9
file content (89 lines) | stat: -rw-r--r-- 2,481 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
digraph flow {

node [ordering=out];

// Codegen
casadi_foo_setup, casadi_foo_solve, casadi_foo_work, casadi_qp_setup, casadi_foo_set_work, casadi_qp_work, missing_qp_set_work [shape=rectangle];


casadi_qp_setup [label="casadi_qp_setup(qp_prob* p)\nUnpack problem\np->nx=p"];

set_qp_prob -> casadi_qp_setup;

set_qp_prob [label="set_qp_prob()\nClass immutable fields -> struct"];

lifetime -> init;
lifetime -> call;
lifetime -> destructor;

call -> checkout;
call -> eval;
call -> release;

alloc_mem [label="void* alloc_mem()\n (cached)"];
init_mem [label="init_mem(void *)\n (cached)"];

checkout -> alloc_mem;

checkout [label="int checkout()"];
checkout -> init_mem;
release [label="release(int mem)"];

destructor -> clear_mem;

clear_mem -> free_mem;
clear_mem [label="ProtoFunction::clear_mem()"];
free_mem [label="free_mem(void *)"];

init_mem -> add_stat;

init -> qp_init;

casadi_qp_init [label="qp_init(qp_data *d, casadi_int** iw...)\n(empty)"]
init -> set_foo_prob;
init -> casadi_foo_work;
init -> alloc_;

qp_init [label="Conic::init(const Dict& opts)"]

qp_init -> set_qp_prob;


set_qp_prob [label="set_qp_prob()\nFill problem struct with class members\np_qp_.sp_a = A_"];

init [label="init(const Dict& opts)"]

alloc_ [label="alloc_*(...)\nAllocate scratch space arg, res, iw, w"]
casadi_foo_work [label="casadi_foo_work(const foo_prob* p, casadi_int* sz_arg...)\nIncrease scratch space counters"]

casadi_foo_work -> casadi_qp_work;

casadi_qp_work [label="casadi_qp_work(const foo_prob* p, casadi_int* sz_arg...)\nIncrease scratch space counters"]


set_foo_prob -> casadi_foo_setup;

set_foo_prob [label="set_foo_prob()\nFill problem struct with class members\np_.inf = inf_"];

casadi_foo_setup [label="casadi_foo_setup(foo_prob *p)\nUnpack problem\nAvoids codegen/vm duplication of populating helper problem struct elements"]
eval -> setup;
eval -> solve;

solve [label="solve(const double** arg..., void *mem)"];

solve -> casadi_foo_solve;

setup -> set_work;
setup -> set_temp;

setup [label="setup(void *mem, const double** arg...)"];

set_temp [label="set_temp(void *mem, const double** arg...)"];
set_work [label="set_work(void *mem, const double**& arg...)"];
qp_set_work [label="Conic::set_work"];
set_work -> qp_set_work;
qp_set_work -> missing_qp_set_work;
set_work -> casadi_foo_set_work;
casadi_foo_set_work [label="casadi_foo_set_work(foo_data* d, const double ***w...)\nSet mutable data pointers to scratch space\nd->r = *w; *w+=..."];

}