Agena on avoimen lähdekoodin, ilmaisen, monikäyttöisen ja helppokäyttöisen ohjelmointikielen, joka on suunniteltu jokapäiväiseen käyttöön. Sitä voidaan käyttää graafisissa, tieteellisissä, kielellisissä ja oppimisympäristöissä sekä komentosarjatyökaluissa, jotka tukevat kaikkia valtavirran käyttöjärjestelmiä.
Tarjoaa lukuisia virtauksen säätömahdollisuuksia
Sovellus tarjoaa lukuisia virtauksen säätömahdollisuuksia, kuten jos sitten. muunnosolosuhteet, tapaus- ja muut olosuhteet, on operaattori, numeerinen silmukoille ja silmukoille sekä silmukoille ja silmukoille, silmukoille ja silmukoille ja silmukoille ja silmukoille ja silmukoille, ohitusleikkaus, tauko lausekkeesta sekä tietotyyppivalidoinnista.
Tarjoaa numerointityöt
Muista ominaisuuksista voidaan mainita mielivaltainen tarkkuusmatemaattinen kirjasto, henkilökohtaisen ympäristön helppo konfigurointi, helppokäyttöinen pakettijärjestelmä, laskentatoimeksianto, soveltamisvalvonta epocs / scope-avainsanojen avulla sekä monia muita houkuttelevia ominaisuuksia.
Hupun alla ja saatavuus
Nopea katsaus hoodin alla osoittaa meille, että hanke on kirjoitettu C-, BASIC-, Lua- ja ALGOL 68 -ohjelmointikielille, mikä tarkoittaa, että sen syntaksi muistuttaa näiden projektien syntaksia. Se toimii kokonaan konsolin / päätelaitteen ympäristössä, mikä tarkoittaa, että siinä ei ole graafista käyttöliittymää (GUI).
Laivaa yksinkertainen toimittaja
Vaikka Agena-ohjelmisto on komentorivisovellus, se toimittaa yksinkertaisen editorin graafisen ohjelmiston nimeltä AgenaEdit, jossa on integroitu Agena-ympäristö ja syntaksin korostusominaisuudet. Se on voimakkaasti innoittanut samanlainen toimittaja, jonka Bill Spitzak on kehittänyt FLTK-alustan C ++ GUI -työkalusta.
Works on Vadelma Pi
Agenan graafiset ominaisuudet tuetaan GNU / Linux-, Solaris-, Mac OS X-, Microsoft Windows-, eComStation-OS / 2- ja DOS-käyttöjärjestelmissä. Se voidaan helposti ottaa käyttöön sekä 64-bittisissä että 32-bittisissä laitteistoympäristöissä, ja se on testattu onnistuneesti ARM-pohjaisella Raspberry Pi -tietokentällä.
Uutta strong> tämä julkaisu:
- uusi laskentataulukko ja tilastot -toiminto
Uutta strong> versiona:
- uusi laskentataulukko ja tilastot -toiminto
Uutta strong> versiossa 2.9.4:
- Uusi laskentataulukko ja tilastot -toiminto
Uutta strong>
Uutta strong> versiossa 2.8.2:
Uutta strong> versiossa 2.6.1:
- "stats.chauvenet" alempi tai ylempi ylittäjä ohittaen vaihtoehto "outlier = 'lower'` tai` outlier =' upper'`.
- `bags.remove` aiheutti segmentointivirheitä. Tämä on korjattu. Lisäksi kaikki C: ssa toteutetut "pussit" toiminnot on muutettu sisäisesti.
- `+`, `-` ja` * `(ei-dokumentoidut) metamethods eivät toimi, jos` ``````````````````````````` Tämä on korjattu.
Uutta strong> versiossa 2.5.4:
- `stats.chauvenet` voi nyt tarkistaa nimenomaisesti alemman tai ylemmän outliers-arvon ohittamalla vaihtoehtoa` outlier = 'lower'` tai `outlier =' upper'`.
- `bags.remove` aiheutti segmentointivirheitä. Tämä on korjattu. Lisäksi kaikki C: ssa toteutetut "pussit" toiminnot on muutettu sisäisesti.
- `+`, `-` ja` * `(ei-dokumentoidut) metamethods eivät toimi, jos` ``````````````````````````` Tämä on korjattu.
Uutta strong> versiossa 2.5.3:
- "stats.chauvenet" alempi tai ylempi ylittäjä ohittaen vaihtoehto "outlier = 'lower'` tai` outlier =' upper'`.
- `bags.remove` aiheutti segmentointivirheitä. Tämä on korjattu. Lisäksi kaikki C: ssa toteutetut "pussit" toiminnot on muutettu sisäisesti.
- `+`, `-` ja` * `(ei-dokumentoidut) metamethods eivät toimi, jos` ``````````````````````````` Tämä on korjattu.
Uutta strong> versiossa 2.4.2:
- `stats.chauvenet` voi nyt tarkistaa nimenomaan alemman tai ylemmän outliers-arvon ohittamalla vaihtoehtoa` outlier = 'lower'` tai `outlier =' upper'`.
- `bags.remove` aiheutti segmentointivirheitä. Tämä on korjattu. Lisäksi kaikki C: ssa toteutetut "pussit" toiminnot on muutettu sisäisesti.
- `+`, `-` ja` * `(ei-dokumentoidut) metamethods eivät toimi, jos` ``````````````````````````` Tämä on korjattu.
Uutta strong> versiossa 2.3.0 RC1:
- Numeeriset `for`-silmukat tukevat nyt" downto "avainsanaa, jotta voit laskea alas ilman pakollista negatiivista` by` askelkoon. `Downto'-kontekstissa askelkerroksen on aina oltava positiivinen. Aloita ja `pysäyttää 'arvot ovat pakollisia, kun käytät` downto' avainsanaa.
- Metametodods '__finite', '__entier' ja '__sqrt' eivät ole enää tuettuja. Sen sijaan on lisätty kolme uutta metatologiaa rakenteiden toiminnalle: "__union" unionitoiminnoille, "__intersect" määrittää risteykset ja "__minus" erot. Siten "pussit" -paketti tukee myös näitä kolmea toimintoa.
- `` kokonaislukuja käyttävä operaattori ei tukenut metamethodiaan ja käytti sitä sijaan float divison (`/` operaattori). Tämä on korjattu.
- Uusi funktio "stats.gini" määrittää Gini-kertoimen, joka on (in-) tasaus.
- Uusi funktio `stats.zscore` palauttaa näytteen z-pisteet (tavallinen pisteet) laskennan funktiona - keskihajonnojen määrä, jonka näyte on yli tai alle jakelun keskiarvon.
- `stats.sorted` käyttää oletusarvoisesti Introsort-algoritmia Quicksortin sijaan. Tämä voi nopeuttaa laskenta-aikaa kolmesti epäolennetyissä tilanteissa (jolloin Quicksort tarvitsisi O (n ^ 2) toimintaa, mutta ei uhraa suorituskykyä tavallisissa tilanteissa. Itse asiassa Introsort käyttää oletusarvoisesti Quicksortia ja siirtyy automaattisesti Heapsortiin, jos rekursiosyvyys saavuttaa 2 * lokin (n, 2), jossa n on rakenteen elementtien määrä.
- Voit ohittaa tämän logiikan antamalla uuden vaihtoehdon "quicksort", joka käyttää vain perinteistä rekursiivista Quicksort-menetelmää numeroiden lajittelemiseksi. Nyt myös `stats.sorted` voi käyttää Heapsort-algoritmia yksinomaan, jos uutta vaihtoehtoa 'heapsort' siirretään, ja Niklaus Wirthin uusinta vaihtoehtoa 'nrquicksort' laatii ei-rekursiivisen Quicksort-algoritmin.
- Uusi funktio "stats.meanmed" palauttaa sekä aritmeettisen keskiarvon että jakautumisen mediaanin tai vaihtoehtoisesti keskiarvon ja mediaanin osamäärän, nopeuttaen laskenta-aikoja, kun näitä arvoja tarvitaan noin 20 prosentilla.
- Parannettiin `size'-operaattorin virheilmoitusta.
Uutta strong> versiossa 2.1.1:
- Uudet toiminnot ja korjaustiedostot:
- `try / catch`: eksplisiittinen määritys virhemuuttujasta heti` catch` -koodin jälkeen on nyt valinnainen. Jos virhemuuttujaa ei anneta, virheilmoitus tallennetaan automaattisesti paikalliseen `lasterror` -muuttujiin ja` `` `avainsana jätetään pois:
- & gt; kokeile
- & gt; virhe ("oops!")
- & gt; saalis
- & gt; Tulosta (lasterror)
- & gt; YRT;
- oops!
- `try / catch` -lauseke ei toisinaan toiminut menettelyissä (määrittämättömät virhemuuttujat). Tämä on korjattu.
- Uusi `net.wget` -toiminto lataa HTML-sivuja Webistä.
- Viritetty `skycrane.counter` 10%. Toiminto nyt valinnaisesti soveltaa Kahan-Ozawaa alkuperäisen Kahan-summausalgoritmin sijaan, jos uusi kolmas argumentti on merkkijono "ozawa". Vastaavia C-lähteitä on muutettu estämään kääntäjän optimointi, mikä voi myös peruuttaa optimoinnin.
- `argerror` tulostaa nyt sen virheilmoituksen käyttäjän määrittämän tyypin nimen. Jos arvolla ei ole käyttäjän määrittämää tyyppiä, sen perustyyppi julkaistaan.
- Uusi 'a' -vaihtoehto `debug.getinfo` palauttaa menettelyn odottamien argumenttien lukumäärän Rob Hoelzin LuaPowerPatchin ansiosta.
- Parannettu `indeksin ulkopuolella oleva` virheviesti merkkijonoille.
- Muokannut `stats.agn`,` linalg.agn`, `library.agn` ja` ansi.agn` tiedostot niiden virheenkäsittelyn suhteen.
Uutta strong> versiossa 2.1.0:
- Uudenlainen virheenkäsittely, uusi `try / catch` -lausunto on otettu käyttöön. Hu Qiwei on keksinyt ja kirjoittanut Lua 5.1: lle vuonna 2008.
- Yleensä kaikki lausunnot, joissa poikkeus voidaan odottaa, voidaan asettaa "try" -lausekkeeksi. Jos virhe on annettu, joka syntyy eksplisiittisellä kutsulla `error` -toimintoon tai mihin tahansa muuhun ilmaisuun, funktioon tai lausekkeeseen, ohjaa välittömästi hyppää vastaavaan` catch` lausekkeeseen, jos se on läsnä tai `try / yrt `lauseke, jos` catch` -lauseketta ei ole annettu, jättäen huomiotta kaikki muut lausekkeet `try` lausekkeessa.
- `Protection / lasterror' -virhepalveluja on edelleen ja aina tuetaan. Uusi valvontalausunto toimii myös virheiden `break`,` skip`, `redo` ja` return` kanssa.
- Uusi "redo" -lausunto käynnistää uudelleen "for / to" ja "for / in" -silmukan alkamisen.
- Uusi `recip`-operaattori palauttaa numeron x käänteisen. Se vastaa ilmaisua 1 / x, mutta nopeampi.
- Uusi `stats.ema` -toiminto laskee jakelun eksponentiaalisen liukuvan keskiarvon. Uusi funktio "stats.gema" palauttaa iteraattoritoiminnon, joka palauttaa jakelun vastaavan eksponentiaalisen liukuvan keskiarvon.
- `*%`, `+%` ja `-%` palautti `undefined` oikean tuloksen sijasta, jos niiden oikea operandi oli nolla. Tämä on korjattu.
- Kiinteä virheilmoitus `net.survey`.
- Parempia virheilmoituksia parien ja merkkijonojen ulkopuolella olevien indeksointien suhteen.
- ANSI-, Solaris- ja DOS-versioissa `int`-operaattori on viritetty.
- Uusi C API-funktio "agn_arraytoseq" muuntaa numeerisen rivin sekvenssiksi ja työntää uuden sekvenssin pinoon.
- Päivitetty käsikirja.
Uutta strong> versiossa 2.1.0 RC:
- Uusi "redo" -lausunto käynnistää uudelleen "for / to" ja "for / in" silmukan nykyisen iteroinnin alusta. Esimerkki:
- & gt; lippu: = tosi; & Gt; j: n kohdalla [10, 11, 12] & gt; tulostaa ("ennen", j, lippu); & Gt; jos lippu ja j = 11 sitten & gt; kirkas lippu; & Gt; tulosta ('- & gt;', j, lippu, 'hyppää takaisin') & gt; redo & gt; fi; & Gt; tulostaa ("jälkeen", j, lippu) & gt; kunnes j & gt; 12; ennen 10 true after 10 true before 11 true - & gt; 11 false hypätä takaisin ennen 11 false jälkeen 11 false ennen 12 false jälkeen 12 false
- Uusi `recip`-operaattori palauttaa numeron x käänteisen. Se vastaa ilmaisua 1 / x, mutta nopeampi.
- Uusi `stats.ema` -toiminto laskee jakelun eksponentiaalisen liukuvan keskiarvon. Uusi funktio "stats.gema" palauttaa iterointitoiminnon, joka palauttaa jakelun vastaavan eksponentiaalisen liukuvan keskiarvon. Sen käyttöä varten, tutustu src / stats.c-lähdetiedostoon, C-toimintoihin * ema.
- `*%`, `+%` ja `-%` palautti `undefined` oikean tuloksen sijasta, jos niiden oikea operandi oli nolla. Tämä on korjattu.
- Kiinteä virheilmoitus `net.survey`.
- Uusi C API-funktio "agn_arraytoseq" muuntaa numeerisen rivin sekvenssiksi ja työntää uuden sekvenssin pinoon.
Uutta strong> versiossa 2.0.0:
- Uudet lausunnot ja toiminnot:
- Agena 2.0 on alaspäin yhteensopiva Agenan 1.12 kanssa, paitsi että rahakkeiden "tuonti", "alias", "to" ja "onsuccess" ovat nyt avainsanoja eikä niitä voi enää käyttää muuttujina. Tällä hetkellä saatavilla on Solaris, Debian (x86, PowerPC, Vadelma Pi), Windows-, Mac- ja DOS-asennusohjelmat 2.0, mukaan lukien päivitetty alusta ja viite, joka selittää kaikki uudet ominaisuudet yksityiskohtaisesti.
- Uudet silmukan vaihtoehdot `for / as` ja` for / until` tarkistavat ehdon nykyisen iteroinnin lopussa ja joko alkavat seuraavan iteroinnin tai jättävät silmukan. Tämä toimii sekä `for / to` että` for / in` silmukoiden kanssa. Itse asiassa molemmat vaihtoehdot suorittavat silmukan vähintään kerran, kunnes tietyt edellytykset tarkistetaan.
- Esimerkkejä:
- & gt; i-5: lle
- & gt; print (i)
- & gt; kuten i & lt; 3
- & gt; i: lle [1, 2, 3, 4, 5]
- & gt; print (i)
- & gt; kunnes i & gt; = 3
- Uusi "do / until" -silmukka jatkuu, kunnes tietyt ehdot täyttyvät:
- & gt; c: = 0;
- & gt; do
- & gt; inc c;
- & gt; Tulosta (C)
- & gt; kunnes c & gt; = 3
- Numeerisissa `for` -silmukoissa` to` lauseketta ei enää saa antaa. Sen sijaan, kun jätät `to` lausekkeen, silmukka iterates kunnes suurin numero edustavat sinun alustasi, C HUGE_VAL, on saavutettu:
- & gt; sillä minä teen
- & gt; print (i)
- & gt; od
- Uusi `onsuccess` lauseke` if` ja `case` lausumissa suorittaa komennon, jos vähintään yksi ehdoista on totta. Esimerkkejä:
- & gt; lippu: = väärä;
- & gt; jos 1 = 0 niin
- & gt; Tulosta (0)
- & gt; elif 1 = 1 sitten
- & gt; print (1)
- & gt; onsuccess
- & gt; lippu: = totta li>
- & gt; else
- & gt; Tulosta (-1)
- & gt; fi;
- & gt; Tulosta (lippu);
- true
- & gt; lippu: = väärä;
- & gt; jos 1 = 0 niin
- & gt; Tulosta (0)
- & gt; elif 1 = 0 sitten
- & gt; print (1)
- & gt; onsuccess
- & gt; lippu: = totta li>
- & gt; else
- & gt; Tulosta (-1)
- & gt; fi;
- & gt; Tulosta (lippu);
- false
- & gt; lippu: = väärä;
- & gt; a: = 2;
- & gt; case a
- & gt; 1 sitten
- & gt; print (1)
- & gt; 2 sitten
- & gt; print (2)
- & gt; onsuccess
- & gt; lippu: = totta li>
- & gt; else
- & gt; Tulosta (-1)
- & gt; ESAC;
- & gt; Tulosta (lippu);
- true
- Uusi tuontiselvitys mahdollistaa yhden tai useamman kirjaston tuonnin asettamatta nimensä lainausmerkkeihin, esim. "import calc, stats" vastaa "readlib (" calc "," stats ")".
- `import'-lausekkeen` alias` -valinta antaa yhdelle tai useammalle lyhytnimeä kirjastotoimintoihin, jotka on alustettu, esim. "import calc alias xpdiff" vastaa "with (" calc "," xpdiff ")" ja "import calc alias" vastaa "with ('calc')".
- Uusi `..` operaattori sallii indeksoida taulukoita, vaikka sen vasemmanpuoleinen operandi arvioisi` null`. Tällöin `null` palautetaan, eikä` yritä indeksoida kenttää ... (nolla arvo) `virhe. Se on samanlainen kuin "getentry" -toiminto, mutta se on kolme kertaa nopeampi. Esimerkkejä:
- & gt; luo taulukko a;
- & gt; a.b:
- null
- & gt; a.b.c:
- Virhe stdin, rivillä 1:
- yrittää indeksoida kenttää `b` (nolla arvo)
- & gt; a..b..c:
- null
- & gt; luo taulukko a;
- & gt; A [1]:
- null
- & gt; A [1] [2]:
- Virhe stdin, rivillä 1:
- yrittää indeksoida kenttää `?` (nolla-arvo)
- & gt; a .. [1] .. [2]:
- null
- Uusi funktio `drem` arvioi loppuosan kokonaislukuja x / y, mutta 'irem`: n vastaisesti kiertäen sisäisen osamäärän x / y lähimpään kokonaislukuun nollan sijaan.
- Uusi funktio `skycrane.todate` palauttaa nykyisen päivämäärän ja ajan muotoilluksi merkkijonoksi.
- Uusi toiminto `io.truncate` katkaisee tiedoston nykyisessä tiedostokohdassa.
- Uusi toiminto `io.move` muuttaa tiedoston sijaintia tietyn määrän merkkejä vasemmalle tai oikealle.
- Uusi toiminto `io.filesize` palauttaa tiedoston koon.
- `readlib` hyväksyy nyt vain stringsin argumentit. Numerot eivät ole enää sallittuja.
- Jos viimeinen argumentti `with` on Boolean` false`, funktio ei kirjoita kirjattuja lyhytnimiä konsoliin (stdout).
- `strings.fields` hyväksyy nyt myös indeksinumeroiden sarjan. Se ei kuitenkaan hyväksy indeksiä `0` enää.
- Raspberry Pi Wheezy Debianin asennusohjelma sisältää nyt `gdi` -grafiikkakuvakkeen.
- "change.log" -tiedosto on nyt oikein näkyvissä Windowsissa.
Uutta strong> versiossa 2.0.0 RC3:
- Uudet silmukan vaihtoehdot `for / as` ja` for / until` tarkistavat ehdon nykyisen iteroinnin lopussa ja joko alkavat seuraavan iteroinnin tai jättävät silmukan. Tämä toimii sekä ja / tai silmukoiden kanssa.
Uutta strong> versiossa 2.0.0 RC2:
- Uudet silmukan vaihtoehdot `for / as` ja` for / until` tarkistavat ehdon nykyisen iteroinnin lopussa ja joko alkavat seuraavan iteroinnin tai jättävät silmukan. Tämä toimii sekä ja / tai silmukoiden kanssa.
Uutta strong> versiossa 2.0.0 RC1:
- Uusi tuontiselvitys mahdollistaa yhden tai useamman kirjaston tuonnin asettamatta nimensä lainausmerkkeihin, esim. "import calc, stats" vastaa "readlib (" calc "," stats ")".
- `import'-lausekkeen` alias` -valinta antaa yhdelle tai useammalle lyhytnimeä kirjastotoimintoihin, jotka on alustettu, esim. "import calc alias xpdiff" vastaa "with (" calc "," xpdiff ")" ja "import calc alias" vastaa "with ('calc')".
- Uusi `..` operaattori sallii indeksoida taulukoita, vaikka sen vasemmanpuoleinen operandi arvioisi` null`. Tällöin `null` palautetaan, eikä` yritä indeksoida kenttää ... (nolla arvo) `virhe. Se on samanlainen kuin "getentry" -toiminto, mutta se on kolme kertaa nopeampi.
Uutta strong> versiossa 1.12.9:
- Uudet toiminnot "io.getclip" ja "io.putclip" vaihtavat tekstiä Agenan ja leikepöydän välillä (vain Windows).
- `stats.prange` on kirjoitettu uudestaan C: ssä ja se on jopa 60% nopeampi.
- `os.cpuinfo` palauttaa oikeat ja lisää tietoja ARM-järjestelmistä.
- DOS- ja UNIX-järjestelmissä, kuten Mac OS X: ssä ja vain monimutkaisessa verkkotunnuksessa, emäksen 0 eksponentio eksponentille 0 + r * I, jossa r ei-nollan float, palautti `undefined` sijasta 0. Tämä on korjattu.
- DOS- ja UNIX-järjestelmissä, kuten Mac OS X: ssä ja vain monimutkaisessa verkkotunnuksessa, emäksen 0 eksponentio eksponentille r + 0 * I ja r positiivinen float palautti `undefined` sijasta 0. Tämä on on korjattu.
- `stats.obcount` ja` stats.obpart` eivät voineet sisältää arvoja oikealle alimmalle aliintervalle. Tämä on korjattu.
- "calc.nakspline", "calc.naksplinecoeffs", "calc_clampedspline" ja "calc_clampedsplinecoeffs" aiheuttivat segmentoitumisvirheet, jos niitä kutsutaan rakenteella, joka sisälsi liian vähän pisteitä eli pareja. Tämä on korjattu palauttamalla `fail` näissä tapauksissa.
- Mahdolliset muistin poisto-virheet on poistettu osoitteesta "calc.neville", "calc.interp", "calc.newtoncoeffs", "calc.naksplinecoeffs", "calc.clampedsplinecoeffs", "calc.nakspline" ja `calc.clampedspline`.
- Uusi C API-funktio "agn_checkinteger" tarkistaa, onko argumentti numero ja kokonaisluku ja - toisin kuin `luaL_checkinteger` - muusta kuin virhe.
Uutta strong> versiossa 1.9.0:
- Uusi vaihtoehto `alternate` palauttaa ensimmäisen argumenttinsa, jos sen toinen argumentti on` null`. Muuten se palauttaa toisen argumentin.
- -b-siirtyminen Agenan suoritustiedostoon on poistettu, koska sen tulos oli sama kuin -v-vaihtoehto.
- `strings.utf8size`: n Windows- ja UNIX / Mac-versiot sisälsivät mahdollisen muistivuodon; tämä on muutettu.
- Plus-kirjastojen binääriset DLL / SO-järjestelmät eivät enää sisällä käyttämättömiä koodeja, jotka leikkaavat kokoja jopa 10 prosenttia käyttöjärjestelmästä riippuen. Käyttämättömiä otsikkotiedostoja tuodaan aiemmin tuodut makefile ja lähteet. Esimerkiksi tämä vähentää Windows-binäärien kokoa 55 kBytes.
- Laajennettu testisarja.
- Päivitettiin järjestelmätiedostot.
Uutta strong> versiossa 1.6.0:
- Uudet toiminnot ja ominaisuudet:
- Uusi "checktype" -toiminto määrittää, ovatko kaikki rakenteessa olevat arvot tietyntyyppisiä.
- Uusi funktio `isint` tarkistaa, ovatko kaikki sen argumentit kokonaislukuja.
- Uusi funktio `strings.dleven` palauttaa Damerau-Levenshteinin kahden merkkijonon etäisyyden.
- Uusi funktio "stats.ad" määrittää kaikkien arvojen absoluuttisen poikkeaman rakenteessa.
- Uusi funktio `stats.countentries` laskee rakenteen kaikkien elementtien esiintymisnumeron.
- Uusi funktio `stats.deltalist` palauttaa vastaavan naapurielementin deltojen rakenteen.
- Uusi funktio `stats.gmean` palauttaa rakenteen geometrisen keskiarvon.
- Uusi funktio `stats.hmean` palauttaa rakenteen harmonisen keskiarvon.
- Uusi funktio `stats.ios` antaa palautetun osoittimen vakauden jakelussa.
- Uusi funktio `stats.iqr` palauttaa rivikokoisen alueen.
- Uusi funktio "stats.issorted" tarkistaa, onko kaikki rakenteessa olevat numerot järjestetty nousevaan järjestykseen.
- Uusi funktio "stats.moment" laskee tietyn alkamisajankohdan hetkeksi.
- Uusi funktio `stats.numbperm` antaa permutaatiot.
- Uusi funktio "stats.percentile" määrittää prosenttiluvut.
- Uusi funktio `stats.skewness` palauttaa taipuisuuden, todennäköisyysjakauman symmetrian indikaattorin.
- Uusi funktio `stats.sumdata` summaa kaikki alkuperän rakenteen voimat.
- `stats.tovals` on nyt C-kirjastofunktio ja näin ollen jopa 40 prosenttia nopeampi.
- Tyhjä taulukko tai järjestys, `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
- `stats.var` ei nyt palauta.
- Yksittäisen tulkimen syöttörivin enimmäispituus on vaihdettu 512: stä 2048 merkiksi.
- Uusi ympäristömuuttuja "environ.maxpathlength" tallentaa tiedostoradan enimmäismerkkimäärä (pois lukien C: n merkki).
- Uudet ympäristömuuttujat `environ.minnumber` ja` environ.maxnumber` pitävät vähimmäis- ja enimmäisarvon Agena-numeron (tällä hetkellä ANSI-C-kaksois) tallennettavissa.
- Uusi ympäristömuuttuja "environ.umaxlong" sisältää C-tyypin maksimaalisen integraalisen arvon, joka ei ole allekirjoitettu pitkällä 32 + bittisellä järjestelmällä, ja allekirjoittamaton pitkä 16-bittisissä koneissa.
- C API:
- Agena C API: n 100 prosentin yhteensopivuus Luan C API: n kanssa on palautettu käyttöön ottamalla käyttöön Luan * dump-toiminnot. Näin voit nyt tallentaa toimintoja binaarisessa esityksessä, esim. käyttämällä `strings.dump` tai lua_dump C-tasolla.
- Otti käyttöön uuden `agnL_optboolean` -toiminnon tarkistamaan valinnaiset Boolen argumentit ja palauttamaan ne onnistuneesti.
- Virheiden korjaukset:
- `environ.globals` lopettaa aina virheen, tämä on korjattu.
- "oletetaan" palautetaan vääräksi, kun molemmat argumentit ovat tai arvioidaan "undefined". Nyt se palaa totta.
- Agena kaatui ohittaessaan tyhjän pöydän ja rajapyykin `liittymään` - tämä on korjattu.
- "gdi.plot" ei enää huomioi `väri '-vaihtoehtoa.
- Taulukoissa `stats.minmax` palautti vääriä arvoja minimiin. Se toimii nyt oikein.
- Tyhjällä taulukolla `stats.median` palasi 0, nyt se palauttaa epäonnistuneena.
- Vastoin dokumentaatiota, `strings.isending` palasi 'true', kun molemmat jono on yhtä suuri. Tämä on korjattu.
- `run` palasi" ei voinut avata tiedostoa ", jos olemassa oleva Agena-komentosarja sisälsi syntaksivirheen. Tämä on korjattu kokonaan uudelleenkirjoittamalla toiminto.
- Lisätty Lua 5.1.4-korjaus 9: "Väärän koodin generointi tietyille [esim. monimutkaisille] loogisille ilmauksille."
- Lisätty Lua 5.1.4: n korjaustiedosto 11: "Parseri voi kerätä prototyypin rakennusvaiheessa."
- poistanut käyttämättömän avainsanan "oletus".
- Joidenkin toimintojen ja ominaisuuksien kovettuminen.
- parannukset:
- Lisätty _experimental_ versio `io.anykey` Mac -versiosta. Kuitenkin ainakin lionilla avaimen painaminen on joskus kaiku.
- `utils.readcsv` voi nyt palauttaa kaikki arvot CSV-tiedostossa tasaisella sekvenssillä.
- `Clock` -paketti tukee nyt jakeluoperaattoria` / `lisäämällä sen` tm `operaattorin metatiiviseen.
- `with`: n käyttäytymistä on muutettu, koska se ei voinut antaa lyhytnimiä monille kirjastotoiminnoille: Jos toiminnot on asetettu .aux-taulukkoon, älä anna lyhytnimiä näille funktioille; muussa tapauksessa anna lyhyt nimi _all_ muille paketin toiminnoille. Näin ollen: `package.register`, jos haluat rekisteröidä kaikki kirjaston toiminnot` with`: n kanssa lyhyiden nimien määrittämiseksi, ei enää tarvita. Se poistetaan käytöstä jollakin seuraavista julkaisuista.
- Parannettiin testisovellusta.
- Manuaalinen:
- Parannettu käsikirja ja hakemisto.
- Johdonmukaisuus:
- Kaikkien seuraavien nimeämisten osalta seuraavat vanhat muuttujan nimet ovat edelleen tuettuja.
- `environ.MinLong` on nimetty` environ.minlong`.
- `environ.MaxLong` on nimetty` environ.maxlong`.
- `environ.BufferSize` on nimetty` environ.buffersize`.
- `environ.PathSep` on nimetty` environ.pathsep`.
- `environ.More` on on nimetty` environ.more`.
- `environ.WithProtected` on nimetty` ympäristölle suojattuun `.
- `environ.Os` on nimetty` environ.os`.
- `environ.Cpu` on nimetty` environ.cpu`.
- `environ.Release` on nimetty` environ.release`.
- `environ.GdiDefaultOptions` on nimetty` environ.gdidefaultoptions`.
- Windowsissa `os.login` ja` os.computername` palaavat nyt epäonnistuneiksi, kuten UNIX- tai OS / 2-versiot.
- `-DCOMPAT13` -kytkin on vihdoin poistettu Agena 1.3.x -yhteensopivan version kääntämiseen.
- Muut:
- Epätoivottu `calc.fseq` on poistettu. Käytä sen sijaan `nseq`.
Uutta strong> versiossa 1.5.1:
- Patched "strings.fields", joka ei toiminut ollenkaan. Lisäksi se on muunnettu C-kirjastofunktioksi ja on siis 2,6 kertaa nopeampi.
- `strings.words` hyväksyy nyt kolmannen argumentin, jos se on asetettu 'true': iin, onnistuneet rajaukset jätetään huomiotta.
- Poistettiin mahdollinen tietoturvavuoto "io.write": sta ja "io.writeline": stä ja parantanut virheilmoituksia.
- Valmiit `binio.readchar` ongelmien välttämiseksi, joiden tiedostot ovat suurempia kuin 2 GByt.
- Korjattu virheviestit toiminnoista `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
- Terabytit voidaan kirjoittaa merkinnällä T, jossa on kokonaisluku ja T on merkki "T". Samoin g merkitsee miljardeja ja t triljoonia. Katso ohjeet sivulta 48.
- Päivitetty käsikirja.
- Pääasiassa kaikki C-lähdekoodin taaksepäin yhteensopivat kytkimet on poistettu koodin puhdistussyistä. Tämä koskee vain niitä, jotka yrittävät kääntää Agenan 1.5 tai uudemman yhteensopivuuden Agena 1.3: n ja 1.4: n kanssa, ja suurin osa taaksepäin yhteensopivuudesta Lua 5.0: n kanssa (lukuun ottamatta vanhoja Lua 5.0: n kirjastojen käsittelyä).
Uutta strong> versiossa 1.5.0:
- `kartta` voi nyt myös käsitellä toisen argumenttinsa annettuja merkkijonoja. Vastaava funktio ja sen argumentit viedään peräkkäin jokaiseen merkkiin vasemmalta oikealle, ja tulos palautetaan järjestyksessä.
- `Run`: Jos haluat ladata ja suorittaa koodia tiedostoista, joissa on 'agn' -liite, sinun ei tarvitse enää määrittää argumentin loppuliitettä. Joten `run" test'` ja` run 'test.agn'` ovat nyt samat.
- Avainsana `on` on nyt pakollista määritellä menettelyt. (GCC: n avulla voit käyttää versiota -DCOMPAT14 kääntää Agenan versio, jossa `on` avainsana on edelleen valinnainen.)
- `try` -lausunto on vanhentunut eikä sitä enää tueta. (GCC: n avulla -DCOMPAT14 -komennolla voit kääntää Agenan version, joka sisältää tämän lausunnon.)
- Seuraavat `utils'-toiminnot on poistettu:` array`, `getarray`,` getwholearray`, `newarray`,` searcharray`, `setarray`. Taaksepäin yhteensopivuutta varten ne on lisätty lib / compat.agn-tiedostoon. (GCC: n avulla käytä -DCOMPAT14 -komentoa kääntämään Agenan versio, joka edelleen tukee alkuperäisiä utils-toimintoja.)
- `utils.singlesubs` on kokonaan kirjoitettu uudelleen. Se odottaa numeroiden lukumäärää toisena argumenttina entisen sarjamuotoisen käyttäjädata-rakenteen sijaan. Se on 35% hitaampi kuin entinen versio, mutta stringarray-rakenteen poistaminen oli tärkeämpää.
- `strings.include` kaatui, jos sitä kutsutaan 0: llä toiseksi argumentiksi. Tämä on korjattu.
- Sovellettu Michael G. Schwernin 10.5.2011 päivitys "32- bittisvuoden 2038-Fix" päivämäärään, jonka os-ja xbase-paketit käyttävät ("Tee mktime64 () korjaa saapuvat tm struct kuten ISO C vaatii. `)
- Sisäisen koodin optimointi: jotkut kirjaston alustus ja tiedoston lataus C-toiminnot käyttivät pinoa polun ja tiedostonimen merkkijonoja varten. Monissa tapauksissa sitä käytetään nyt Solar Designerin uusi C aux -toiminto `concat`.
- Agena C -liittymä on nyt 100% yhteensopiva Lua C API: n kanssa helpottamaan C Lua-pakettien siirtämistä Agenaan.
- Seuraavat toiminnot on näin ollen nimetty: lua_isnumber - & gt; agn_isnumber, lua_isstring - & gt; agn_isstring, luaL_optnumber - & gt; agnL_optnumber, luaL_checknumber - & gt; agnL_checknumber, luaL_optnumber - & gt; agnL_optnumber, luaL_checkinteger - & gt; agnL_checkinteger, luaL_optinteger - & gt; agnL_optinteger.
- Seuraavat makrot on nimetty uudelleen: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
- Toisin kuin entisen Agena-toteutuksen, lua_tonumber nyt palauttaa 0 kuin Lua, jos ei-numero on kulunut sen sijaan, että palautettaisiin HUGE_VAL.
- lua_setglobal2 on poistettu. Käytä lua_pushvalueen ja lua_setglobal sijaan.
Uutta strong> versiossa 1.4.2:
- Jos parametriluettelossa on määritetty käyttäjän määrittelemät tyypit,
- menettelyssä ei ole annettu virheitä ja menettely on suoritettu sen sijaan seuraavissa tapauksissa:
- a) taulukko, asetettu, järjestys, pari tai menettely - ilman käyttäjän määrittämää
- tyyppi - on läpäissyt,
- b) kyseiselle parametrille ei ole annettu mitään arvoa.
Uutta strong> versiossa 1.4.1:
- `with` -toiminnolla ei voitu antaa` stats.quartiles `ja` stats.mode` lyhytnimiä. Tämä on korjattu.
- Virheellisesti `with` ei voitu antaa lyhyttä nimeä` gdi.settriangle`. Tätä on muutettu.
- "calc.polygen" virheenkäsittelyä on parannettu.
- Fractals.drawin virheilmoitus virheellisille FRACTINT-karttatiedostoille.
- Poista vanhentunut `strings.rseek` -toiminto. Taaksepäin yhteensopivuutta varten `strings.seek` on lisätty lib / compat.agn-tiedostoon.
- Lisätty -d-kytkin tulostaa virheenkorjaustiedot tulkinnan käynnistämisen aikana.
- Agenan Windows-versio on nyt koottu GCC 4.5.2: n kanssa.
- Päivitetty kielitietokanta.
- Käyttöohje on päivitetty.
Uutta strong> versiossa 1.4.0:
- Semanttiset muutokset:
- Numeeristen `for / to` -silmukoiden silmukan ohjausmuuttujat ovat nyt automaattisesti paikallisia niiden ympäröiville lohkoille niiden (sisäisten) silmukkaosien sijaan. Jos paikallinen muuttuja, jolla on sama nimi kuin silmukan ohjausmuuttuja, on ilmoitettu ja määritetty ennen
- Numeerisen silmukan suorittaminen, se korvataan silmukan viimeisellä iterointiarvolla. Sellaisena "numeerisen` for`-silmukoiden "ulkoinen" -kytkin ei enää ole hyväksytty. (GCC: n avulla -DCOMPAT13 -komennolla voit kääntää Agenan version, joka vielä tunnistaa mutta jättää huomiotta ulkoisen avainsanan.)
- Vakalla `fail`,` no` palasi `true`, mutta` fail` varattu muuttujaan `no` palasi väärän. Tätä on muutettu, eli "a: = epäonnistunut; ei (a) "palauttaa nyt" todellisen ".
- `stats.median` palauttaa` fail` sijasta 0, jos annettu rakenne on tyhjä.
- `utils.readcsv`: Jos yksittäinen tyhjää tilaa siirretään` delim` -vaihtoehdolla ja jos `ignorespaces` -vaihtoehtoa ei ole annettu, valkoisia tiloja ei enää poisteta automaattisesti ennen kuin jokainen tiedoston rivin jakaminen sen sanat.
- Toiminnolla on myös kaksi uutta vaihtoehtoa: `header`, joka merkitsee tiedoston ensimmäistä riviä ja` output`, joka mahdollistaa tiedoston sisällön tallentamisen sanakirjaan sen tiedoston otsikon määrittämien kenttien nimien mukaan. / li>
- `$ '-alusteen merkintä ei enää ole tuettu. (GCC: n avulla käytä-DCOMPAT13-kytkintä kääntämään Agenan versio, joka vielä tukee `$` -operaattoria.)
- Laajennukset:
- Infinite do / od silmukoita on lisätty. Tällainen silmukka iteraattiin äärettömän paljon, ja se voidaan keskeyttää vain "break" tai "return" lausumilla. He ovat syntaktista sokeria `kun taas totta ... od` loopsia.
- Taulukoissa `stats.minmax` aiemmin toimi vain taulukkojen kanssa. Tätä on muutettu, ts. Arvot vastaavilla ei-positiivisilla avaimilla (esimerkiksi merkkijonot, ei-positiiviset kokonaisluvut, negatiiviset ja positiiviset kelluvat jne.) Tunnistetaan nyt arvioinnissa.
- `stats.mean`,` stats.qmean`, `stats.sd` ja` stats.var` käsittelevät myös sekvenssejä.
- Uusi `stats.mode` -toiminto palauttaa kaikki arvot järjestyksessä tai taulukossa suurimmalla esiintymisnopeudella eli korkeimmalla taajuudella.
- Uusi `stats.quartiles` -toiminto palauttaa _sorted_-taulukon tai -jakson ensimmäisen, toisen ja kolmannen kvarttilin.
- Käyttöohjeeseen on lisätty aiemmin "linalg.matrix" -kirjattamattomat ominaisuudet ja sen virheenkäsittely on parantunut.
- Parannettu "linalg.hilbert" -virheenkäsittely.
- `gdi.setinfo` hyväksyy nyt` square` -vaihtoehdon. Jos `square = false`, niin x- ja y-akseleilla ei ole samaa asteikkoa` gdi.plot`: lla luotuihin tageihin.
- Grafiikan piirto "gdi.plot" ei valitettavasti ole dokumentoitu. Tätä on muutettu.
- `gdi.plot` hyväksyy kaksi uutta vaihtoehtoa: 'x' -asetus määrittää horisontaalisen alueen, jolla juoni näytetään, ja 'y' -asetus määrittää pystysuoran alueen.
- Jos PLOT-rakenne siirretään `gdi.plot` -muotoon, joka sisältää vain POINT-, LINES-, RECTANGLES-, TRIANGLE-, CIRCLE- ja ELLIPSE-koodeja (mukaan lukien niiden * TÄYDELLISET muunnokset),` gdi.plot` määrittää automaattisesti vaaka- gdi.setinfo` ei välttämättä tarvitse kutsua).
- Lua: sta perimät OOP-ominaisuudet on nyt dokumentoitu lisäyksessä A9. Kirjailija ei suosittele objektiohjelmiota.
- Tuning:
- Viritetty `täytetty` operaattori noin 3%.
- Tweaked `in`,` join`, `sadd`, `qsadd`, `replace`,` copy`, `unique` ja Cantor asettaa operaattoreita taulukoihin ja asettaa hieman.
- Taulukoilla `top` ja` bottom` ovat noin 5% nopeampia nyt.
- `Koko`-operaattori on vähintään 8% nopeampi, jos taulukossa ei ole nollia.
- `linalg.mzip`,` linalg.mmul` ja `linalg.transpose` on viritetty noin 3% kustakin.
- Numeeriset / silmukoille, joissa on murto-vaiheet, on optimoitu vähentämällä niiden ohjausmuuttujien määrää puoleen. Tämä ei kuitenkaan saavuttanut nopeuden kasvua.
- Merkit:
- Suunniteltu `linalg.ludecomp` tunnistaa yksittäisiä matriiseja. Toiminto voi myös määrittää automaattisesti tietyn matriisin järjestyksen.
- Manuaali, `gdi.plot` ei määrittänyt automaattisesti vaaka- ja pystysuoria alueita. Tämä on korjattu.
- `gdi.plot` ei enää huomioi" gdi.setinfo`: n "neliön" asetusta.
- `gdi.setinfo` lisäsi asetukset INFO-rakenteisiin, vaikka ne olisivat jo olleet läsnä. Tätä on muutettu.
- "gdi.plot" ei piirtänyt piirejä oikein. Tätä on muutettu.
- "gdi.plot" -toiminto useimmissa olosuhteissa jätti huomiotta geometristen objektien yksilöllisen värityksen. Tätä on muutettu.
- Gdi-paketti ei antanut lyhytnimet `gdi.settriangle`,` gdi.settrianglefilled`, `gdi.setrectangle` ja` gdi.setrectanglefilled`. Tätä on muutettu.
- Fraktaalipaketti ei antanut lyhytnimiä käyttäjän määritellyn "esctime" -tyypin toiminnoille. Tätä on muutettu. Korjattu virheilmoitus `fractals.draw`, jos positional argumentit eivät olleet numeroita.
- Sekalaista:
- "calc.fseq" on yhdistetty `nseq`: ksi. Taaksepäin yhteensopivuutta varten `calc.fseq` on edelleen osa laskentapakettia, mutta funktio tosiasiallisesti tarkoittaa` nseq` toteutusta.
- Lisättiin `environ.FractScreenUpdates` -muuttuja` fraktaalipakettiin `, joka merkitsee vertikaalisten viivojen määrää (ei-negatiivinen kokonaisluku), jonka jälkeen fraktaali päivitetään ikkunassa. `Environ.FractOptimised` -muuttuja on vanhentunut.
- Apu-gdi-toiminnot on ryhmitelty uudelleen.
Uutta strong> versiossa 1.3.3:
- Merkit "instr":
- Kun regex-tilassa käyttäjä palautti väärän tuloksen, jos aloitusasema on annettu.
- Kun tavallinen hakutila, operaattori palautti alueen ulkopuolella olevan virheen, jos aloitusasentoa ei ole annettu.
- Jos käännösohjaustapa ei ole löytynyt, ensimmäistä argumenttia on palautettu "null" sijasta.
- Korjattu "create`-lausekkeen virhesanoma sekvensseistä.
- Kun AgenaEditissa tuotettiin useampaa kuin yhtä rakennetta vain yhdellä kutsulla `print`, rakenteita ei tulostettu täysimittaisesti, jos ensimmäisessä rakenteessa oli __tostring metamethod. Tätä on muutettu.
Uutta strong> versiossa 1.3.2:
- Tämä julkaisu sisältää virheenkorjauksia, laajennuksia ja parannetun käsikirjan:
- `ulottuvuus` luonut mielenkiintoisia tuloksia, jos rakenne on hyväksytty
- Initialisaattorin. Tätä on muutettu: `dimension` muodostaa nyt itsenäiset kopiot
- rakenne alustettaessa taulukkoa.
- `strings.rseek` on lisätty` instr`-operaattoriin.
- Siksi "strings.rseek" on vanhentunut. Taaksepäin yhteensopivuus
- `strings.rseek` on lisätty lib / compat.agn-tiedostoon.
- `strings.hits` tukee nyt säännöllisiä lausekkeita ja kaappaa. Tämä käyttäytyminen
- voidaan poistaa käytöstä siirtämällä boolean kolmanteen argumenttiin.
- `strings.isabbrev` ja` strings.isending` käyttävät nyt automaattisesti hakua
- jos säännöllisiä lausekkeita tai kaappauksia ei ole siirretty osaksi toista li>
- argumentti.
- Tweaked "strings.ismagic" ja "strings.isfloat".
- `Log` -toiminto on nyt 13% nopeampi.
- Kun tulostetaan useampi kuin yksi rakenne vain yhdellä puhelulla `print`,
- rakenteita ei tulostettu täysimittaisesti, jos ensimmäisessä rakenteessa oli __tostring
- metamethod. Tätä on muutettu.
- Lisätty luokittelu toimintoihin luvussa 7 helpottamaan uuden aloittamista
- käyttäjille.
Uutta strong> versiossa 1.3.1:
- Seuraavien binäärioperaattoreiden sisäkkäisiin puheluihin liittyy ongelmia: `xor`,` atendof`, `& amp; & amp;`, `||`, `^^`, `::` ja `: - `ja näin ollen myös melkoisen tulostimen kanssa, joka lopettaa virheen tulostettaessa sisäkkäisiä rakenteita. Tämä on korjattu.
- Neljä korjausta `os.list`: Jos 'r' -vaihtoehto on ohitettu, nykyinen työhakemisto on virheellisesti muuttunut puhelun päättymisen jälkeen.
- Jos 'r' ei ole siirretty viimeiseksi argumentiksi, funktio on antanut virheen.
- `null` ei ole hyväksytty ensimmäiseksi argumentiksi nykyisen työhakemiston merkitsemiseksi.
- Windows 7: ssä päähakemiston sisällön tulostaminen ei onnistunut, eli os.list ('c:') palautti nykyisen työhakemiston sisällön.
- Kun merkkijono indeksoitiin ei-numeroilla, esim. "str [null]", Agena palasi "null". Nyt tapahtuu virhe.
- Jos library.agn-tiedostoa ei ole löytynyt, varoitus on annettu kahdesti väärälle polulle. Tätä on muutettu.
Uutta strong> versiossa 1.2:
- Aliverkon operaattori on uudistettu, mutta vanha versio on käytettävissä Agena 2.0: lle asti: uusi on: `str [vasemmalta oikealle]`, vanha on ollut: `str $ (vasen, oikea)` . Esimerkki: ennen: 'str: =' string '; tulosta (str $ (2, 3)) `- & gt; 'tr' nyt: 'str: =' merkkijono '; tulosta (str [2 - 3]) `- & gt; Tr
- Voit nyt määrittää taulukkolevyjen ja sekvenssien alaluettelon edellä sanotulla uudella syntaksilla: `s [left to right]`. Esimerkki: nyt: "a: = [10, 20, 30, 40]; tulosta (a [2 - 3]) `- & gt; [20, 30] nyt: "a: = seq (10, 20, 30, 40); tulosta (a [2 - 3]) `- & gt; seq (20, 30)
- `ops` -toiminnon avulla voidaan nyt määrittää palautettavia arvoja siirtämällä niiden indeksisivut sekvenssi ensimmäiseksi argumenttikseen, esim. ops (seq (1, -1), 10, 20,
- 30).
- Uusi funktio `strings.include` lisää merkkijonon merkkijonoksi
- tietyssä asennossa.
- Seuraavat toiminnot antavat nyt virheen sen sijaan, että palautettaisiin `fail`
- Vika epäonnistui: "os.remove", "os.move", "os.mkdir", "os.rmdir", "os.chdir".
- Parannukset seuraaviin jätteenkeräysjoukkoja ja -jaksoja käsitteleviin operaattoreihin: `insert`-lauseke, union ,` leikkaus````````````````````````````````` ja "pop / bottom" lausunnot ja määrittele tehtävät.
- Fractals.drawin virheilmoitus, jos FRACTINT-värikarttatiedosto ei ole
- ei löytynyt.
Uutta strong> versiossa 1.1.0:
- Tämä julkaisu sisältää uusia toimintoja ja puhdistettua nimiavaruutta.
- Yhteensopivuus Agena 1.0: lle
- Jotkut toiminnot on poistettu Agenasta ja jotkut on muunnettu pakettifunktioiksi (katso alla). Jos haluat silti käyttää niitä, anna readlib 'compat' komentoriville tai laita yllä oleva lausunto alustustiedostosi, jos haluat taaksepäin yhteensopivuuden Agena 1.0: n kanssa.
- Laajennettu toiminto:
- Paneeli- / ylä- ja `pop- / bottom`-lausunnot sekä` bottom` ja `top` -operaattorit voidaan nyt myös soveltaa taulukkoryhmiin.
- Kun kutsutaan `null` tai ilman argumentteja,` os.chdir` ei enää anna virheen vaan palauttaa nykyisen työhakemiston. Näin ollen entinen "os.curdir" -toiminto on korvattu Agenan kielellä kirjoitetulla.
- `os.list` vie rekursiivisesti alikansioita, jos uusi 'r' -vaihtoehto annetaan.
- Yhteys-operaattori hyväksyy nyt myös valinnaisen rajojen ja tukee vaihtoehtoa, jolla määritetään ketjutettavan rakenteen ensimmäinen ja viimeinen elementti.
- `instr` voi nyt etsiä merkkijonon oikealta puolelta ohittamalla negatiivisen sijainnin.
- Jos taulukossa on muita taulukoita, sarjoja, sekvenssejä tai pareja, `copy` tietää nyt, kuinka nämä viitteet toimivat oikein, jos ne esiintyvät useita kertoja: Jos upotettu rakenne sisältyy n kertaa, niin yksi todellinen kopio tehdään ja n-1 viittaukset tähän äskettäin luotuun rakenteeseen lisätään. Ennen on tehty n itsenäisiä kopioita.
- Uusi `isnonposint` -toiminto tarkistaa, ovatko annettuja numeroita kaikki kokonaislukuja ja ei-positiivisia.
- `io.close` voi nyt sulkea useita tiedostoja vain yhdellä puhelulla.
- `with` -toiminto ei antanut lyhytnimiä seuraaville matematiikkapaketille:` convertbase`, `fraction`,` zeroin`, `todecimal`,` lcm`, `gcd` ja` ndigits`. Tämä on korjattu.
- Käsikirjassa mainittua `rwritemode` -toimintoa ei ole olemassa. Se on nyt saatavilla, mutta sitä kutsutaan nimellä "rmode".
- Eri toimintojen virheilmoituksia on parannettu.
- Nimien tyhjennys: Uudelleen nimetyt tai siirretyt toiminnot:
- `` ``````````````````` `` `` `` `` `` ``
- Ensimmäinen `rdelete`,` rget`, `rinit`, `roinit`,` rmode`, `rset`,` remember` ja `defaults` peruskirjaston toiminnot on siirretty uuteen` rtable` -pakettiin .
- Nimeä uudelleen maailmanlaajuinen _Env-taulukko "ympäristöön", joka sisältää myös menettelyt ympäristöön.
- Entiset globaalit `homedir` ja` infolevel` ympäristömuuttujat on nimetty uudelleen `environ.homedir` ja` environ.infolevel`.
- Seuraavat aiemmat peruskirjastofunktiot on siirretty `environ`-pakettiin:` anames`, `attrib`,` gc`, `getfenv`,` globalals`, `isselfref`,` pointer`, `setfenv` , `käytetty`,` userinfo `,` __RESTART`, `__DOTTYPRINT`.
- `mapm.xtoNumber` on nimetty` mapm.xtonumber`, `mapm.xtoString` on nimetty` mapm.xtostring`. Taaksepäin yhteensopivuutta varten vanhoja toimintoja voidaan vielä käyttää suorittamalla lib / compat.agn-tiedosto (ensimmäinen readlib `mapm`-paketti ja lataa sitten compat.agn-tiedosto).
- Epätoivottuja toimintoja ja muuttujia:
- `strings.seek` on vanhentunut. Sen toiminnallisuus on lisätty `instr` -operaattoriin. Jos haluat katkaista `instr`: n kuvion sovitusmoodin, siirrä hakun alku kolmanneksi ja` true` neljaksi argumentiksi. `instr` on noin 40% nopeampi ei-kuviointitilassa kuin` strings.seek`. Taaksepäin yhteensopivuutta varten `strings.seek` on lisätty lib / compat.agn-tiedostoon.
- `Concat` -peruskirjastofunktio on poistettu. Käytä sen sijaan `join`. Taaksepäin yhteensopivuutta varten entinen toiminto on lisätty lib / compat.agn-tiedostoon.
- `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ' Taaksepäin yhteensopivuutta varten ne on lisätty lib / compat.agn-tiedostoon.
- `pcall` -toiminto on vanhentunut. Käytä sen sijaan `suojata`. Taaksepäin yhteensopivuutta varten toiminto on lisätty lib / compat.agn-tiedostoon.
- `maptoset` -toiminto on vanhentunut. Taaksepäin yhteensopivuutta varten toiminto on lisätty lib / compat.agn-tiedostoon.
- Otsikko "os.alldirs" on poistettu käytöstä. Käytä sen sijaan "dirs" ja "r" -vaihtoehtoja kutsussa "os.list". Taaksepäin yhteensopivuutta varten toiminto on lisätty lib / compat.agn-tiedostoon.
- `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` on hylätty. Ole hyvä ja käytä uusia ympäristömuuttujia ympäristöön.Os ja environ.Cpu, joka myös nopeuttaa koodia. Taaksepäin yhteensopivuutta varten toiminnot on lisätty lib / compat.agn-tiedostoon.
- Ei-dokumentoitu _VERSION-muuttuja on poistettu. Taaksepäin yhteensopivuutta varten sen tehtävä on lisätty lib / compat.agn-tiedostoon.
- Muut muutokset:
- Käsikirjassa mainittua C API -toimintoa lua_rawsetstringnumero ei ollut olemassa. Tätä on muutettu.
- Koodi optimointi jäsentimelle.
- Joissakin pakkauksissa epäilemättä muutamia muuttujia on implisiittisesti julistettu globaaliksi. Tämä on korjattu.
- Korjattu ja päivitetty alustusesitystiedosto.
- AgenaEdit on päivitetty.
- Kielitiedostoja on päivitetty.
- Linux-asentimet sisältävät nyt xBase-paketin.
Uutta strong> versiossa 1.0.6:
- Virheilmoitukset, jotka liittyvät `` `toset ' ja "for" -silmukoista.
- Sekvenssien kanssa Agena törmäsi seuraaviin tapahtumasarjoihin: 1) `delete` lausuma oli suoritettu, 2) sekvenssi oli tyhjä ja 3) uusi elementti oli lisätty uudelleen. Tämä on korjattu. (Sisäisesti "delete" -lausunto ei enää sisäisesti vähennä sekvenssien kokoa.)
- Suurilla kielillä `concat` kaatui. Tämä on korjattu.
- 512 ja useamman tavun merkkijonoissa `join` ja` replace` saattavat kaatua. Tämä on korjattu. Kaksi operaattoria on nyt myös paljon nopeammin kuin koskaan ennen.
- `math.isprime` palasi väärin tuloksiin argumenteilla & gt; 2 ^ 31 (mainittu epämääräisesti käsikirjassa). Tämä on korjattu laajentamalla argumenttialuetta kokonaislukuihin arvojen ollessa enintään +/- 2 ^ 63.
- `math.nextprime` ja `math.prevprime` saivat saman ongelman suuremmilla argumentteilla, kuten` math.isprime`. Tätä on myös muutettu. Argumentilla 2 `io.nextprime` väärästi palautti 5 sijaan 3. Tämä on myös vahvistettu.
Uutta strong> versiossa 1.0.5:
- `liitosta` voi kaataa Agenan ja muutoin käyttäytyä yllättäen, jos tuloksena oleva merkkijono
- ylitti 512 tavua. Tätä on muutettu.
- Jos `restart` on kutsuttu, kun edellisessä on annettu virhe
- lausunto, Agena harvoin törmäsi pino korruption vuoksi. Tämä on
- kiinteä.
- Heti luoduissa taulukoissa, joissa on täsmälleen yksi elementti hash-osassa, `attrib`
- antaa nyt oikeat tulokset varattujen hash-aikavälien lukumäärälle (1 sijaan 0).
- Korjattu virheilmoitukset `qsadd` ja `sadd`.
- Virheilmoitukset `join`,` copy` ja `filled` sekä` insert`
- ja `delete` lausunnot.
- Virheiden käsittely `read`,` save` ja `fractals.draw` on parannettu.
- Makefileihin tehdyt parannukset.
- Puskurikoot on nyt standardoitu lähteissä.
Uutta strong> versiossa 1.0.4:
- Koska alustuksen aikana on ilmoitettu harvinaisia kaatumisia (joissakin tapauksissa Windows XP SP 3: ssa ja OpenSolaris 134: ssa), roskakokoelma on nyt pois päältä alustusvaiheessa. Nämä harvinaiset segmentoitumisvirheet esiintyivät OpenSolaris-ohjelmassa, kun Agena-binaarina on sen hakemisto hakemistossa root ja XP, kun napsautetaan Agena-työpöydän kuvaketta, jossa on paikalliset järjestelmänvalvojan oikeudet.
- Otti käyttöön -d-kytkin komentorivivalintoihin tietojen tulostamiseksi Agenan alustuksen aikana.
- Otettiin käyttöön asianmukainen virheenkäsittely, jos muistia ei voitu kohdistaa sisäisesti: `trim`,` upper`, `lower`,` os.curdir` ja `strings.rseek`.
- Poistettiin mahdolliset muistivuodot alkion C-toiminnot agenaL_initialise ja agenaL_setLibname ja `io.write *` ja `print`.
Uutta strong> versiossa 1.0.3:
- Uusi toiminto "suojaa" kutsuu menettelyä suojatussa tilassa ja saa mahdolliset virheet, jotta laskutoimitukset eivät keskeydy. Virheessä virhevirhe määritetään globaaliksi muuttujalle `lasterror`. Se liittyy `pcall`, mutta ei palauta tilakoodia ensimmäisenä tuloksena.
- `attrib` nyt palauttaa oikeat tulokset tyhjiin rakenteisiin. Tyhjiä rakenteita funktion virheellisesti laskettiin yksi määritetty hash-elementti ennen.
- `attrib` nyt palauttaa tavujen, sarjojen ja sekvenssien käyttämien tavujen lukumäärän uuden 'tavun' avaimen mukaan. Palautettujen tavujen määrä perustuu joskus ristiriitaisiin verkossa käytettävissä oleviin tietoihin.
- `replace` rikkoi Agenan, jos tuloksena oleva merkkijono ylitti 512 tavua. Tätä on muutettu.
- `assume` palauttaa nyt 'Assumption failed'. sen sijaan, että oletus epäonnistui.
- Uusi C API -toiminto lua_setglobal2 asettaa arvon pään yläosaan globaaliksi nimeksi. Toisin kuin lua_setglobal, arvoa ei ole poistettu.
- Koodin puhdistus lobject.h (taulukko rakenne) ja lapi.c (actnodesize makro). Virheenkorjaus C API -toimintoon agn_deletertable tapauksessa Agena on koottu ei-tyhjiin lua_assert. Muuta alustuksen aikana käytettävän salaustyön paluuarvoa, jotta estetään (pieni) pinontorjunnan mahdollisuus.
Uutta strong> versiossa 1.0.2:
- Uusi "os.setenv" -menetelmä asettaa ympäristömuuttujat käyttöjärjestelmätasolla. Toiminto on alunperin kirjoittanut Mark Edgar.
- Windowsissa `os.getenv` kutsuu nyt natiiviin Windows API -funktioon ympäristömuuttujien arvot. Windows-koodin on kirjoittanut Mark Edgar.
- Uusi `os.environ` -toiminto palauttaa kaikki määritetyt ympäristömuuttujat taulukkoon. Toiminto on alunperin kirjoittanut Mark Edgar.
- `io.open` lisää nyt FILE-osoitteen, nimen ja onnistuneen tiedoston tilan uuteen taulukkoon` io.openfiles`. `io.close` poistaa merkinnän` io.openfiles'-tiedostosta, jos tiedosto voidaan sulkea.
- Kun kutsutaan ilman argumentteja, `io.read` palauttaa nyt virheen, jos sitä kutsutaan ilman AgenaEditin argumentteja (yrittää lukea näppäimistöä).
- Jos kutsutaan "io.anykey" ja "io.getkey" AgenaEdit-ohjelmassa, näyttöön tulee virheellinen virheilmoitus.
- Yksi alkuproseduureista on muutettu, jotta vältytään mahdollisilta pinoilta (vaikka ongelmia ei koskaan tapahtunut).
- os.isMac ('ppc') toimii nyt PowerPC-koneilla.
- Alkukirjain ja viitteeseen liittyviä lukuja 4 ja 6 on tarkistettu ja niitä on laajennettu. Indeksi on lisätty, ja paljon kosmetiikkaa on tehty.
- Tallennetut oikeat versiotiedot Windowsin suoritettavaan tiedostoon.
Uutta strong> versiossa 1.0:
- Hyvät naiset ja herrat,
- Lähes neljän vuoden kehityksen jälkeen julkaisin Agena 1.0 -ohjelmaa, joka on peräisin Lua C -lähteistä.
- Yhteisöni on todella hyvin pieni, mutta jotkut käyttäjät kertoivat minulle, että se oli hieno, hyödyllinen ja vakaa.
- Olisin erittäin tyytyväinen, jos tarkistat Agenan ja kerroit minulle tuloksistasi. Jos et löydä sitä hyödylliseksi, kerro siitä henkilökohtaisesti ja anna mahdollisuus korjata ongelmat.
Uutta strong> versiossa 0.34.1d:
- Tämä versio sisältää päivitetyn GUI-version AgenaEdit (katso suoritustiedosto agenaedit).
Uutta strong> versiossa 0.34.1:
- AgenaEdit, jossa syntaksin korostus ja sisäänrakennettu runtime-moottori on julkaistu Agenan 0.34.1 kanssa.
Uutta strong> versiossa 0.34.0:
- AgenaEdit, jossa syntaksin korostus ja sisäänrakennettu runtime-moottori on julkaistu Agenan 0.34.0 kanssa.
Uutta strong> versiossa 0.33.2:
- Agena 0.33.2 xBase-tiedostotuki on julkaistu.
Uutta strong> versiossa 0.33.1:
- Agena 0.33.1 xBase-tiedostotuki on julkaistu.
Uutta strong> versiossa 0.33.0:
- Uusi `xbase`-paketti voi lukea ja kirjoittaa xBase-tiedostoja, jotka ovat yhteensopivia dBASE III -standardin kanssa.
- `binio` ja `ads` -paketit voivat nyt käsitellä tiedostoja jopa 2 ^ 63 tavua. Ennen kuin he voisivat käsitellä vain tiedostoja, joiden koko on korkeintaan 2 ^ 31 tavua.
- Uusi "io.lock", "io.unlock", "binio.lock", "binio.unlock", "ads.lock" ja "ads.unlock" -toiminnot lukitsevat tiedoston lukemisesta ja kirjoittamisesta muut Agena
- toimintoja tai jopa muita sovelluksia, jos jälkimmäinen käyttää lukitusta.
- `` ```````````````````````````````````````````````````````````````````````````````````
- Uusi `package.checkClib` tarkistaa, onko C-dynaamiseen kirjastoon tallennettu paketti on alustettu. Jos ei, se palauttaa näytölle näkyvän varoituksen ja luo tyhjän paketin taulukon. Muuten se ei tee mitään.
- Haiku-portti tukee nyt dynaamisia linkkikirjastoja.
Uutta strong> versiossa 0.32.3:
- Agena 0.32.3 uudella ja viritellulla Calculus-toiminnolla on vapautettu.
- Mac-käyttäjien ei tarvitse enää lisätä riippuvuuskirjastoja.
- Haiku-portti on nyt saatavilla.
Uutta strong> versiossa 0.31.5:
- Tämä versio sisältää sisäänrakennetun grafiikan, mielivaltaisen tarkkuuden matematiikan ja parannetut ominaisuudet.
Uutta strong> versiossa 0.31.3:
- Lisätty fraktaalipaketti piirtää helposti fraktaaleja Solarisissa, Macissa, Linuxissa ja Windowsissa.
- Solarisissa ja Linuxissa `gdi.mouse` palauttaa nyt oletusarvot painetuille hiiren painikkeille (sama kuin Mac- ja Windows-versiot).
- Kun annetaan -v-vaihtoehto, Agena ei enää suorita alustustiedostoja.
- UNIX- tai Macintosh-tiedostoissa alustustiedostojen tiedostonimien on aina oltava `.agenainit` riippumatta siitä, ovatko ne / usr / agena / lib tai henkilökohtainen kansio.
- Intel-suorittimien binaarinen Mac-jakelu kuluttaa noin 30% nopeammin kuin aiemmat julkaisut.
- "io.getkey" -toiminto on nyt saatavilla Mac OS X -versiossa.
- Macissa `os.system` antaa nyt täydelliset tiedot käyttöjärjestelmästä ja CPU-tyypistä. Huomaa, että se palauttaa tietoja Darwin-ytimestä ja että tuloksena olevan taulukon ensimmäinen merkintä on "Darwin" eikä "MacOSX".
- `os.memstate`,` os.freemem` ja `os.beep` tukevat nyt Mac OS X: tä.
- `io.anykey` on käytettävissä kaikilla alustoilla, mutta palauttaa` fail` DOS: lla ja Macilla. Näin ollen `gdi.draw` ei heitä enää virheitä Mac-tietokoneelle, kun käytät hiiren vaihtoehtoa.
- `os.listcore` on laajennettu palauttamaan vain tiedoston, hakemiston tai linkin nimet. '' ja ".." ei ole koskaan palautettu.
- `os.list` ei tunnistanut vaihtoehtoja eikä palauttanut tyhjää luetteloa. Tämä on korjattu. Myös vaihtoehtoja voidaan nyt yhdistää. '' ja "..", koska ensimmäinen argumentti on nyt tunnustettu asianmukaisesti.
- `os.curdir` korvaa automaattisesti jälkikirjaimet viivalla määritetyllä polulla.
- "os.fstat" ja "ads.attrib" romahtivat Agenan, jos tiedoston päivämäärä ylittyi tiistaina 19. tammikuuta 2038. Tämä on korjattu joko palaamalla tyhjälle taulukolle päivämääräavain (os.fstat) tai 0/0/01 00:00:00, (ads.attrib).
- `utils.calendar` kaatui Agenaan, jos sen argumentti oli tyhjä, negatiivinen tai liian suuri. Tätä on muutettu. Lisäksi, jos päivämäärä on tiistain 19. tammikuuta 2038 jälkeen, palautetaan oikea päivämäärä.
- Uudet toiminnot "os.screensize" ja "os.mousebuttons" palauttavat nykyisen näytön tarkkuuden ja liitetyn hiiren painikkeiden määrän (vain Windows).
- Agena.ini.sample-tiedosto on nimetty uudelleen UNIX / Mac-jakeluun .agenainit.sample.
- Uusi Solaris-mallisuunnitelma toimitetaan nyt Mapen Agenan kanssa, joka sitoo Michael C. Ringin kirjoittamia alkuperäisiä MAPM-lähteitä.
Uutta strong> versiossa 0.31.2:
- Arbitan matemaattisen tarkkuuden karttapaketti on nyt saatavana myös Agen DOS-versiossa.
- Mapm-paketin käyttämien numeroiden määrä alustetaan 17 numeroon Agenan käynnistyessä DOS- tai OS / 2 Warp -ohjelmalle. Ennen, oletusarvo oli 1 numero.
- MAPM-sidonnan C-koodi on standardoitu. Ennen DOS- ja OS / 2-lähdetiedostot poikkeavat UNIX- ja Windows-käyttöjärjestelmästä.
- Pienet lisälaitteet Windows- ja Mac OS X -asennusohjelmille.
- Macissa dokumentaatiot ovat nyt saatavana kirjastossa / dokumentaatiossa / Agenassa / Users / Share / Agenan sijaan.
- Syn, cos, arcsin, arccos ja arctan funktiot palauttivat -0 0: n sijaan kuvitteelliseksi yksiköksi, mikä johti virheellisiin tuloksiin, jos näiden toimintojen paluuta oli sovellettu muihin toimintoihin, kuten ln (ts. kuvitteellinen yksikkö näiden muiden toimintojen tuloksesta oli virheellinen). Tämä on korjattu asettamalla kuvitteellinen yksikkö -0-0 sin, cos, arcsin, arccos ja arctan paluuksi.
- Arcsin ja arccos-toiminnot palauttivat virheellisiä tuloksia argumentteille z, jos abs (real ((z))) & lt; 1. Tämä on korjattu.
- OS / 2: ssä monimutkaiset aritmeettiset funktiot palautettiin määrittelemättä. Tämä on korjattu.
- Huomaa, että OS / 2: ssa ja DOS: ssa monimutkaisessa verkkotunnuksessa arkkos- ja arcsin-operaattoreilla on yhä ongelmia, jotka palaavat määrittelemättöminä tietyissä tilanteissa.
- Windows, i386 Solaris 10 ja Linux -versiot on nyt koottu GCC 4.4.x: llä (ja ilman xmath86.h), mikä vähentää monimutkaisten aritmeettisten virheiden määrää merkittävästi. Itse asiassa monimutkaisten matemaattisten testien käsitteleminen palauttaa nolla virheitä. Sparc-versio on koottu GCC 4.3.3: n kanssa Sun Sparc -ohjelmaan ja siinä on vähemmän vikoja monimutkaisissa aritmeettisissa numeroissa kuin 0.31.1-julkaisulla.
- Nimeä uudelleen seuraavat tiedostot: config.h - & gt; agncfg.h, chelpers.h -> agnhlps.h, agnxlib.h -> agnxlib.h.
- Macissa gdi.mouse palauttaa nyt oletusarvot painetuille hiiren painikkeille.
Uutta strong> versiossa 0.31.1:
- Agena 0.31 sisältää kaikki perusvälineet pisteiden, rivien, ympyröiden, ellipsien, suorakulmioiden, kaarien kuvaamiseksi. jne., ohjaamaan kuvan kokoa ja värejä.
Uutta strong> versiossa 0.31.0:
- Kieliversiteetin julkaisu bugikorjauksella - on julkaistu. Katso muuttoloki, mikä on muuttunut.
Uutta strong> versiossa 0.30.4:
- Agenalla on nyt sisäänrakennettu grafiikka. Näin voit piirtää kuvaajia, kuvia jne. X11- tai Win32-ikkunoissa tai GIF-, PNG-, JPEG-, FIG- tai PostScript-tiedostoina sekä Solaris-, Linux- että Windows-ympäristössä. Agena sitoutuu Ljubomir Milanovicin ja Horst Wagnerin kirjoittamaan g2-graafiseen kirjastoon tarjoamaan näitä uusia ominaisuuksia.
- Agena 0.30 sisältää kaikki perusvälineet pisteiden, viivojen, ympyröiden, ellipsien, suorakaiteiden, kaarien piirtämiseen. jne., ohjaamaan kuvan kokoa ja värejä.
- & gt; kanssa "gdi";
- gdi-paketti v0.1.4 20. joulukuuta 2009
- kaari, kaarituetettu, tausta, ympyrä, ympyrä täytetty, clearpalette, lähellä, dash, ellipsi, ellipsefilled, flush, fontsize, initpalette, muste, lastaccessed, line, newline, newpoint, avoin, plot, plotfn, piste, suorakulmio, rectanglefilled , resetpalette, setinfo, setoptions, rakenne, teksti, paksuus, kolmio, trianglefilled, useink
- plotfn-funktio piirtää yhden tai useamman funktion kuvaajan yhdessä todellisessa, valinnaisesti yhdessä akseleiden kanssa, jotka on piirretty käyttäjän määrittämässä väreissä. Myös y-akselin alue voidaan antaa, muuten Agena määrittää parhaan mahdollisen asetuksen. On olemassa useita muita vaihtoehtoja, jotka voidaan asettaa setoptions-toiminnolla ja joita sovelletaan kaikkiin istuntoihin tuotettuihin kaavioihin: ikkunan resoluutio, värikartta, viivanpaksuus ja taustaväri. Tietenkin käyttäjä voi ohittaa tietyt piirrokset tietyistä tai kaikista vaihtoehdoista. Yksilöllisyyttä käsitellään asianmukaisesti.
Uutta strong> versiossa 0.30.3:
- Agena 0.30.3, jossa on sisäänrakennettu grafiikka, mielivaltainen tarkkuusmata ja parannetut ominaisuudet on vapautettu.
Uutta strong> versiossa 0.30.2:
- Agenalla on nyt sisäänrakennettu grafiikka. Näin voit piirtää kuvaajia, kuvia jne. X11- tai Win32-ikkunoissa tai GIF-, PNG-, JPEG-, FIG- tai PostScript-tiedostoina sekä Solaris-, Linux- että Windows-ympäristössä. Agena sitoutuu Ljubomir Milanovicin ja Horst Wagnerin kirjoittamaan g2-graafiseen kirjastoon tarjoamaan näitä uusia ominaisuuksia.
- Agena 0.30 sisältää kaikki perusvälineet pisteiden, viivojen, ympyröiden, ellipsien, suorakaiteiden, kaarien piirtämiseen. jne., ohjaamaan kuvan kokoa ja värejä.
- & gt; kanssa "gdi";
- gdi-paketti v0.1.4 20. joulukuuta 2009
- kaari, kaarituetettu, tausta, ympyrä, ympyrä täytetty, clearpalette, lähellä, dash, ellipsi, ellipsefilled, flush, fontsize, initpalette, muste, lastaccessed, line, newline, newpoint, avoin, plot, plotfn, piste, suorakulmio, rectanglefilled , resetpalette, setinfo, setoptions, rakenne, teksti, paksuus, kolmio, trianglefilled, useink
- plotfn-funktio piirtää yhden tai useamman funktion kuvaajan yhdessä todellisessa, valinnaisesti yhdessä akseleiden kanssa, jotka on piirretty käyttäjän määrittämässä väreissä. Myös y-akselin alue voidaan antaa, muuten Agena määrittää parhaan mahdollisen asetuksen. On olemassa useita muita vaihtoehtoja, jotka voidaan asettaa setoptions-toiminnolla ja joita sovelletaan kaikkiin istuntoihin tuotettuihin kaavioihin: ikkunan resoluutio, värikartta, viivanpaksuus ja taustaväri. Tietenkin käyttäjä voi ohittaa tietyt piirrokset tietyistä tai kaikista vaihtoehdoista. Yksilöllisyyttä käsitellään asianmukaisesti.
Uutta strong> versiossa 0.29.0:
- Agenalla on nyt sisäänrakennettu grafiikka. Tämän avulla voit piirtää graafit, kuvat jne. Ikkunaan tai GIF-, PNG-, JPEG-, FIG- tai PostScript-tiedostoon Solarisissa, Linuxissa ja Windowsissa, lisäämällä sitova graafinen kirjasto, jonka on kirjoittanut Ljubomir Milanovic ja Horst Wagner.
- Agena 0.29.0 sisältää kaikki perusvälineet pisteiden, viivojen, ympyröiden, ellipsien, suorakaiteen, kaarien kuvaamiseksi. jne., hallita värejä ja luoda kuvatiedostoja tai avata X11- tai Win32-ikkunoita.
- Yhdessä tulevista päivityksistä korkean tason käyttöliittymä, jossa on gdi.plotfn- ja gdi.plot-toiminnot, mahdollistaa yksivaiheisten toimintojen ja pisteiden määrittämisen lennon aikana. Nämä kaksi funktiota ovat jo mukana Agena 0.29.0: ssa, mutta ovat edelleen beta-versioita. Tässä on esikatselu:
- & gt; kanssa "gdi";
- gdi-paketti v0.1.0 24. marraskuuta 2009
- kaari, tausta, ympyrä, clearpalette, close, dash, ellipsi, filledArc, filledCircle, filledEllipse, filledRectangle,
- täynnäTriangle, flush, fontsize, initpalette, muste, lastaccessed, line, avoin, juoni, plotfn, piste, suorakulmio, nollaa,
- palautuspaletti, setinfo, asetetut asetukset, rakenne, teksti, paksuus, kolmio, useink
- Plotfn-funktio piirtää funktion graafin yhdestä todellisesta, valinnaisesti yhdessä akseleiden kanssa, jotka on piirretty käyttäjän määrittämässä väreissä. Myös y-akselin alue voidaan antaa, muuten Agena yrittää määrittää parhaan mahdollisen asetuksen. On olemassa useita muita vaihtoehtoja, jotka voidaan asettaa setoptions-toiminnolla ja joita sovelletaan kaikkiin istuntoihin tuotettuihin kaavioihin: ikkunan resoluutio, värikartta, viivanpaksuus ja taustaväri. Tietenkin käyttäjä voi ohittaa tietyt piirrokset tietyistä tai kaikista vaihtoehdoista. Yksilöllisyyttä käsitellään asianmukaisesti.
- plotfn (sin (x) * x & gt ;, -5, 5, väri ~ 'sininen', axiscolour ~ 'harmaa', res ~ 640: 480);
Uutta strong> versiossa 0.27.2:
- Uusi toSet baselib funktio muuntaa merkkijonon joukoksi sen hahmot, ja pöytä tai sekvenssin joukoksi.
- io.readlines on korjattu yli 2048 merkin pituisiin riveihin. Toiminto antaa myös virheen, jos sisäisen muistin jakaminen epäonnistuu. Sisäistä puskurikokoa on vähennetty 2048 tavusta 512 tavuun. Voit muuttaa tätä antamalla toinen arvo AGN_IOREADLINES_MAXLINESIZE on agnconf.h tiedostoon.
- io.readlines hyväksyy nyt myös tiedostojen käsittelyt. Käytettäessä tiedostokahvojen, toisin kuin tiedostonimiin, huomaa, että sinun on suljettava tiedoston manuaalisesti käytön jälkeen io.readlines.
- io.readlines ei enää palauta tyhjää taulukkoa, jos tiedostoa ei ole olemassa. Sen sijaan se antaa virheen.
- toSeq nyt palauttaa virheen sijaan epäonnistuu, jos se ei saa merkkijono, asettaa tai pöytä.
- Käytetty baselib-toiminto on laajennettu ja se voi palauttaa muistin käytön tavuina, kykyinä ja gbytteinä. Se on C-toiminto nyt.
- Ei-dokumentoidusta gcinfo-toiminnosta on poistettu. Sen toiminnallisuus on otettu käytetyllä tavalla.
- Uusi C API -toiminto agn_usedbytes palauttaa järjestelmän käyttämät tavut.
- Korjattu virheviesti toTabesta.
- uudelleen nimetty C AOI -toiminto `agn_isioforcerror`` agn_isioforceerror`.
Uutta strong> versiossa 0.27.0:
- Lisätty virhetoiminto math.erf ja täydentävä virhetoiminto math.erfc.
- Lisäsi ensimmäisen tyyppisen math.besseljin Bessel-funktion ja toisen tyyppisen matematiikan Bessel-funktion. Tilaus annetaan ensimmäisellä argumentilla, argumentilla toinen argumentti.
- Jos uuden ympäristömuuttujan _EnvIoForceError asetetaan ei-nolla-arvoon (oletusarvo), io.open-, io.readlines- ja eri binio-funktiot suljetaan virheen sijaan normaalin palauttamisen sijasta.
- binio.readbytes ja binio.readchar palasivat tyhjän sarjan virheen sijaan, jos tiedostoa ei luettaisi. Tätä on muutettu: epäonnistuu tai virhe palautetaan nyt.
- arcsin ja arccos ovat nyt operaattoreita ja siten noin 40% nopeampia.
- Lisättiin xor-operaattori, joka suorittaa Boolen eksklusiivisen-OR arvot, jotka arvioivat tai ovat tosia, vääriä, epäonnistuneita ja nollia.
- Lisäsi operaattorin atendofin, joka tarkistaa, onko sana loppunut tietyssä lausekkeessa ja palauttaa sen aseman numerona. Operaattori palauttaa nollan, jos merkkijonolla on sama pituus, ainakin yksi niistä on tyhjä merkkijono tai sana ei pääty tietyssä kuvassa.
- voi nyt vain palauttaa true, jos sillä on luku-kirjoitus muistaa taulukko (päivitetty palautuslausekkeella).
- Uusi funktion hasrotable määrittää, onko funktiolla vain luku -tyyppinen muistitaulukko (jota ei voi päivittää palautusilmoituksella) ja palauttaa true tai false.
- Uusilla operaattoreilla gethigh ja getlow hakee suuremmat ja alemmat tavut numerosta (eli C double).
- Uudet operaattorit sethigh ja setlow asettavat korkeammat ja alemmat tavut numeroiksi (eli C-kaksoisiksi).
- Uusien operaattoreiden bändi, bor, bxor ja bnot toimivat bitittäin ja / tai yksinoikeudella tai täydentävät operaatioita numeroilla.
- Uusi `ytimen` toiminto määrittää Agena-ytimen asetukset. Tällä hetkellä se voi muuttaa tapaa, jolla bittivirtaoperaattorit toimivat sisäisesti (allekirjoitettujen tai allekirjoittamattomien kokonaislukujen käyttö) ja kuinka numerot tulostetaan.
- Todellisilla numeroilla x, matemaattinen argumentti palauttaa Pi sijaan 0 jos x & lt; 0.
- Taustalla olevan ANSI C -kirjastofunktioiden vian vuoksi arcsin ja arccos tuotti virheellisiä tuloksia monimutkaisilla numeroilla, jos niiden kuvitteellinen osa oli nolla UNIX-järjestelmissä. Tämä on korjattu.
- math.isPrime ilmoitti vääräksi numerolla 2. Tämä on korjattu.
- Käsikirjaa vasten abs palautti 2 epäonnistumalla. Nyt se palauttaa -1 dokumentoituina.
- Bittipaketti on poistettu.
- Lisätty uusi C API-funktio agn_isioforcerror, joka tarkistaa, onko _EnvIoForceError asetettu ei-nolla-arvoon.
- Uusi C API-funktio agn_setbitwise määrittää, ovatko operaattorit bändi, bor, bnot, bxor ja siirrä sisäisesti laskemaan joko allekirjoitetuilla tai allekirjoittamattomilla kokonaislukuilla.
- Uusi C API -toiminto agn_getbitwise palauttaa agn_setbitwise asetetun tilan.
- Uusi C API -toiminto agn_setdigits asettaa numeronumeron lukumäärän.
- Uusi C API -toiminto agn_getdigits määrittää numeronumeron lukumäärän.
- Sisäinen: poistettu vanhentunut "REPL" -merkintä luaP_opnamesilta.
- Windows-asennusohjelmaa on parannettu tarkistamalla aiemmin asennettua Agenan versiota estämällä asentimen käynnistyminen, jos sen toinenkin tiedosto on jo käynnissä, ja joitain muita pieniä parannuksia.
Vaatimukset
- Ncurses
- GNU Readline
Kommentteja ei löytynyt