• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Bug im Solver (CB und WCB)

cacheboxer

Geomaster
Hallo,

der Solver unterscheidet bei Variablen Groß- und Kleinschreibung. Wenn ich die Formel
Code:
"N53° 09."a""b""c" E 9° 30."A""B""C
auswerten lasse, wird gefragt, ob Deklarationen für a,A,b,B, c und C eingefügt werden sollen. Das hat mich heute auf einem großen Multi in Sicherheit gewiegt (, gewogen oder wie auch immer das heißt...).

Als ich irgendwann nichts mehr gefunden habe, stellte ich fest, dass der Solver die Kleinbuchstaben alle durch die Werte der jeweiligen Großbuchstaben ersetzt hatte:

Code:
a=1
A=5
b=2
B=6
c=3
C=7
"N53° 09."a""b""c" E 9° 30."A""B""C -> N53° 09.567 E 9° 30.567

Wäre es möglich, dies noch in der WM-Version zu korrigieren, bitte?

MfG
 

quercus

Geowizard
ich hänge mich hier mal an

Hintergrund:
Ich muss in einem Cache die Quadratwurzel ziehen. Da es ja kein Wurzelzeichen gibt habe ich mit "hoch 0,5" gearbeitet

Solver WCB:
WCB hat ^0.5 einwandfrei verarbeitet und den richtigen Wert ausgegeben

Cachebox:
Aber dann im Feld mit richtigen Daten hat die CB ^0.5 nicht mehr erkannt und es als Variable angesehen.

Könnte mal bitte ein Programmierer überprüfen, ob die CB mit Potenzen Probleme hat?
Danke
 

Ging-Buh

Geowizard
Ich werde mir die angesprochenen Dinge ansehen. Ich hoffe, ich habe am Wochenende Zeit und Gelegenheit dafür.
 

Ging-Buh

Geowizard
cacheboxer schrieb:
Hallo,

der Solver unterscheidet bei Variablen Groß- und Kleinschreibung. Wenn ich die Formel
Code:
"N53° 09."a""b""c" E 9° 30."A""B""C
auswerten lasse, wird gefragt, ob Deklarationen für a,A,b,B, c und C eingefügt werden sollen. Das hat mich heute auf einem großen Multi in Sicherheit gewiegt (, gewogen oder wie auch immer das heißt...).
Hallo cacheboxer,

grundsätzlich unterscheidet der Solver nicht zwischen Groß- und Kleinschreibung.
Es ist nur bei der Bestimmung der fehlenden Variablen ein Bug im Solver. Wenn in einer Formel eine Variable als groß und als klein drin ist, wird diese momentan 2x eingefügt (1x groß und 1x klein).
Da aber eben der Solver nicht zwischen Groß- und Kleinschreibung unterscheidet wird die 2. Zuweisung einfach die erste überschreiben...

Ich werde es dahin ändern, dass bei der Bestimmung der fehlenden Variablen die Groß- Kleinschreibung nicht mehr berücksichtigt wird...
 

Ging-Buh

Geowizard
lighthiller schrieb:
quercus schrieb:
Könnte mal bitte ein Programmierer überprüfen, ob die CB mit Potenzen Probleme hat?
Danke

Ist mir letztens bei der Cachebox auch aufgefallen, dass das potenzieren nicht ging. Ich benutze version 1_0_680.
Du hast recht, das Potenzieren ist im Solver von CacheBox tatsächlich nicht implementiert. Ich werde es nachholen...
 
OP
C

cacheboxer

Geomaster
Ging-Buh schrieb:
Ich werde es dahin ändern, dass bei der Bestimmung der fehlenden Variablen die Groß- Kleinschreibung nicht mehr berücksichtigt wird...
Umgekehrt (auch Kleinbuchstaben richtig verarbeiten) geht's nicht?
 

Ging-Buh

Geowizard
cacheboxer schrieb:
Ging-Buh schrieb:
Ich werde es dahin ändern, dass bei der Bestimmung der fehlenden Variablen die Groß- Kleinschreibung nicht mehr berücksichtigt wird...
Umgekehrt (auch Kleinbuchstaben richtig verarbeiten) geht's nicht?
Ich habe für den Solver von Anfang an geplant, ihn unabhängig von der Groß- Kleinschreibung zu machen. Ich dachte mir, das wäre besser damit man speziell auf den mobilen Geräten mit den kleinen Tastaturen nicht auch noch darauf achten muss. Es ginge ja dann nicht nur um die Variablen sondern auch um die Funktionsnamen, die dann auch genau richtig geschrieben werden müssten.
Dass hier beim Bestimmen der fehlenden Variablen unterschieden wird betrachte ich von daher als Bug und habe es auf SourceForge auch schon geändert.
In deinem oben genannten Beispiel wäre es sicherlich besser wenn unterschieden werden würde. Ich denke aber, dass diese Fälle, in denen eine Unterscheidung vorteilhaft wäre doch sehr sehr selten sein sollten.
 
OP
C

cacheboxer

Geomaster
Kann ich gut mit leben - als Workaround kann man ja A und ka schreiben, wenn man wirklich 'mal mehr braucht.

Ging-Buh schrieb:
Ich habe für den Solver von Anfang an geplant, ihn unabhängig von der Groß- Kleinschreibung zu machen. Ich dachte mir, das wäre besser damit man speziell auf den mobilen Geräten mit den kleinen Tastaturen nicht auch noch darauf achten muss.
Unter diesem Aspekt wäre nochmal über das Quoten bzw. das Trennen der "Tokens" nachzudenken. Ich finde es super umständlich mit der Bildschirmtastatur Formeln mit unzähligen Klammern und/oder Anführungszeichen verzieren zu müssen. Vielleicht hast Du da noch eine Optimierungsidee?

Und vielleicht noch den Koordinatenparser etwas toleranter machen, damit er Koordinaten auch ohne Leerzeichen nach dem "°" versteht oder mit "," statt "." bei den Dezimalminuten.

Mir ist klar, dass das Meckern auf hohem Niveau ist - wenn ich bedenke, was der Solver mir als Flüchtigkeits-Schussel schon an Kilometern erspart hat...
 

Ging-Buh

Geowizard
cacheboxer schrieb:
Unter diesem Aspekt wäre nochmal über das Quoten bzw. das Trennen der "Tokens" nachzudenken. Ich finde es super umständlich mit der Bildschirmtastatur Formeln mit unzähligen Klammern und/oder Anführungszeichen verzieren zu müssen. Vielleicht hast Du da noch eine Optimierungsidee?

Und vielleicht noch den Koordinatenparser etwas toleranter machen, damit er Koordinaten auch ohne Leerzeichen nach dem "°" versteht oder mit "," statt "." bei den Dezimalminuten.

Mir ist klar, dass das Meckern auf hohem Niveau ist - wenn ich bedenke, was der Solver mir als Flüchtigkeits-Schussel schon an Kilometern erspart hat...
Dazu ist mir leider auch noch nichts eingefallen. Ich denke, alles über die momentane Variante hinausgehen würde wäre doch ein sehr großer Aufwand.

Die Sache mit dem Koordinatenparser kann ich mir sicherlich bei Gelegenheit nochmal ansehen. Das sollte sicherlich möglich sein und es ist mir noch gar nicht wirklich aufgefallen.
 
Oben