MML – Minimal Math Library, release 0.8 💪

MML – Minimal Math Library, release 0.8 💪

Početni ushit, zatim shvaćanje enormnosti zadatka, onda oranje … i s novom izdanom verzijom MML-a (https://github.com/zvanjak/MML) to polako počinje ličiti na gušt 🤗. Ne da “počinje ličiti na nešto”, kako sam okarakterizirao verziju 0.6 🤣, jer ima tu još rupa za zakrpati i stvari za popraviti, no samo KORIŠTENJE mog matematičkog librarya polako postaje gušt.

U ovoj verziji sam se fokusirao na to da bar počnem razrađivati neke od već definiranih konkretnih primjera ilustriranja MMLa: računanje tenzora inercije, simulacija gibanja u gravitacijskom polju a počeo sam i s radom na collision simulatoru, i prizadovoljan sam kako to sve lijepo “klapa”.

Jest da me glupo zaboravljena referenca na class memberu koštala dva sata debugiranja i istraživanja zašto prokleti std::function nakon jednog poziva odlazi out of scope 🙄, ali ne računajući to, za primjer s računanjem tenzora inercije, i što je još važnije, verifikacijom da je to pravi (Cartesian) tenzor podvrgavajući ga tenzorskim transformacijama (naravno, već implementiranim), mi je trebalo 15 minuta programiranja 💪💪💪.

Uglavnom, polako je onaj hard-core, ground-breaking posao postavljanja temelja bar donekle završen, i konačno počinjem koristiti MML za istraživanje stvari koje me zanimaju.

Započeo sam s radom na surface i volume integraciji, ali ne ovoj jednostavnoj u Kartezijevom 3D sustavu koja je već tu, već definirano nad kompleksnim površinama i tijelima, pri čemu će trebati i Geometry 2D i 3D header dovesti up-to-speed, i kad to dovršim … well, to će polako zaokružiti scope matematičkih objekata i algoritama koje planiram za verziju 1.0.

Pored ovih par razrađenih primjera, poboljšan je real functions test bed, konačno dovršena implementacija (bazičnih) intervala, finalizirane sve vrste matrica (Matrix, MatrixNM, MatrixSym, TridiagMatrix, BandDiagmatrix) i njihovi solveri, MASOVNI effort je bio kad sam odlučio po prvi put zamijeniti u typedefu Real tipa double s floatom 🤣🤣🤣. Ali, sad može i tako … a može i long double, ako ti baš treba 😎.

Eh da, i dokumentacija je dorađena (iako ju “nitko ne čita” 🤣), pa sad bar neki linkovi s README ne vode na prazne stranice samo s naslovom, već actually ima i nešto korisno za pročitati (da ne moraš ići raditi git clone i uranjati u kôd).

Plan za verziju 0.9 – dovršiti surface i volume uz geometry 3d, dovršiti function analyzer, finalizirati bar osnove linearnih operatora i funkcionala, i vidjeti dokle mogu doći s FunctionSpaces.

I naravno, poraditi još na konkretnim primjerima korištenja, poboljšati (MASIVNO) vizualizatore (i implementirati još par novih), konačno finalizirati testove bar za base layer … posla ko u priči.

1 misao o “MML – Minimal Math Library, release 0.8 💪

Komentiraj