lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: P THEN lbessard@293: P := Period; lbessard@293: F := 1.0 / P; lbessard@293: Ps2 := P / 2.0; lbessard@293: Fs3 := F / 3.0; lbessard@293: END_IF; lbessard@293: lbessard@293: IF Pf <> Pn THEN lbessard@293: delta := Pf - P0 - V0 * P; lbessard@293: lbessard@293: Va := SQRT(ABS(2.0 * Gmvt * delta) + Vf * Vf); lbessard@293: Vb := Vf + delta * Fs3; lbessard@293: lbessard@293: IF Va > ABS(Vb) THEN lbessard@293: Vaut := MIN(ABS(Vb), Vmvt); lbessard@293: IF Vb < 0.0 THEN lbessard@293: Vaut := -Vaut; lbessard@293: END_IF; lbessard@293: ELSE lbessard@293: Vaut := MIN(Va, Vmvt); lbessard@293: IF Pf < P0 THEN lbessard@293: Vaut := -Vaut; lbessard@293: END_IF; lbessard@293: END_IF; lbessard@293: lbessard@293: Gn := MIN(ABS((Vaut - V0) * F), Gmvt); lbessard@293: IF Vaut < V0 THEN lbessard@293: Gn := -Gn; lbessard@293: END_IF; lbessard@293: lbessard@293: END_IF; lbessard@293: lbessard@293: Vn := V0 + Gn * P; lbessard@293: lbessard@293: Pn := P0 + (Vn + V0) * Ps2; lbessard@293: lbessard@293: IF (P0 >= Pf) <> (Pn >= Pf) AND Vf <> 0.0 THEN lbessard@293: Pn := Pf; lbessard@293: END_IF; lbessard@293: lbessard@293: ]]> lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: GO lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: REAL#0.1 lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: REAL#1.0 lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: REAL#1.0 lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: REAL#10.0 lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: REAL#0.0 lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: 'GO' lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: TRIG lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: GO lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: lbessard@293: