annotate Documentations/GPL_template.txt @ 224:ceecabfddb57 div-fixes-3

Bugfix, deco: fix 2 (small) problems with calculated ceiling This fixes 1 trivial, and 1 not really trivial bug in the calculation of the ceiling. When simulating a bounce dive to 80m, things become clear (tried this on a CCR dive, fixed setpoint 1.2bar, about 15 minutes of bottom time). Closely watch the behavior of the ceiling data. At some point during the ascent, the ceiling begins to decrease in 10cm steps. Then suddenly (while still ascending), the ceiling increases again with 1m, does not change for some time, and then suddenly steps 1.1m less deep. While not very relevant to real deco diving, it is simply wrong. The reason for this is subtle. The algorithm used to find the ceiling is a sort of linear search, stepping down a meter, overshoot the depth, and search back in 10cm steps. It seems some numerical instability. Fixing this, was a bit more computational intensive search by stepping up down in equal steps of 10cm. But, I'm pretty sure that things can be speeded up here, as a ceiling does not change fast, so it should be not that difficult to limit the search space, or use a binary search algorithm instead. The trivial second problem fixed, is that the ceiling ends at the surface and not at 1m depth. This small issue became visible after changing the step down size above. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Sun, 31 Mar 2019 19:35:51 +0200
parents 6237372f76a4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
3 ///
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
4 /// \file $file
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
5 /// \brief $brief
35
6237372f76a4 ... more GPL License and general cleanups
jDG@sauge
parents: 31
diff changeset
6 /// \author Heinrichs Weikamp gmbh
29
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
7 /// \date $date
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
8 ///
31
da118222e18b [ADD]Discovery/Src licences, plus reindentation
jDG@sauge
parents: 29
diff changeset
9 /// \details
da118222e18b [ADD]Discovery/Src licences, plus reindentation
jDG@sauge
parents: 29
diff changeset
10 ///
29
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
11 /// $Id$
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
14 ///
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
18 /// (at your option) any later version.
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
19 ///
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
23 /// GNU General Public License for more details.
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
24 ///
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////