Autor Beitrag
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 06.07.14 23:33 
Hallo,
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Wobei ich mir nicht sicher bin, ob da ein julianisches Jahr richtig war. War es?

Die "Genauigkeit" Deiner Rechnung gibt sogar die Pikometer je Sekunde an. Da sollte es schon das tropische Jahr sein, also
ausblenden Quelltext
1:
2:
Meeus 1994: Tropisches Jahr = 365,24219879 d - 0,00000614 · T; Zunahme um 5,36 Sekunden je Jahrtausend
T … Zeit in julianischen Jahrhunderten von je 36525 Ephemeriden Tagen seit 1900, Januar 0.5
:mrgreen:

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Komm halt vorbei und hol ihn dir :D

Im Herbst bin ich eine Woche in Quedlinburg. Ballenstedt ist nicht so weit. :wink:

Beste Grüße
Mathematiker
Stundenplan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 32

Win 7
Delphi 7 Pers., C# (VS 2010 Express)
BeitragVerfasst: Mo 07.07.14 11:51 
Irgendwo geistert noch ein DivByZero-Bug herum; der Selftest bricht nämlich mit dieser Exception ab.
Hier mal der Log:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
.....
 Begin: Arithmetic Operations
    Begin: Numeric
      Begin: Add
        Success
        Success
        Success
        Success
      Begin: Sub
        Success
        Success
        Success
        Success
        Success
        Success
      Begin: Mul
        Success
        Success
      Begin: Div
  //hier knallts
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 07.07.14 16:14 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Komm halt vorbei und hol ihn dir :D

Im Herbst bin ich eine Woche in Quedlinburg. Ballenstedt ist nicht so weit. :wink:
Oh, na da mach ich mir doch mal einen Knoten in den Kalender :)

user profile iconStundenplan hat folgendes geschrieben Zum zitierten Posting springen:
Irgendwo geistert noch ein DivByZero-Bug herum; der Selftest bricht nämlich mit dieser Exception ab.
Oh, stimmt. Wenn man schon 1/0=INF etc. implementiert, sollte man das auch für alle Datentypen tun. Habs gefixt, mal gucken ob das nächste Release wieder ein Jahr dauert :P

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Fr 29.05.15 20:06 
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
mal gucken ob das nächste Release wieder ein Jahr dauert :P
*hüstel*

Mal so in den Raum gefragt: benutzt das Ding jemand? Ich hätte da nämlich mal eine Konzeptfrage.
Aktuell ist das Ziel immer noch der 1-Datei-Minimalmodus, alle externen Dateien (Dokumentation, Rulesets) sind optional. Das macht aber einige Dinge sehr unhandlich... Ließe sich einfach umgehen, indem man eine normale Verzeichnisstruktur draus macht. Die würde ich immer noch gerne portabel haben, aber bevor ich da jetzt irgendwem den Usecase wegschieße, frag ich lieber ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: Hidden
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 29.05.15 23:56 
Hallo,
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Mal so in den Raum gefragt: benutzt das Ding jemand?

Ja, ich! :zustimm:
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Die würde ich immer noch gerne portabel haben, aber bevor ich da jetzt irgendwem den Usecase wegschieße, frag ich lieber ;)

Ich sehe da kein Problem

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Narses
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Fr 22.01.16 02:04 
Fast Pi/2 Jahre rum, man könnte mal wieder ein Release machen, oder? :lol:

