#julia

Konversioita Julian datatyyppien välillä

Published at July 5, 2020 ·  2 min read

Juliasta löytyy 8, 16, 32 ja 64-bittiset datatyypit kuten muistakin ohjelmointikelistä. Lisäksi löytyvät merkkijonot ja binääri- sekä heksaesitysmuodot. Käyn tässä kirjoituksessa läpi joitakin tyyppimuunnoksia jotka tulevat joissakin yhteyksissä vastaan mutta eivät ole aivan ilmeisiä.

...


Metaohjelmointia Julialla, tekniikoista

Published at June 22, 2020 ·  4 min read

Koska makrot ovat ennen kaikkea koodin esikäsittelyä, niiden inputit ovat rajalliset, sillä ohjelmakoodia ei ole suoritettu ennen makroa. Makro voi ottaa input argumentteina lähinnä numeroita ja merkkijonoja.

...


Metaohjelmointia Julialla: symbolinen derivointi

Published at June 19, 2020 ·  8 min read

Esittelen seuraavaksi erään ihan todellisen käyttötapauksen, missä makrojen käytöstä voi olla todellista hyötyä. Kuvitellaan tilannetta, missä meillä on olemassa jokin analyyttinen funktio, yksinkertaisuuden vuoksi polynomi. Haluamme laskea tämän polynomin analyyttisiä derivaattoja nopeasti. Toteutetaan yksinkertainen CAS-laskin, joka osaa derivoida polynomeja. Käytän tässä pohjana John Myles Whiten blogikirjoitusta.

...


Julian makrot

Published at June 18, 2020 ·  4 min read

Eräs hieno ominaisuus Juliassa on sen makrot. Juliassa makro on hieman funktion kaltainen rakenne, joka palauttaa Expr-tyypin joka suoritetaan makron päätyttyä. Makroa voi ajatella ikääneräänlaisena esikäsittelijänä, jolla voi muokata koodin rakennetta ennenkuin se itse asiassa suoritetaan.

...


Algoritmien benchmarkkaaminen Julialla

Published at June 16, 2020 ·  5 min read

Funktioiden benchmarkkaaminen Juliassa on tehty helpoksi erikseen asennttavalla BenchmarkTools-paketilla. Tarkastellaan seuraavanlaista ongelmaa: käyttäjälle annetaan kokonaislukulista arr, ja yksittäinen luku target. Implementoi funktio, joka palauttaa indeksiparin (i, j) siten, että listan alkioiden summa on target, siis arr[i] + arr[j] = target. Kannattaa käyttää hetki aikaa ja miettiä ratkaisua.

...