Make hardwired tolerances configurable via a tol parameter (in units of eps)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Start by auditing the package for literal tolerances and calls that rely on lower-level defaults, then trace how tolerance flows through base, SO3, SE3, and UnitQuaternion; the issue names UnitQuaternion.AngVec, SO3.AngleAxis, SE3.AngleAxis, and angvec2tr as examples. Add tol where a tolerance affects results, preserving current defaults and documenting it. Add a test for each changed function showing that tol takes effect.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Any function that applies a hardwired numerical tolerance should expose it as a tol parameter, expressed in units of machine epsilon (eps), so that callers can tighten or loosen it for their application.
Convention
The base module already follows this pattern in places, for example unitvec, iszero, iszerovec, isunitvec and angvec2r: tol is a multiple of eps (default 20), and a quantity is treated as zero when abs(x) < tol * eps. This issue is to apply it consistently.
Scope
- Audit the package for literal tolerances (e.g.
1e-6,1e-12), and for calls that rely on the default tolerance of a lower-level function. - Where a tolerance affects the result, add a
tolparameter in units ofeps, with a default that preserves current behaviour, and document it in the docstring. - Where the tolerance is used deep inside a
basefunction, passtolthrough every intermediate function, so a caller of a high-level method such as anSO3orUnitQuaternionconstructor can still control it. This may require adding the parameter to several functions in a call chain.
Example
UnitQuaternion.AngVec (see #266) now tests the angle with smb.iszero(theta), which uses the default tolerance. A caller cannot change it. It should accept tol and pass it to iszero, and the same applies to SO3.AngleAxis, SE3.AngleAxis and angvec2tr, which call angvec2r (which already has tol, see #267) but do not expose it.
Notes
- Keep defaults unchanged so there is no behaviour change for existing code.
- Add a test per changed function showing that
toltakes effect.
🤖 Generated with Claude Code
- Langage dominant
- Python
- Étoiles
- 648
- Forks
- 108
- Merge moyen
- 9 j 19 h
- PR mergées (30 j)
- 9
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rai-opensource/spatialmath-python
-
trlog2 loses the quadrant for valid SO(2) and SE(2) rotationsPeut-être pris @vera-rubin l’a pris il y a 7 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
rai-opensource/spatialmath-python#252 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
rai-opensource/spatialmath-python#235 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rai-opensource/spatialmath-python#32 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
expand_dims(None) raises TypeError although None is its documented defaultPeut-être pris @Doribelove l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
rai-opensource/spatialmath-python#261 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
rai-opensource/spatialmath-python#257 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de rai-opensource/spatialmath-python
Issues similaires
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
yunaremaia/agent-capability-attestation#64 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
yunaremaia/agent-call-graph#43 ·
Les mainteneurs répondent en général sous 1 jour