V9 ist raus, mit vielen Änderungen:

  • diverse Bugfixes (alle hier gemeldeten und einige weitere)
  • Portierung auf Delphi 2007; Wenn es schon mein letztes Delphi-Projekt ist, kann man's auch etwas komfortabler haben...
  • Saubere Quellcodestruktur mit Unterverzeichnissen
  • Neue Funktion: Smooth(), einfache Glättungsfunktion für Tupellisten {a,b}
  • Neue Diagramme: jetzt mit mehr OOP und deswegen einfachem Export (siehe Kontextmenü der Graph-Fenster)
  • Neue Diagrammoptionen: Title, XLabel, YLabel als Optionen für das Diagramm sowie Caption für die Plotobjekte (Beispiel (png, 10.11 KB))
  • Verbesserte Fehlermeldungen bei SyntaxError
  • Neu: MemInfo(), Speicherinfo (von Delphis Speichermanager)
  • Neu: Pragma(), globale Konfigurationsoptionen. Erste Anwendung: Pragma('ColorScheme',...) mit 'Random' oder 'Default' für die Standard-Farbtabelle von Diagrammen
  • Neu: Compound Statements mit ";" (niedrigere Präzedenz als ",")
  • Fix: Ausgabe von Ausdrücken ist jetzt eher zu oft geklammert als zu wenig
  • Neu: Funktionale Definition von Subkontexten mit "->". Parameter werden ohne explizite Nennung an die lokalen Variablen gebunden. Überflüssige Parameter werden ignoriert, fehlende angemeckert:
    ausblenden Beispiel:
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    >  f:= {x} -> x^2;
    =  ({x}->(x^2))

    >  f[42]
    =  1 764

    >  f[]
    Not enough parameters for subcontext, expected 1 got 0

    Hier kommt auch das Compound Statement zum Einsatz, der Body wird dann geklammert (siehe Beispiel weiter unten).
  • CSVLoad(): Nicht-numerische Felder werden Strings, statt Fehler
  • Neu: CSVSave(), Export in CSV
  • Neues IO-System: Mathematica-"inspirierte" Import()/Export()/ImportString()/ExportString(), bei denen das Format über die Option "Format" angegeben wird.
    ausblenden Beispiel:
    1:
    2:
    3:
    4:
    5:
    >  a=ImportString('1 2 3', format='CSV',Delimiter=' ')
    =  {{1, 2, 3}}

    >  ExportString(a, Format='CSV')
    =  1;2;3

    Unterstützte Formatbezeichner und deren Optionen sind in der Dokumentation beschrieben.
    Achtung: die oben erwähnten CSVLoad/CSVSave sind nur noch Aliase auf Import/Export(..., Format='CSV',...)!
  • Neu: String-Funktionen Insert(), Delete(), Substr(), Split(), Join()
  • Neu: HexDump() (die wird noch spannender, weil jetzt auch sowas geht)
  • Anpassung des Hacking Guides an alle Neuerungen


Eine "Neat Application" (wie Wolfram in der Doku immer schreibt) ist jetzt z.B. das folgende Skript, welches 10 Perioden einer Sinusfunktion als Lookup-Datei generiert, wie man sie dann in einen Arbitrary Function Generator der SDG200x-Reihe von Siglent laden kann (warum man das braucht könnt ihr selber googlen, ist etwas lustig...):
ausblenden Quelltext
1:
2:
3:
§wrap:= {lst} -> (merge({{'data length',count(lst)},{'xpos','values'}},lst))
§d=wrap[each(range(0,8192-1,1),x,{'',sin(x/8192*tau*10)})]
§csvsave('10sine8k.csv', d, delimiter=' ',quotechar='"')


Neuer Download ist im ersten Beitrag.

Skripte können jetzt auch mit ";" am Zeilenende geschrieben werden. Das ist semantisch allerdings etwas leicht anderes als die §-Schreibweise, da mit dieser alle Statements einzeln ausgeführt werden, als Compound allerdings alles am Stück. Die Kontext-Funktionen New() und Drop() sind davon z.B. betroffen.

Hier mal noch ein Compound-Beispiel mit Funktionen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
>  multi:= {str} -> (
  raw=ImportString(str,format='CSV');
  line=raw@0;
  each(line,r,r*3)
)
=  ({str}->((raw=ImportString(str,(format='CSV')));(line=(raw@0));each(line,r,(r*3))))

>  multi['1;2;3']
=  {3, 6, 9}


Und, so langsam habe ich ein Problem. Das RichEdit als Ausgabefenster wird immer problematischer, immer öfter laufe ich in komische Bugs, bei denen die Formatierung einfach mal explodiert. Ich tendiere aktuell zu THTMLViewer, aber das wird auch nicht so ganz trivial (da kann man nämich eigentlich nichts nachträglich einfügen). Wenn da also jemand Vorschläge hat, immer her damit ;)

Wo wir gerade bei Vorschlägen sind: logische Funktionen sind so ziemlich das nächste auf der Liste. Da stellt sich jetzt aber eine Frage: Einführen eines echten Boolean-Typs oder Matlab-artiges 1/0-geschubse mit Integern? Ich bin mir da echt nicht schlüssig, was handlicher wird.
Einloggen, um Attachments anzusehen!
_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: FinnO
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 22.01.16 08:08 
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
[...] welches 10 Perioden einer Sinusfunktion als Lookup-Datei generiert, wie man sie dann in einen Arbitrary Function Generator der SDG200x-Reihe von Siglent laden kann (warum man das braucht könnt ihr selber googlen, ist etwas lustig...):

Bin ich eigentlich der einzige, bei dem bei solchen Sätzen das Gehirn aussetzt und in den Pupillen nur noch "TILT" steht? :eyecrazy: :nut:

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Sa 23.01.16 08:42 
Hallo,

glaub ich Dir nicht.
Hört sich doch nur wie ein Digitalanalogwandler mit 8192 Stützstellen an, die man wohl in verschiedenen Geschwindigkeiten, eventuell sufenlos, ausgeben lassen kann.
Wenn nicht müsste ich gurgeln

Gruß Horst