Skip to content

Commit ece8fa2

Browse files
authored
Use Scientific Notations for Small Float Numbers (#488)
* Code reformatted. (#487) * Code reformatted. (#487)
1 parent 7f12464 commit ece8fa2

8 files changed

Lines changed: 19 additions & 18 deletions

File tree

leads/comm/prototype.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def receive(self, chunk_size: int = 512) -> bytes | None:
236236
msg += (chunk := self._require_open_socket().recv(chunk_size))
237237
return self.with_remainder(msg)
238238
except IOError:
239-
return
239+
return None
240240

241241
@_override
242242
def send(self, msg: bytes) -> None:

leads/data_persistence/analyzer/inference.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def __init__(self) -> None:
5858
def complete(self, *rows: dict[str, _Any], backward: bool = False) -> dict[str, _Any] | None:
5959
row = rows[0]
6060
if SpeedInferenceBase.skip(row):
61-
return
61+
return None
6262
speed = None
6363
if not speed_invalid(s := row["front_wheel_speed"]):
6464
speed = s
@@ -84,7 +84,7 @@ def complete(self, *rows: dict[str, _Any], backward: bool = False) -> dict[str,
8484
if (SpeedInferenceBase.skip(target) or time_invalid(t_0) or
8585
time_invalid(t) or speed_invalid(v_0) or
8686
acceleration_invalid(a_0)):
87-
return
87+
return None
8888
a = target["forward_acceleration"]
8989
if acceleration_invalid(a):
9090
a = a_0
@@ -205,11 +205,11 @@ def complete(self, *rows: dict[str, _Any], backward: bool = False) -> dict[str,
205205
t_0, t, v_0, s_0 = base["t"], target["t"], base["speed"], base["mileage"]
206206
if (MileageInferenceBase.skip(target) or time_invalid(t_0) or time_invalid(t) or
207207
speed_invalid(v_0) or mileage_invalid(s_0)):
208-
return
208+
return None
209209
v = target["speed"]
210210
if speed_invalid(v):
211211
v = v_0
212-
return {"mileage": s_0 + .00000125 * (v_0 + v) * (t - t_0) / 9}
212+
return {"mileage": s_0 + 125e-8 * (v_0 + v) * (t - t_0) / 9}
213213

214214

215215
class MileageInferenceByGPSPosition(MileageInferenceBase):
@@ -249,7 +249,7 @@ def __init__(self, *channels: _Literal["front", "left", "right", "rear"]) -> Non
249249
@_override
250250
def complete(self, *rows: dict[str, _Any], backward: bool = False) -> dict[str, _Any] | None:
251251
if backward:
252-
return
252+
return None
253253
target, base = rows
254254
original_target = target.copy()
255255
t_0, t = target["t"], base["t"]

leads/data_persistence/analyzer/processor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ def unit(row: dict[str, _Any], i: int) -> None:
226226
else:
227227
path.append(p)
228228

229-
self.foreach(asserted_unit if asserted else unit, True, not asserted)
229+
self.foreach(asserted_unit if asserted else unit, skip_gps_invalid_rows=not asserted)
230230

231231
def suggest_on_lap(self, lap_index: int) -> tuple[str, str]:
232232
a, b, duration, distance, avg_speed = self._laps[lap_index]
@@ -276,7 +276,7 @@ def unit(row: dict[str, _Any], index: int) -> None:
276276
if self._max_lap_y is None or y > self._max_lap_y:
277277
self._max_lap_y = y
278278

279-
self.foreach(unit, True, True)
279+
self.foreach(unit, skip_gps_invalid_rows=True)
280280
far = max(self._max_lap_x, self._max_lap_y)
281281
self._lap_x.append(far)
282282
self._lap_y.append(far)

leads/ltm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
def _load_ltm() -> None:
1010
global _ltm
11-
with open(f"{_abspath(__file__)[:-6]}_ltm/core", "r") as f:
11+
with open(f"{_abspath(__file__)[:-6]}_ltm/core") as f:
1212
ltm_content = f.read()
1313
if not (ltm_content.startswith("{") and ltm_content.endswith("}")):
1414
ltm_content = "{}"

leads_arduino/wheel_speed_sensor.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def rpm2kmh(rpm: float, wheel_circumference: float) -> float:
1313
:param wheel_circumference: wheel circumference in centimeters
1414
:return: speed in kilometers per hour
1515
"""
16-
return rpm * wheel_circumference * .0006
16+
return rpm * wheel_circumference * 6e-4
1717

1818

1919
class WheelSpeedSensor(_Device):
@@ -56,19 +56,20 @@ def update(self, data: str) -> None:
5656
if self._accelerometer and self._last_acceleration:
5757
a = self._accelerometer.read().linear().forward_acceleration
5858
v = (a + self._last_acceleration) * 1.8 * (t - self._last_valid)
59-
if abs((ws - self._wheel_speed - v) / (v + .0000000001)) > 1.5:
59+
# add a small constant to avoid zero division
60+
if abs((ws - self._wheel_speed - v) / (v + 1e-10)) > 1.5:
6061
return
6162
self._last_acceleration = a
6263
self._wheel_speed = ws
6364
self._last_valid = t
6465
if self._odometer:
65-
self._odometer.write(self._wheel_circumference * .00001)
66+
self._odometer.write(self._wheel_circumference * 1e-5)
6667

6768
@_override
6869
def read(self) -> float:
6970
"""
7071
:return: speed in kilometers per hour
7172
"""
72-
# add .0000000001 to avoid zero division
73-
r = rpm2kmh(60 / (.0000000001 + _time() - self._last_valid), self._wheel_circumference) / self._num_divisions
73+
# add a small constant to avoid zero division
74+
r = rpm2kmh(60 / (1e-10 + _time() - self._last_valid), self._wheel_circumference) / self._num_divisions
7475
return 0 if r < .1 else r if r < 5 else self._wheel_speed

leads_comm_serial/connection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def receive(self, chunk_size: int = 1) -> bytes | None:
3131
msg += (chunk := self._require_open_serial().read(chunk_size))
3232
return self.with_remainder(msg)
3333
except IOError:
34-
return
34+
return None
3535

3636
@_override
3737
def send(self, msg: bytes | _Literal[b"disconnect"]) -> None:

leads_gui/performance_checker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ def net_delay(self) -> float:
2323
return float(_average(self._net_delay_seq))
2424

2525
def record_frame(self, last_interval: float) -> None:
26-
# add .0000000001 to avoid zero division
26+
# add a small constant to avoid zero division
2727
self._time_seq.append(t := _time())
28-
self._delay_seq.append(delay := .0000000001 + t - self._last_frame)
28+
self._delay_seq.append(delay := 1e-10 + t - self._last_frame)
2929
self._net_delay_seq.append(delay - last_interval)
3030
self._model = _poly1d(_polyfit(self._time_seq, self._net_delay_seq, 5))
3131
self._last_frame = t

leads_video/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
def get_camera(tag: str, required_type: type[Camera] = Camera) -> Camera | None:
1717
if not _has_device(tag):
18-
return
18+
return None
1919
cam = _get_device(tag)
2020
if not isinstance(cam, required_type):
2121
raise TypeError(f"Device \"{tag}\" is supposed to be a camera")

0 commit comments

Comments
 (0)