From b27d39562d1cf0906114546cf6aaa7e8deacbe31 Mon Sep 17 00:00:00 2001 From: Henri Saudubray Date: Wed, 21 May 2025 16:44:49 +0200 Subject: [PATCH] feat: changes to presentation --- doc/pres.typ | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/doc/pres.typ b/doc/pres.typ index 5c292c6..88c12a8 100644 --- a/doc/pres.typ +++ b/doc/pres.typ @@ -51,14 +51,6 @@ #set raw(syntaxes: "zelus.sublime-syntax") #show raw: set text(font: "CaskaydiaCove NF") -#let rbrace(in-block, out-block, out-width: auto, ..args) = { - math.lr([ - #in-block - $mid(})$ - #block(width: out-width, out-block) - ]) -} - = Executing Hybrid Systems Henri Saudubray @@ -152,7 +144,7 @@ Solution: simulate assertions with their own solver. Nodes take an additional reset parameter `'p` for their reset function: -#align(horizon)[ +#align(top)[ #grid(columns: (3fr, 2fr), align: (left, left), ```ocaml type ('p, 'a, 'b) dnode = @@ -205,7 +197,7 @@ Hybrid nodes are a bit more complex: == ODE solvers -#slide(self => [ +#slide(repeat: 3, self => [ #let (uncover, only) = utils.methods(self) ODE solvers are discrete nodes producing streams of functions defined on @@ -245,7 +237,7 @@ Hybrid nodes are a bit more complex: size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5), y-tick-step: none, y-label: none, y-min: 0, y-max: 6, x-tick-step: none, x-label: none, x-min: 0, x-max: 5, - x-ticks: ((2, ""), (4, ""), (5, $h, h'$)), { + x-ticks: ((2, ""), (4, ""), (5, $h', h$)), { add(domain: (4, 5), t => calc.sin(t) + t, label: $u$) add(domain: (0, 4), t => calc.sin(t) + t) })) @@ -254,7 +246,7 @@ Hybrid nodes are a bit more complex: == Zero-crossing solvers -#slide(self => [ +#slide(repeat: 3, self => [ #let (uncover, only) = utils.methods(self) Zero-crossing solvers are discrete nodes too, looking for zero-crossings on @@ -282,7 +274,7 @@ Hybrid nodes are a bit more complex: size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5), y-tick-step: none, y-label: none, y-min: -2, y-max: 5, x-tick-step: none, x-label: none, x-min: 0, x-max: 2, - x-ticks: ((2/3, $h, h'$),), { + x-ticks: ((2/3, $h', h$),), { add(domain: (0, 2/3), t => t * t - 1, label: "u") })) only(2, plot( @@ -297,7 +289,7 @@ Hybrid nodes are a bit more complex: size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5), y-tick-step: none, y-label: none, y-min: -2, y-max: 5, x-tick-step: none, x-label: none, x-min: 0, x-max: 2, - x-ticks: ((2, $h, h'$),), { + x-ticks: ((2, $h', h$),), { add(domain: (1, 2), t => t * t - 1, label: "u") add(domain: (0, 1), t => t * t - 1) })) @@ -694,8 +686,8 @@ progressively. ) })) -Combined with in-place state modifications and resets, this could hinder -performance. +Combined with in-place state modifications, resets and composition, this could +hinder performance. == State copies