Agena

Sagteware kiekie:
Agena
Sagteware besonderhede:
Weergawe: 2.11.5 Opgedateer
Upload datum: 22 Jun 18
Ontwikkelaar: Alexander Walz
Lisensie: Gratis
Populariteit: 23

Rating: nan/5 (Total Votes: 0)

Agena is 'n oop bron, gratis, multi-platform en maklik om te leer prosedurele programmering taal ontwerp vir alledaagse gebruik. Dit kan in grafiese, wetenskaplike, taalkundige en opvoedkundige omgewings gebruik word, sowel as op skriptoepassings, wat alle algemene bedryfstelsels ondersteun.


Bied verskeie vloeibebeheermiddels aan

Die aansoek bied talle vloeibebeheermiddels, soos, dan. elif, anders toestande, geval van en ander toestande, is operateur, numeriese vir, van, na en deur lusse, gekombineerde numeriese vir en terwyl lusse, vir en in lusse, terwyl en doen / as lusse, 'n slaanstaat, 'n breek stelling, asook die tipe tipe validering.


Verskaf opsommingsopdragte

Ons kan ook 'n willekeurige wiskundige biblioteek noem, 'n maklike opstelling van u persoonlike omgewing, 'n maklike pakketstelsel, opsommingsopdragte, omvangsbeheer deur die epocs / omvang sleutelwoorde en baie ander aantreklike funksies.

Onder die kap en beskikbaarheid

'n Vinnige kyk onder die kap sal ons wys dat die projek geskryf is in die C, BASIC, Lua en ALGOL 68 programmeringstale, wat beteken dat die sintaksis ooreenstem met die sintaksis van hierdie projekte. Dit loop heeltemal in 'n konsole / terminaal omgewing, wat beteken dat dit geen grafiese gebruikerskoppelvlak (GUI) bevat nie.


Skepe met 'n eenvoudige redakteur

Ten spyte van die feit dat die Agena-sagteware 'n bevellynprogram is, word dit gestuur met 'n eenvoudige redakteur grafiese sagteware, genaamd AgenaEdit, wat 'n geïntegreerde Agena-omgewing en syntax-verlig vermoëns bevat. Dit is sterk geïnspireer deur 'n soortgelyke redakteur wat deur Bill Spitzak ontwikkel is vir die FLTK kruisplatform C + + GUI toolkit.


Werk op Framboos Pi

Agena se grafiese vermoëns word ondersteun op die GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation - OS / 2 en DOS bedryfstelsels. Dit kan maklik op beide 64-bis en 32-bis hardewareplatforms ontplooi word, en is suksesvol getoets op die ARM-gebaseerde Raspberry Pi-rekenaarbord.

Wat is nuut in hierdie weergawe:

  • nuwe Calculus en Statistieke funksie

Wat is nuut in weergawe:

  • Nuwe Calculus en Statistieke funksie

Wat is nuut in weergawe 2.9.4:

  • Nuwe Calculus en Statistieke funksie

Wat is nuut in weergawe 2.8.5:

  • Nuwe Calculus en Statistieke funksie

Wat is nuut in weergawe 2.8.2:

  • Nuwe Calculus en Statistieke funksie

Wat is nuut in weergawe 2.6.1:

  • `stats.chauvenet` kan nou spesifiek na laer of boonste uitskieters deur onderskeidelik die opsie 'outlier =' lower'` of `outlier = 'boonste' te vervang.
  • `bags.remove` veroorsaak segmenteringsfoute. Dit is opgelos. Daarbenewens is alle `sakke` funksies wat in C geïmplementeer is, intern verander.
  • Die (ongedokumenteerde) metamethods vir `+`,` -` en `*` het nie gewerk as die` bags`-pakket nie aangewend is met die `with`-funksie of die` invoer / alias'-verklaring nie. Dit is opgelos.

Wat is nuut in weergawe 2.5.4:

  • `stats.chauvenet` kan nou spesifiek vir laer of boonste uitskakelaars gekyk word deur die opsie 'outlier =' lower'` of` outlier = 'boonste' te vervang.
  • `bags.remove` veroorsaak segmenteringsfoute. Dit is opgelos. Daarbenewens is alle `sakke` funksies wat in C geïmplementeer is, intern verander.
  • Die (ongedokumenteerde) metamethods vir `+`,` -` en `*` het nie gewerk as die` bags`-pakket nie aangewend is met die `with`-funksie of die` invoer / alias'-verklaring nie. Dit is opgelos.

Wat is nuut in weergawe 2.5.3:

  • `stats.chauvenet` kan nou spesifiek na laer of boonste uitskieters deur onderskeidelik die opsie 'outlier =' lower'` of `outlier = 'boonste' te vervang.
  • `bags.remove` veroorsaak segmenteringsfoute. Dit is opgelos. Daarbenewens is alle `sakke` funksies wat in C geïmplementeer is, intern verander.
  • Die (ongedokumenteerde) metamethods vir `+`,` -` en `*` het nie gewerk as die` bags`-pakket nie aangewend is met die `with`-funksie of die` invoer / alias'-verklaring nie. Dit is opgelos.

Wat is nuut in weergawe 2.4.2:

  • `stats.chauvenet` kan nou spesifiek vir laer of boonste uitskakelaars kyk deur die opsie 'outlier =' lower'` of` outlier = 'boonste' te verifieer.
  • `bags.remove` veroorsaak segmenteringsfoute. Dit is opgelos. Daarbenewens is alle `sakke` funksies wat in C geïmplementeer is, intern verander.
  • Die (ongedokumenteerde) metamethods vir `+`,` -` en `*` het nie gewerk as die` bags`-pakket nie aangewend is met die `with`-funksie of die` invoer / alias'-verklaring nie. Dit is opgelos.

Wat is nuut in weergawe 2.3.0 RC1:

  • Numeriese `vir` loops ondersteun nou die` downto'-sleutelwoord sodat jy kan aftree sonder om 'n verpligte negatiewe `by`-stapgrootte te gebruik. In die 'downto' konteks moet die `by 'stapgrootte altyd positief wees. `van 'begin' en 'tot' stopwaardes is verpligtend by die gebruik van die 'downto'-sleutelwoord.
  • Die metamethodes '__finite', '__entier' en '__sqrt' word nie meer ondersteun nie. In plaas daarvan is drie nuwe metatodes vir operasies op strukture bygevoeg: '__union' vir unie-bedrywighede, '__intersect' om kruisings te bepaal en '__minus' vir verskille. Dus ondersteun die `sakke'-pakket nou ook hierdie drie bedrywighede.
  • Die `` integer-divisie-operateur het nie sy metamethod ondersteun nie en die een vir float divison (`/` operateur) gebruik eerder. Dit is opgelos.
  • Die nuwe funksie `stats.gini` bepaal die Gini-koëffisiënt, 'n mate van (in-) gelykheid.
  • Die nuwe funksie `stats.zscore` gee 'n funksie wat die z-telling (standaard telling) van 'n steekproef bereken - die aantal standaardafwykings wat die steekproef is bo of onder die gemiddelde van 'n verspreiding.
  • `stats.sorted` gebruik nou standaard die Introsort-algoritme in plaas van Quicksort. Dit kan die verwerkingstyd drie keer bespoedig in moeilike situasies (waar Quicksort O (n ^ 2) bewerkings benodig), terwyl prestasie nie in gewone situasies geoffer word nie. In werklikheid gebruik Introsort Quicksort standaard en skakel dan outomaties na Heapsort as die rekursie diepte 2 * log (n, 2) bereik, waar n die aantal elemente in 'n struktuur is.
  • U kan hierdie logika ignoreer deur die nuwe opsie 'kwikkaart' te gebruik wat slegs die tradisionele rekursiewe Quicksort-metode gebruik om getalle te sorteer. Ook, `stats.sorted` kan nou ook die Heapsort-algoritme uitsluitlik gebruik as die nuwe opsie 'heapsort' geslaag word en 'n nie-rekursiewe Quicksort-algoritme wat deur Niklaus Wirth ontwerp is met die nuwe opsie 'nrquicksort'.
  • Die nuwe funksie `stats.meanmed` gee sowel die rekenkundige gemiddelde as die mediaan van 'n verspreiding, of alternatief, die kwantiënt van die gemiddelde en die mediaan, wat die berekeningstye versnel wanneer hierdie waardes met ongeveer 20 persent benodig word. li>
  • Verbeter die foutboodskap van die `size`-operateur.

Wat is nuut in weergawe 2.1.1:

  • Nuwe funksies en kolle:
  • `probeer / vang ': eksplisiete spesifikasie van 'n foutveranderlike regs na die` catch`-token is nou opsioneel. As daar geen foutveranderlike gegee word nie, word die foutboodskap outomaties gestoor na die plaaslike `lasterror'-veranderlike en die` dan` sleutelwoord moet uitgelaat word:
  • & gt; Probeer
  • & gt; fout ('oops!')
  • & gt; vang
  • & gt; druk (lasterror)
  • & gt; yrt;
  • Oeps!
  • Die `probeer / vang'-verklaring het soms nie in prosedures gewerk nie (nie-toegepaste foutveranderlike). Dit is opgelos.
  • Die nuwe funksie `net.wget` laai HTML-bladsye van die web af.
  • Gestem "skycrane.counter" met 10%. Die funksie is nou opsioneel van toepassing op die Kahan-Ozawa in plaas van die oorspronklike Kahan summation algoritme as die nuwe derde argument die string 'ozawa' is. Die ooreenstemmende C bronne is aangepas om die optimalisering van die samesteller te voorkom, asook die optimalisering daarvan.
  • `argerror` druk nou die gebruiker-gedefinieerde tipe naam van 'n waarde wat in sy foutboodskap ontvang is. As 'n waarde nie 'n gebruiker gedefinieerde tipe het nie, word sy basiese tipe uitgereik.
  • Die nuwe 'a' opsie vir debug.getinfo gee die aantal argumente wat deur 'n prosedure verwag word, danksy Rob Hoelz se LuaPowerPatch.
  • Verbeterde foutboodskap vir `indeks buite bereik 'vir strings.
  • Verander die `stats.agn`,` linalg.agn`, `library.agn` en` ansi.agn`-lêers met betrekking tot hul fouthantering.

Wat is nuut in weergawe 2.1.0:

  • Vir 'n nuwe soort fouthantering is die nuwe `probeer / vang'-verklaring bekendgestel. Dit is uit 2008 uitgevind en geskryf deur Hu Qiwei vir Lua 5.1.
  • In die algemeen kan enige stellings waar 'n uitsondering verwag kan word, in 'n `` probeer`-klousule geplaas word. Indien 'n fout uitgereik word, wat gegenereer word deur 'n eksplisiete oproep na die `error`-funksie of enige ander uitdrukking, funksie of stelling, beheer onmiddellik na die ooreenstemmende` catch`-klousule indien dit teenwoordig is of aan die einde van die 'try / yrt `verklaring indien geen 'catch'-klousule gegee is nie, en ignoreer enige ander daaropvolgende stellings in die` probeer`-klousule.
  • Die foutbeskermingsfasiliteite `protect / lasterror` is steeds en sal altyd ondersteun word. Die nuwe kontrole-verklaring werk ook foutloos met die `break`-,` skip`-, `redo`- en` return'-stellings.
  • Die nuwe 'redo`-stelling herbegin die huidige herhaling van 'n `for / to` en` for / in`-lus van die begin af.
  • Die nuwe 'recip`-operateur gee die inverse van 'n getal x terug. Dit is ekwivalent aan die uitdrukking 1 / x, maar vinniger.
  • Die nuwe `stats.ema` funksie bereken die eksponensiële bewegende gemiddelde van 'n verspreiding. Die nuwe funksie `stats.gema` gee 'n iterator funksie wat die onderskeie eksponensiële bewegende gemiddelde van 'n verspreiding terugbring.
  • `*%`, `+%`, en `-%` het 'n ongedefinieerde `teruggegee in plaas van 'n korrekte resultaat as hul regte operand nul was. Dit is opgelos.
  • 'n foutboodskap in `net.survey` opgelos.
  • Verbeterde foutboodskappe vir die buite-indeksering van pare en snare.
  • In die ANSI-, Solaris- en DOS-weergawes is die `int`-operateur ingestel.
  • Die nuwe C API funksie `agn_arraytoseq` sit 'n numeriese skikking om in 'n ry en druk hierdie nuwe volgorde bo-op die stapel.
  • Die handleiding opgedateer.

Wat is nuut in weergawe 2.1.0 RC:

  • Die nuwe 'redo`-stelling herbegin die huidige herhaling van 'n `for / to` en` for / in`-lus van die begin af. Byvoorbeeld:
  • & gt; vlag: = waar; & Gt; vir j in [10, 11, 12] doen & gt; druk ('voor', j, vlag); & Gt; as vlag en j = 11 dan> duidelike vlag; & Gt; druk ('->', j, vlag, 'spring terug')> herhaal & gt; fi; & Gt; druk ('na', j, vlag)> tot j & gt; 12; voor 10 waar na 10 waar voor 11 waar -> 11 vals spring terug voor 11 vals na 11 vals voor 12 vals na 12 vals
  • Die nuwe 'recip`-operateur gee die inverse van 'n getal x terug. Dit is ekwivalent aan die uitdrukking 1 / x, maar vinniger.
  • Die nuwe `stats.ema` funksie bereken die eksponensiële bewegende gemiddelde van 'n verspreiding. Die nuwe funksie `stats.gema` gee 'n iterator funksie wat die onderskeie eksponensiële bewegende gemiddelde van 'n verspreiding teruggee. Vir die gebruik daarvan, kyk gerus na die src / stats.c bron lêer, C funksies * ema.
  • `*%`, `+%`, en `-%` het 'n ongedefinieerde `teruggegee in plaas van 'n korrekte resultaat as hul regte operand nul was. Dit is opgelos.
  • 'n foutboodskap in `net.survey` opgelos.
  • Die nuwe C API funksie `agn_arraytoseq` sit 'n numeriese skikking om in 'n ry en druk hierdie nuwe volgorde bo-op die stapel.

Wat is nuut in weergawe 2.0.0:

  • Nuwe stellings en funksies:
  • Agena 2.0 is afwaarts verenigbaar met Agena 1.12, behalwe dat die tokens `invoer`,` alias`, `tot` en` onsuccess` nou sleutelwoorde is en nie meer as veranderlikes gebruik kan word nie. Op die oomblik is daar Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac en DOS-installateurs beskikbaar vir 2.0, insluitend 'n opgedateerde Primer and Reference wat al die nuwe funksies in besonderhede verduidelik.
  • Die nuwe lusvariante `vir / as` en` vir / tot` maak 'n voorwaarde aan die einde van die huidige iterasie en begin die volgende iterasie of verlaat die lus. Dit werk met beide `for / to`, sowel as` for / in` loops. In effek voer beide variante 'n lus minstens een keer uit tot die gegewe toestand nagegaan word.
  • Voorbeelde:
  • & gt; want ek moet 5 doen
  • & gt; druk (i)
  • & gt; soos ek & lt; 3
  • & gt; want ek in [1, 2, 3, 4, 5] doen
  • & gt; druk (i)
  • & gt; totdat ek & gt; = 3
  • Die nuwe `do / until`-lus herhaal totdat 'n sekere voorwaarde nagekom is:
  • & gt; c: = 0;
  • & gt; doen
  • & gt; Inc c;
  • & gt; druk (c)
  • & gt; tot c> = 3
  • In die numeriese `vir` loops kan die `to`-klousule nie meer gegee word nie. In plaas daarvan, wanneer u die `to`-klousule verlaat, word die lus herhaal totdat die grootste getal op u platform, in C HUGE_VAL, bereik is:
  • & gt; want ek doen
  • & gt; druk (i)
  • & gt; od
  • Die nuwe 'onsuccess'-klousule in `if` en` case`-stellings doen 'n klomp as ten minste een van die voorwaardes waar is. Voorbeelde:
  • & gt; vlag: = false;
  • & gt; as 1 = 0 dan
  • & gt; druk (0)
  • & gt; elif 1 = 1 dan
  • & gt; druk (1)
  • & gt; onsuccess
  • & gt; vlag: = waar
  • & gt; anders
  • & gt; druk (-1)
  • & gt; fi;
  • & gt; druk (vlag);
  • true
  • & gt; vlag: = false;
  • & gt; as 1 = 0 dan
  • & gt; druk (0)
  • & gt; elif 1 = 0 dan
  • & gt; druk (1)
  • & gt; onsuccess
  • & gt; vlag: = waar
  • & gt; anders
  • & gt; druk (-1)
  • & gt; fi;
  • & gt; druk (vlag);
  • valse
  • & gt; vlag: = false;
  • & gt; a: = 2;
  • & gt; geval a
  • & gt; van 1 dan
  • & gt; druk (1)
  • & gt; van 2 dan
  • & gt; druk (2)
  • & gt; onsuccess
  • & gt; vlag: = waar
  • & gt; anders
  • & gt; druk (-1)
  • & gt; esac;
  • & gt; druk (vlag);
  • true
  • Die nuwe `invoer`-verklaring stel dit in staat om een ​​of meer biblioteke in te voer sonder om hul name in aanhalingstekens in te voeg, bv. "invoer calc, statistieke" is gelyk aan "readlib ('calc', 'stats')".
  • Die 'alias'-opsie vir die `invoer`-stelling gee een of meer kort name toe aan die biblioteekfunksies geïnitialiseer, bv. "invoer calc alias xpdiff" is gelyk aan "met ('calc', 'xpdiff') 'en' invoer calc alias 'is gelyk aan' met ('calc') '.
  • Die nuwe `..`-operateur kan tabelle indekseer selfs as sy linkerhand operand evalueer na` nul '. In hierdie geval word 'nul' teruggegee en geen `poging om die indeksveld te gee nie ... ('n nulwaarde)` fout word uitgereik. Dit is soortgelyk aan die `getentry`-funksie, maar is drie keer vinniger. Voorbeelde:
  • & gt; skep tabel a;
  • & gt; a.b:
  • null
  • & gt; a.b.c:
  • Fout in stdin, op reël 1:
  • Poging om die veld `b '('n nulwaarde) te indekseer
  • & gt; a..b..c:
  • null
  • & gt; skep tabel a;
  • & gt; 'n [1]:
  • null
  • & gt; 'n [1] [2]:
  • Fout in stdin, op reël 1:
  • poog om die veld `?` ('n nulwaarde) te
  • & gt; 'n .. [1] .. [2]:
  • null
  • Die nuwe funksie `drem 'evalueer die res van 'n integerafdeling x / y, maar in teenstelling met' irem ', omskep die interne kwosiënt x / y na die naaste heelgetal in plaas van na nul.
  • Die nuwe funksie `skycrane.todate` gee die huidige datum en tyd as 'n geformateerde string.
  • Die nuwe funksie 'io.truncate` sny 'n lêer af in die huidige lêerposisie.
  • Die nuwe funksie `io.move` verander die lêer posisie 'n gegewe aantal karakters links of regs.
  • Die nuwe funksie 'io.filesize` gee die grootte van 'n lêer weer.
  • `readlib` aanvaar nou slegs stringe as sy argumente. Getalle word nie meer toegelaat nie.
  • As die laaste argument vir 'met` die Booleaanse `vals` is, skryf die funksie nie die toegewysde kort name aan die konsole (stdout) nie.
  • `strings.fields` aanvaar nou ook 'n reeks indeksgetalle. Dit aanvaar egter nie die indeks `0` nie.
  • Die Raspberry Pi Wheezy Debian-installeerder sluit nou die gdi'-grafiese pakket in.
  • Die lêer `change.log` word nou korrek vertoon in Windows.

Wat is nuut in weergawe 2.0.0 RC3:

  • Die nuwe lusvariante `vir / as` en` vir / tot` maak 'n voorwaarde aan die einde van die huidige iterasie en begin die volgende iterasie of verlaat die lus. Dit werk met beide vir / na, sowel as vir / in loops.

Wat is nuut in weergawe 2.0.0 RC2:

  • Die nuwe lusvariante `vir / as` en` vir / tot` maak 'n voorwaarde aan die einde van die huidige iterasie en begin óf die volgende iterasie óf 'n lus. Dit werk met beide vir / na, sowel as vir / in loops.

Wat is nuut in weergawe 2.0.0 RC1:

  • Die nuwe `invoer`-verklaring stel dit in staat om een ​​of meer biblioteke in te voer sonder om hul name in aanhalingstekens in te voeg, bv. "invoer calc, statistieke" is gelyk aan "readlib ('calc', 'stats')".
  • Die 'alias'-opsie vir die `invoer`-stelling gee een of meer kort name toe aan die biblioteekfunksies geïnitialiseer, bv. "invoer calc alias xpdiff" is gelyk aan "met ('calc', 'xpdiff') 'en' invoer calc alias 'is gelyk aan' met ('calc') '.
  • Die nuwe `..`-operateur kan tabelle indekseer selfs as sy linkerhand operand evalueer na` nul '. In hierdie geval word 'nul' teruggegee en geen `poging om die indeksveld te gee nie ... ('n nulwaarde)` fout word uitgereik. Dit is soortgelyk aan die `getentry'-funksie, maar is drie keer vinniger.

Wat is nuut in weergawe 1.12.9:

  • Die nuwe funksies `io.getclip` en` io.putclip` ruil teks tussen Agena en die knipbord (net Windows).
  • `stats.prange` is herskryf in C en het tot 60% vinniger geword.
  • `os.cpuinfo` gee nou korrekte en meer inligting oor ARM-gebaseerde stelsels.
  • In DOS- en UNIX-stelsels, insluitende Mac OS X en slegs in die komplekse domein, het die eksponensiering van die basis 0 na die eksponent 0 + r * I, met 'n nie-nul-float, 'undefined` in plaas van 0 teruggekeer. Dit is opgelos.
  • In DOS- en UNIX-stelsels, insluitende Mac OS X en slegs in die komplekse domein, het die eksponentering van die basis 0 na die eksponent r + 0 * I, met 'n positiewe vlotter, 'ongedefinieerde' in plaas van 0 teruggegee. Dit het is vasgestel.
  • `stats.obcount` en` stats.obpart` kan waardes nie in die regterkantste subinterval insluit nie. Dit is opgelos.
  • 'calc.nakspline`, `calc.naksplinecoeffs`,` calc_clampedspline`, en `calc_clampedsplinecoeffs` gesproke segmenteringsfoute indien genoem met 'n struktuur wat te min punte bevat, dws pare. Dit is opgelos deur in hierdie gevalle `fail 'terug te keer.
  • Potensiële geheue-ontallingsfoute is verwyder van `calc.neville`,` calc.interp`, `calc.newtoncoeffs`,` calc.naksplinecoeffs`, `calc.clampedsplinecoeffs`,` calc.nakspline`, en `calc.clampedspline`.
  • Die nuwe C API funksie `agn_checkinteger` kontroleer of 'n argument 'n getal en 'n heelgetal is en - in teenstelling met` luaL_checkinteger` - 'n ander probleem veroorsaak.

Wat is nuut in weergawe 1.9.0:

  • Die nuwe 'alternatiewe` funksie gee sy eerste argument terug as die tweede argument' nul 'is. Andersins gee dit sy tweede argument terug.
  • Die -b skakelaar na die uitvoerbare Agena is verwyder omdat die uitvoer dieselfde was as die -v opsie.
  • Die Windows en UNIX / Mac weergawes van `strings.utf8size` bevat 'n potensiële geheue lek; Dit is verander.
  • Alle binêre DLLs / SO's van die plus-biblioteke bevat nie meer ongebruikte kode nie, en verminder hul grootte met tot 10 persent, afhangende van die bedryfstelsel. Die makefile en die bronne wat voorheen ongebruikte header lêers ingevoer is, is verander. Byvoorbeeld, dit verminder die grootte van die Windows-binaries met 55 kBytes.
  • Die toetspakket uitgebrei.
  • Opgedateer die skema lêers.

Wat is nuut in weergawe 1.6.0:

  • Nuwe funksies en funksies:
  • Die nuwe funksie `tjek tipe 'bepaal of alle waardes in 'n struktuur van 'n gegewe tipe is.
  • Die nuwe funksie `isint` kontroleer of al sy argumente heelgetalle is.
  • Die nuwe funksie `strings.dleven` gee die Damerau-Levenshtein-afstand van twee snare terug.
  • Die nuwe funksie `stats.ad` bepaal die absolute afwyking van al die waardes in 'n struktuur.
  • Die nuwe funksie `stats.countentries` tel die aantal voorkoms van al die elemente in 'n struktuur.
  • Die nuwe funksie `stats.deltalist` gee 'n struktuur van die deltas van die onderskeie naburige elemente.
  • Die nuwe funksie `stats.gmean` gee die geometriese gemiddelde van 'n struktuur terug.
  • Die nuwe funksie `stats.hmean` gee die harmoniese gemiddelde van 'n struktuur terug.
  • Die nuwe funksie `stats.ios` gee 'n bewese aanwyser vir stabiliteit in 'n verspreiding.
  • Die nuwe funksie `stats.iqr` gee die interkwartielreeks terug.
  • Die nuwe funksie `stats.issorted` kontroleer of alle nommers in 'n struktuur in stygende volgorde gesorteer word.
  • Die nuwe funksie `stats.moment` bereken die oomblik van die gegewe data oor 'n oorsprong.
  • Die nuwe funksie `stats.numbperm` gee die aantal permutasies terug.
  • Die nuwe funksie `stats.percentile` bepaal persentiele.
  • Die nuwe funksie `stats.skewness` gee die skeefheid weer, 'n aanduiding van die simmetrie van 'n waarskynlikheidsverspreiding.
  • Die nuwe funksie `stats.sumdata` som al die magte van 'n struktuur oor 'n oorsprong op.
  • `stats.tovals` is nou 'n C-biblioteek funksie en is dus tot 40 persent vinniger.
  • Met 'n leë tabel of volgorde, `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
  • `stats.var` kom nou terug misluk.
  • Die maksimum lengte vir 'n invoerlyn in die alleenstaande tolk is van 512 tot 2048 karakters verander.
  • Die nuwe omgewing veranderlike `environ.maxpathlength` slaan die maksimum aantal karakters vir 'n lêerpad (behalwe C se karakter).
  • Die nuwe omgewing veranderlikes `environ.minnumber` en` environ.maxnumber` hou die minimum en maksimum waarde in wat 'n Agena nommer (tans 'n ANSI-C dubbel) kan stoor.
  • Die nuwe omgewingsveranderlike `environ.umaxlong` sluit die maksimum integrale waarde van die C-tipe ongetekende lank op 32 + bis stelsels in, en ononderteken lank op 16bit-masjiene.
  • C API:
  • 100% verenigbaarheid van die Agena C API na Lua se C API is herstel deur Lua se * dump-funksies bekend te stel. So kan jy nou funksies in 'n binêre voorstelling stoor, bv. deur die gebruik van `strings.dump` of lua_dump op die C-vlak.
  • Het die nuwe `agnL_optboolean` funksie ingestel om na opsionele Boole-argumente te kyk en dit in geval van sukses terug te gee.
  • Bug Fixes:
  • `environ.globals` stop altyd met 'n fout, dit is reggestel.
  • `aanvaar 'het valse teruggekeer met albei sy argumente wat of onbepaald is. Dit is nou waar in hierdie geval waar.
  • Agena neergestort toe 'n leë tafel en 'n delimiteer om 'join' te wees - dit is vasgestel.
  • Die `kleur` opsie word nie meer deur 'gdi.plot` genegeer nie.
  • Met tabelle het `stats.minmax` 'n verkeerde waarde vir die minimum behaal. Dit werk nou korrek.
  • Met 'n leë tabel het 'stats.median` 0 teruggekeer, en dit gaan nou terug.
  • In teenstelling met die dokumentasie, 'strings.isending` het' true 'teruggekeer met albei snare wat gelyk is. Dit is opgelos.
  • `run` returned` kon nie lêer oopmaak nie 'as 'n bestaande Agena-script 'n sintaksfout bevat. Dit is vasgestel deur die funksie heeltemal te herschrijf.
  • Bygevoeg Lua 5.1.4 pleister 9: "Verkeerde kode generasie vir spesifieke [bv. komplekse] boolean uitdrukkings."
  • Bygevoeg Lua 5.1.4 pleister 11: "Parser kan 'n prototipe versamel terwyl dit gebou word."
  • * Info: Byvoeging van Lua 5.1.4 patch 10, "[__write / __ new] indeks metamethod kan nie werk as metatable sy eie metatable is nie", tot Agena is nie nodig nie, want Agena werk reeds korrek in hierdie geval.
  • Die ongebruikte sleutelwoord `standaard` verwyder.
  • Sekere verharding van funksies en kenmerke.
  • Verbeterings:
  • Bygevoeg 'n _experimentele weergawe van `io.anykey` na die Mac-weergawe. Ten minste, op die leeu, maar die sleutel word gedruk, word soms op die dop gesit.
  • `utils.readcsv` kan nou al die waardes in 'n CSV-lêer in 'n plat volgorde plaas.
  • Die `klok`-pakket ondersteun nou die afdeling operateur` / `deur dit by die` tm`-operateur se metatable te voeg.
  • Die gedrag van `met` is verander omdat dit nie kort name vir baie biblioteekfunksies kan toewys nie. As funksies in die .aux-tabel geplaas is, moet nie kort name vir hierdie funksie name toegeken word nie; anders gee kort name vir _all_ ander pakketfunksies. Dus: `package.register` om al die biblioteekfunksies vir 'met` te registreer om kort name toe te ken, is nie meer nodig nie. Dit sal in een van die volgende vrystellings afgeskaf word.
  • Verbeter die toets suite.
  • Handleiding:
  • Die handleiding en die indeks verbeter.
  • Konsekwentheid:
  • Vir al die volgende hernoemings word die volgende ou veranderlike name nog steeds ondersteun.
  • `environ.MinLong` is hernoem na` environ.minlong`.
  • `environ.MaxLong` is hernoem na` environ.maxlong`.
  • `environ.BufferSize` is hernoem na` environ.buffersize`.
  • `environ.PathSep` is hernoem na` environ.pathsep`.
  • `environ.More` is hernoem na` environ.more`.
  • `environ.WithProtected` is hernoem na` environ.withprotected`.
  • `environ.Os` is hernoem na` environ.os`.
  • `environ.Cpu` is hernoem na` environ.cpu`.
  • `environ.Release` is hernoem na` environ.release`.
  • `environ.GdiDefaultOptions` is hernoem na` environ.gdidefaultoptions`.
  • In Windows word 'os.login` en `os.computername` nou' misluk 'soos die UNIX- of OS / 2-weergawes doen.
  • Die '-DCOMPAT13'-skakelaar is finaal verwyder vir die opstel van 'n Agena 1.3.x-weergawe.
  • Ander:
  • Uitgereik `calc.fseq` is verwyder. Gebruik asseblief `nseq` instead.

Wat is nuut in weergawe 1.5.1:

  • Patched `strings.fields` wat glad nie gewerk het nie. Dit is ook omskep in 'n C-biblioteekfunksie en dus 2,6 keer vinniger.
  • `strings.words` aanvaar nou 'n derde argument, as dit ingestel is op` true`, word die volgende delimiteerders geïgnoreer.
  • Verwyder 'n moontlike sekuriteitslek uit `io.write` en` io.writeline` en verbeter die foutboodskappe.
  • Patched `binio.readchar` om probleme te voorkom met lêers van groter grootte as 2 GBytes.
  • Korrekte foutboodskappe van funksies `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
  • Terabiete kan nou ingevul word met die notasie T, waar is 'n heelgetal en T is die karakter `T`. Net so, g dui biljoene en t triljoene aan. Sien bladsy 48 van die handleiding vir verdere inligting.
  • Die handleiding opgedateer.
  • Meestal is alle terugskakelaarskomponente in die C-bronkode verwyder vir kode-skoonmaakredes. Dit raak net diegene wat Agena 1.5 of hoër probeer komponeer met volle agteruitkompatibiliteit vir Agena 1.3 en 1.4, en met die meeste agteruitkompatibiliteit vir Lua 5.0 (behalwe ou Lua 5.0-biblioteekhantering).

Wat is nuut in weergawe 1.5.0:

  • `map` kan nou ook strings verwerk as tweede argument. Die onderskeie funksie en sy argumente word agtereenvolgens op elke karakter van links na regs toegepas en die resultaat word in 'n ry teruggegee.
  • `run`: As jy kode wil laai en uitvoer vanaf lêers met 'n 'agn'-agtervoegsel, hoef jy nie die agtervoegsel in die argument meer te spesifiseer nie. So `run 'toets'` en` run' test.agn'` is nou dieselfde.
  • Die 'is` sleutelwoord is nou verpligtend om prosedures te definieer. (Met GCC gebruik die -DCOMPAT14 skakelaar om 'n weergawe van Agena op te stel waar die `'` navraag nog opsioneel is.)
  • Die `probeer`-verklaring is afgekeur en word nie meer ondersteun nie. (Met GCC gebruik die -DCOMPAT14 skakelaar om 'n weergawe van Agena op te stel wat nog steeds hierdie stelling bevat.)
  • Die volgende `outils` funksies is verwyder:` arraysize`, `getarray`,` getwholearray`, `newarray`,` searcharray`, `setarray`. Vir agteruitkompatibiliteit, is hulle by die lib / compatible.agn-lêer gevoeg. (Met GCC gebruik die -DCOMPAT14 skakelaar om 'n weergawe van Agena op te stel wat nog steeds die oorspronklike outils funksies ondersteun.)
  • `utils.singlesubs` is heeltemal herskryf. Dit verwag nou 'n reeks getalle as die tweede argument in plaas van die voormalige stringerray userdata struktuur. Dit is 35% stadiger as die vorige weergawe, maar die verwydering van die struktuurstruktuur is belangriker.
  • `strings.include` het geval as dit met 0 as die tweede argument genoem word. Dit is opgelos.
  • Toegepaste Michael G. Schwern se 10 Mei 2011 pleister vir sy '32-bis-jaar 2038-Fix` datum hulpfunksies wat gebruik word deur die `os` en` xbase` pakkette (`Maak mktime64 () korrek die inkomende tm struct soos ISO C vereis. ")
  • Interne kode optimalisering: 'n paar biblioteekinitialisering en die laai van C-funksies het die stapel gebruik om pad- en lêernaamstrings te bou. Die nuwe C aux-funksie `concat` geskryf deur Solar Designer word nou in baie gevalle gebruik.
  • Die Agena C API is nou 100% verenigbaar met die Lua C API om C Lua-pakkette aan Agena te vergemaklik.
  • Die volgende funksies is dus hernoem: lua_isnumber -> agn_isnumber, lua_isstring -> agn_isstring, luaL_optnumber -> agnL_optnumber, luaL_checknumber -> agnL_checknumber, luaL_optnumber -> agnL_optnumber, luaL_checkinteger -> agnL_checkinteger, luaL_optinteger -> agnL_optinteger.
  • Die volgende makro's is hernoem: luaL_checkint -> agnL_checkint, luaL_optint -> agnL_optint.
  • In teenstelling met die voormalige Agena-implementering, lewer lua_tonumber nou 0 soos in Lua as 'n nie-nommer geslaag is, in plaas van om HUGE_VAL terug te keer.
  • lua_setglobal2 is verwyder. Gebruik eerder lua_pushvalue en lua_setglobal.

Wat is nuut in weergawe 1.4.2:

  • As in die parameterlys van 'n prosedure die gebruiker gedefinieerde tipes gespesifiseer is, in
  • prosedure oproepe geen foute is uitgereik nie en die prosedure is in plaas daarvan uitgevoer in die volgende gevalle:
  • a) 'n tabel, stel, volgorde, paar of prosedure - sonder dat 'n gebruiker gedefinieer is
  • tik - is geslaag,
  • b) Geen waarde hoegenaamd is vir die betrokke parameter geslaag nie.

Wat is nuut in weergawe 1.4.1:

  • Kort name vir `stats.quartiles` en` stats.mode` kon nie toegeken word deur die `with`-funksie nie. Dit is opgelos.
  • Onwaar, 'met` kon nie 'n kort naam vir' gdi.settriangle` toeken nie. Dit is verander.
  • Fouthantering van `calc.polygen` is verbeter.
  • Verbeterde foutboodskap van `fractals.draw` vir ontbrekende FRACTINT-kaartlêers.
  • Verwyder verouderde `strings.rseek` funksie. Vir agteruit verenigbaarheid, is `strings.seek` by die lib / compatible.agn lêer gevoeg.
  • Bygevoeg die -d skakel om debugging inligting te druk tydens die opstarten van die tolk.
  • Die Windows-weergawe van Agena is nou saamgestel met GCC 4.5.2.
  • Bygewerkte taalskema lêers.
  • Die handleiding is opgedateer.

Wat is nuut in weergawe 1.4.0:

  • Semantiese veranderinge:
  • Loop beheer veranderlikes van numeriese `vir / tot` loops is nou outomaties plaaslik na hul omliggende blokke in plaas van hul (innerlike) lus liggame. As 'n plaaslike veranderlike met dieselfde naam as die luskontrole-veranderlike voorheen verklaar en toegeken is
  • 'n numeriese lus uitvoer, dit word oorskry volgens die laaste iterasie waarde van die lus. As sodanig word die `eksterne'-skakelaar in numeriese` vir`-lusse nie meer aanvaar nie. (Met GCC gebruik die -DCOMPAT13 skakelaar om 'n weergawe van Agena op te stel wat steeds erken, maar ignoreer die `eksterne 'navraag.)
  • Met die konstante `fail`,` not` het `true` teruggekeer, maar met` fail` wat aan 'n veranderlike toegewys is, het `` nie` teruggekeer nie. Dit is verander, dws 'a: = fail; nie (a) 'kom nou `waar` terug.
  • `stats.median` gee nou 'fail` in plaas van 0 as die gegewe struktuur leeg is.
  • `utils.readcsv`: As 'n enkele wit spasie met die` delim'-opsie geslaag is en as die opsie 'ignorespaces` nie gegee is nie, word wit spasies nie meer outomaties verwyder voordat elke linie van die lêer gesplitste word nie sy woorde.
  • Die funksie het ook twee nuwe opsies: `koptekst 'wat die eerste reël in 'n lêer aandui en` uitvoer' wat dit moontlik maak om die inhoud van die lêer in 'n woordeboek te stoor met die veldname wat deur die lêeropskrif gedefinieer word.
  • Die notasie van '$ `substring word nie meer ondersteun nie. (Met GCC, gebruik die-DCOMPAT13 skakelaar om 'n weergawe van Agena op te stel wat die `$` operateur nog steeds ondersteun.)
  • Uitbreidings:
  • Oneindige doe / lus lusse is bygevoeg. Hierdie soort lus herhaal oneindig en kan slegs onderbreek word met die `breek` of` terugkeer'-stellings. Hulle is sintaktiese suiker vir `` terwyl ware do ... od` loops.
  • Met tabelle, `stats.minmax` het eers gewerk met skikkings. Dit is verander, dws waardes met ooreenstemmende nie-positiewe sleutels (bv. Snare, nie-positiewe heelgetalle, negatiewe en positiewe vlotte, ens.) Word nou behoorlik in die evaluering erken.
  • `stats.mean`,` stats.qmean`, `stats.sd` en` stats.var` verwerk nou ook rye.
  • Die nuwe `stats.mode`-funksie gee alle waardes terug in 'n volgorde of tabel met die grootste aantal gebeurtenisse, dit wil sê die hoogste frekwensie.
  • Die nuwe `stats.quartiles` funksie gee die eerste, tweede en derde kwartiel van 'n _sorted_ tabel of volgorde.
  • Voorheen ongedokumenteerde funksies van `linalg.matrix` is by die handleiding gevoeg en sy fouthantering is verbeter.
  • Verbeterde fouthantering van `linalg.hilbert`.
  • `gdi.setinfo` aanvaar nou die` vierkant` opsie. As `vierkant = onwaar ', dan sal die x- en y-asse nie dieselfde skaal hê op grafieke wat met` gdi.plot` geskep is nie.
  • Die funksie `gdi.plot` om ongelukkig te teken, is nie gedokumenteer nie. Dit is verander.
  • `gdi.plot` aanvaar twee nuwe opsies: Die 'x'-opsie spesifiseer die horisontale reeks waaroor 'n plot vertoon word, en die' y'-opsie spesifiseer die vertikale reeks.
  • As 'n PLOT-struktuur geslaag word na `gdi.plot` wat slegs POINTs, LINESs, RECTANGLES, TRIANGLEs, CIRCLEs en ELLIPSEs bevat (insluitend hul * VULDE variante), bepaal` gdi.plot` die skale (` gdi.setinfo` hoef nie noodwendig genoem te word nie).
  • Die OOP-eienskappe wat van Lua geërf word, word nou in Bylae A9 gedokumenteer. Die skrywer beveel nie aan objekgeoriënteerde programmering nie.
  • Tuning:
  • Gestem "ingevulde" operateur met ongeveer 3%.
  • Tweaked `in`,` join`, `sadd`,` qsadd`, `vervang`,` copy`, `unique`, en Cantor stel operateurs op tabelle en stel 'n bietjie.
  • Met tafels is die operasies `top` en` bottom `nou ongeveer 5% vinniger.
  • Die `size`-operateur is minstens 8% vinniger as 'n tabel nie nul bevat nie.
  • `linalg.mzip`,` linalg.mmul` en `linalg.transpose` is met ongeveer 3% elk aangepas.
  • Numeriese vir / na loops met fraksionele stapsgroottes is geoptimaliseer deur die aantal van hul kontrole veranderlikes met die helfte te verminder. Dit het egter nie 'n toename in spoed bereik nie.
  • Patches:
  • Patched `linalg.ludecomp` om enkelvoudige matrikse op te spoor. Ook kan die funksie nou outomaties die volgorde van die gegewe matriks bepaal.
  • In teenstelling met die handleiding, het gdi.plot nie outomaties horisontale en vertikale reekse bepaal nie. Dit is opgelos.
  • `gdi.plot` ignoreer nie meer die` square` opsie wat gestel word deur `gdi.setinfo` nie.
  • `gdi.setinfo` het instellings by INFO strukture bygevoeg, selfs al is hulle reeds teenwoordig. Dit is verander.
  • Sirkels is nie behoorlik opgeteken deur `gdi.plot` nie. Dit is verander.
  • Die `gdi.plot`-funksie in die meeste omstandighede het die individuele kleur van meetkundige voorwerpe geïgnoreer. Dit is verander.
  • Die gdi-pakket het nie kort name vir 'gdi.settriangle`, `gdi.settrianglefilled`,` gdi.setrectangle` en `gdi.setrectanglefilled` toegeken nie. Dit is verander.
  • Die fraktale pakket het nie kort name toegeken vir funksies van gebruiker-gedefinieerde tipe 'esctime' nie. Dit is verander. Korrekte foutboodskap van `fractals.draw` as posisionele argumente nie nommers was nie.
  • Miscellaneous:
  • Die funksionaliteit van `calc.fseq` is saamgesmelt in` nseq`. Vir agteruitkompatibiliteit is `calc.fseq` nog steeds deel van die calc-pakket, maar die funksie verwys eintlik na die` nseq` implementering.
  • Bygevoeg die `environ.FractScreenUpdates`-veranderlike na die` fractals-pakket` om die aantal vertikale lyne ('n nie-negatiewe heelgetal) aan te dui, waarna 'n fraktal in 'n venster opgedateer sal word. Die 'environ.FractOptimised'-veranderlike is afgekeur.
  • Bykomende gdi-funksies is hergroepeer.

Wat is nuut in weergawe 1.3.3:

  • Patches na `instr`:
  • In die regex-modus het die operateur 'n verkeerde resultaat teruggekry as 'n beginposisie gegee is.
  • In die soekkassie-modus het die operateur 'n fout buite die bereik gekry, indien geen beginposisie gegee is nie.
  • Behalwe in die omgekeerde soektogmodus, as daar geen wedstryd gevind is nie, is die eerste argument teruggestuur in plaas van `nul`.
  • Korrekte foutboodskap van die `skep`-verklaring met betrekking tot rye.
  • In AgenaEdit, as u meer as een struktuur uitbring met slegs een oproep na `druk`, is strukture nie in volle vorm gedruk as die eerste struktuur 'n __tostring metamethod vertoon nie. Dit is verander.

Wat is nuut in weergawe 1.3.2:

  • Hierdie weergawe bevat foutoplossings, uitbreidings en 'n verbeterde handleiding:
  • `dimensie` het interessante resultate geskep as 'n struktuur as die
  • geslaag is
  • initialiser. Dit is verander: `dimensie` skep nou onafhanklike kopieë van die
  • struktuur wanneer u die tabel initialiseer.
  • Die funksionaliteit van `strings.rseek` is by die` instr` operateur bygevoeg.
  • Dus, `strings.rseek` is uitgestel. Vir agteruitkompatibiliteit,
  • `strings.rseek` is by die lib / compatible.agn lêer gevoeg.
  • `strings.hits` ondersteun nou gereelde uitdrukkings en vangste. Hierdie gedrag
  • kan afgeskakel word deur 'n Boolean as 'n derde argument oor te dra.
  • `strings.isabbrev` en` strings.isending` gebruik nou outomaties 'n eenvoudige soektog
  • as daar geen gereelde uitdrukkings of onderskrifte as deel van die tweede geslaag is nie
  • argument.
  • Tweaked `strings.ismagic` en` strings.isfloat`.
  • Die funksie `log` is nou 13% vinniger.
  • Wanneer u meer as een struktuur uitbring met slegs een oproep na `druk`,
  • strukture is nie in volle vorm gedruk as die eerste struktuur 'n __tostring
  • vertoon het nie
  • metamethod. Dit is verander.
  • Bygevoeg kategorisasies van funksies in Hoofstuk 7 om die begin vir nuwe te fasiliteer
  • gebruikers.

Wat is nuut in weergawe 1.3.1:

  • Daar is probleme met geneste oproepe na die volgende binêre operateurs: `xor`,` atendof`, `& amp;`, `|` `,` ^ `,` :: `en`: - `, en dus ook met die mooi drukker wat ophou met 'n fout tydens die druk van geneste strukture. Dit is opgelos.
  • Vier oplossings vir `os.list`: As die 'r'-opsie geslaag is, is die huidige werkboek fout verander nadat die oproep voltooi is.
  • As 'r' nie as die laaste argument aangeneem is nie, het die funksie 'n fout uitgereik.
  • `nul` is nie aanvaar as die eerste argument om die huidige werkgids te noem nie.
  • In Windows 7 het die inhoud van die hoofmap nie gedruk nie, dit wil sê os.list ('c:') het die inhoud van die huidige werkmap teruggegee.
  • Wanneer 'n string geïndekseer is met 'n nie-nommer, bv. "str [null]", Agena het 'nul teruggekeer. Daar word nou 'n fout opgetel.
  • As library.agn nie gevind is nie, is die verkeerde pad twee keer in die waarskuwing uitgereik. Dit is verander.

Wat is nuut in weergawe 1.2:

  • Die substring operateur is herontwerp, maar die ou weergawe sal steeds beskikbaar wees vir Agena 2.0: die nuwe een is: `str [links na regs]`, die ou is: `str $ (links, regs)` . 'N Voorbeeld: voor: `str: =' string '; druk (str $ (2, 3)) '-> 'tr' nou: `str: = 'string'; druk (str [2 tot 3]) `-> 'Tr'
  • U kan nou sublyste tabelraamwerke en -reekse met die nuwe sintaksis wat hierbo genoem word, bepaal: `s [links na regs]. 'N Voorbeeld: nou: `a: = [10, 20, 30, 40]; druk ('n [2 tot 3]) '-> [20, 30] nou: `a: = seq (10, 20, 30, 40); druk ('n [2 tot 3]) '-> Seq (20, 30)
  • Die `ops`-funksie laat nou toe om die waardes wat teruggegee moet word, te spesifiseer deur 'n ry van hul indeksposisies as eerste argument, bv. ops (seq (1, -1), 10, 20,
  • 30).
  • Die nuwe funksie `strings.include` voeg 'n karaktervolgorde in 'n string in
  • op 'n gegewe posisie.
  • Die volgende funksies gee nou 'n fout in plaas van net 'fail` in
  • terug te keer
  • geval van 'n mislukking: `os.remove`,` os.move`, `os.mkdir`,` os.rmdir`, `os.chdir`.
  • Verbeterings aan die volgende operateurs wat op stelle en opeenvolgings handel oor vullisverwydering: `voeg 'verklaring,` unie`, `kruispunt`,` minus`, `uniek`,` kopie`, `pop / top` en `pop / bottom`-stellings en stel opdragte in.
  • Verbeterde foutboodskap van `fractals.draw` as FRACTINT kleurkaartlêer nie
  • het nie
  • is nie gevind nie.

Wat is nuut in weergawe 1.1.0:

  • Hierdie weergawe bevat nuwe funksies en 'n gereinigde naamruimte.
  • Verenigbaarheid met Agena 1.0:
  • Sommige funksies is verwyder van Agena en sommige is omskep in pakketfunksies (sien hieronder). As u dit nog steeds wil gebruik, moet u 'read compat' op die opdrag reël uitstippel of die bogenoemde stelling in u aanvanklike lêer plaas as u agteruitkompatibiliteit vir Agena 1.0 verkies.
  • Uitgebreide funksionaliteit:
  • Die `pop / top`- en` pop / bottom`-stellings en `bottom`- en` top`-operateurs kan nou ook op tabelraamwerke toegepas word.
  • Wanneer dit met 'nul' of geen argumente genoem word, 'os.chdir` gee nie meer 'n fout uit nie, maar gee die huidige werkboek weer. Dus, die voormalige `os.curdir` C-funksie is vervang deur een wat in die Agena-taal geskryf is.
  • `os.list` kruis nou subrubrieke herhaaldelik as die nuwe 'r'-opsie gegee word.
  • Die `join`-operateur aanvaar nou ook 'n opsionele delimiter en ondersteun die opsie om die eerste en die laaste element van die struktuur te spesifiseer.
  • `instr` kan nou van die regterkant van 'n tou soek deur 'n negatiewe posisie te slaag.
  • As 'n tabel ander tabelle, stelle, reekse of pare bevat, kan `kopie` nou weet hoe om hierdie verwysings behoorlik te hanteer as hulle verskeie kere voorkom: As 'n ingeboude struktuur n keer ingesluit word, word een regte kopie gemaak en n-1 verwysings na hierdie nuutgeskepte struktuur word ingevoeg. Voorheen is n onafhanklike kopieë gemaak.
  • Die nuwe 'isnonposint` funksie kontroleer of die gegewe getalle alle heelgetalle en nie-positief is.
  • `io.close` kan nou meer lêers sluit met slegs een oproep.
  • Die funksie `met` het geen kort name toegeken vir die volgende prosedures van die` math` pakket: `convertbase`,` fraction`, `zeroin`,` todecimal`, `lcm`,` gcd` en ` ndigits`. Dit is reggestel.
  • Die `rwritemode`-funksie wat in die handleiding genoem word, bestaan ​​nie. Dit is nou beskikbaar maar noem `rmode`.
  • Fout boodskappe van verskeie funksies is verbeter.
  • Naamruimte skoonmaak: Hernoemde of verskuifde funksies:
  • Die `register`- en` loadclib`-basisbiblioteekfunksies is na die `pakket'-biblioteek geskuif.
  • Die voormalige `rdelete`,` rget`, `rinit`,` roinit`, `rmode`,` rset`, `remember` en 'default'-basiese biblioteekfunksies is verskuif na die nuwe` rtable`-pakket .
  • Hernoem die globale _Env-tabel na `environ` wat nou ook prosedures bevat om toegang tot die omgewing te verkry.
  • Die voormalige globale `homedir`- en` infolevel`-omgewingsveranderlikes is hernoem na onderskeidelik 'environ.homedir` en `environ.infolevel`.
  • Die volgende voormalige basiese biblioteekfunksies is verskuif na die omgewingspakket: `anames`,` attrib`, `gc`,` getfenv`, `globals`,` isselfref`, `pointer`,` setfenv` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.
  • `mapm.xtoNumber` is hernoem na` mapm.xtonumber`, `mapm.xtoString` is hernoem na` mapm.xtostring`. Vir agteruitkompatibiliteit, kan die ou funksie name nog gebruik word deur die lib / compatible.agn lêer (eerste readlib die `mapm` pakket en laai die compatible.agn lêer).
  • Afgedankte funksies en veranderlikes:
  • `strings.seek` is afgekeur. Die funksionaliteit is bygevoeg aan die `instr` operateur. Om 'instr` se patroon ooreenstemmende modus af te skakel, slaag die begin van die soektog as die derde en `waar` as die vierde argument. `instr` is ongeveer 40% vinniger in nie-patroon ooreenstemmende af as` strings.seek`. Vir agteruit verenigbaarheid, is `strings.seek` by die lib / compatible.agn lêer gevoeg.
  • Die funksie basiese biblioteek funksie is verwyder. Gebruik eerder `join`. Vir agteruitkompatibiliteit is die voormalige funksie by die lib / compatible.agn lêer gevoeg.
  • Die funksies van die haalbare en haalbare funksies is verwyder. Vir agteruitkompatibiliteit, is hulle by die lib / compatible.agn lêer gevoeg.
  • Die `pcall`-funksie is afgekeur. Gebruik `beskerm` eerder. Vir agteruitkompatibiliteit, is die funksie by die lib / compatible.agn lêer gevoeg.
  • Die `maptoset` funksie is afgekeur. Vir agteruitkompatibiliteit, is die funksie by die lib / compatible.agn lêer gevoeg.
  • Die `os.alldirs`-funksie is uitgestel. Gebruik die opsies 'dirs' en 'r' in 'n oproep na `os.list` in plaas daarvan. Vir agteruitkompatibiliteit, is die funksie by die lib / compatible.agn lêer gevoeg.
  • `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` is verval. Gebruik asseblief die nuwe omgewing veranderlikes environ.Os en environ.Cpu in plaas, wat ook kode versnel. Vir agteruitkompatibiliteit, is die funksies by die lib / compatible.agn lêer bygevoeg.
  • Die ongedokumenteerde _VERSION-veranderlike is verwyder. Vir agteruitkompatibiliteit is sy opdrag by die lib / compatible.agn lêer gevoeg.
  • Ander veranderinge:
  • Die C API funksie lua_rawsetstringnommer wat in die handleiding genoem word, bestaan ​​nie. Dit is verander.
  • Kode optimalisasies aan die parser.
  • In sommige van die pakkette is per ongeluk 'n paar veranderlikes implisiet wêreldwyd verklaar. Dit is opgelos.
  • Korrekte en opgedateerde initialisasie voorbeeld lêers.
  • AgenaEdit is opgedateer.
  • Die taalskema lêers is opgedateer.
  • Die Linux-installateurs bevat nou die xBase-pakket.

Wat is nuut in weergawe 1.0.6:

  • Verbeterde foutboodskappe van `join`,` copy` en `filled`-operateurs, van` toset`, `toseq` en` totable` funksies van `insert`,` delete`, `pop`-stellings, en van `vir` loops.
  • Met reekse het Agena in die volgende volgorde van gebeure neergestort: ​​1) 'n `delete`-stelling is uitgevoer, 2) die volgorde daarna was leeg en 3) 'n nuwe element is weer ingevoeg. Dit is opgelos. (Intern verklaar die `delete`-verklaring nie meer die grootte van die reekse nie meer intern nie.)
  • Met groot snare het `concat` neergestort. Dit is opgelos.
  • Met stringe van 512 en meer grepe, kan 'join` en `replace` crash. Dit is opgelos. Die twee operateurs is nou ook baie vinniger as ooit tevore.
  • `math.isprime` het foutiewe resultate met argumente teruggelees & gt; 2 ^ 31 (vaag in die handleiding genoem). Dit is vasgestel deur die argumentreeks uit te brei na heelgetalle met waardes tot +/- 2 ^ 63.
  • `math.nextprime` en` math.prevprime` het dieselfde probleem gehad met groter argumente soos `math.isprime`. Dit is ook verander. Met argument 2 het `io.nextprime` valslik 5 teruggegee in plaas van 3. Dit is ook vasgestel.

Wat is nuut in weergawe 1.0.5:

  • 'join` kan Agena crash en anders onverwags optree as die string wat daaruit voortspruit
  • het 512 grepe oorskry. Dit is verander.
  • As 'herlaai' is genoem nadat 'n fout in die vorige uitgereik is
  • Verklaring, Agena het in seldsame gevalle neergestort as gevolg van stapelkorrupsie. Dit is
  • vasgestel.
  • Met nuutgeskepte tabelle wat presies een element in die hash-deel bevat, `attrib`
  • gee nou korrekte resultate vir die aantal toegewysde hash slots (1 in plaas van 0).
  • Korrekte foutboodskappe van `qsadd` en` sadd`.
  • Verbeterde foutboodskappe van `join`-,` copy`- en `filled`-operateurs, en van` insert`
  • en `delete` stellings.
  • Fouthantering van `read`,` save` en `fractals.draw` is verbeter.
  • Verbeterings aan die makefiles.
  • Buffergroottes is nou in die bronne gestandaardiseer.

Wat is nuut in weergawe 1.0.4:

  • Aangesien seldsame ineenstortings tydens die aanvang van die aanvang (in Windows XP SP 3 en OpenSolaris 134 onder sekere omstandighede) gerapporteer is, is vullisverwydering nou in die aanvangsfase afgeskakel. Hierdie seldsame segmenteringsfoute het in OpenSolaris plaasgevind toe die Agena-binêre in sy hawe-gids as wortel uitgevoer word, en in XP wanneer dit op die Agena-lessenaarikoon met plaaslike bestuursregte gekliek word.
  • Het die -d oorgeskakel na die opsies vir die opdraglyn om inligting tydens die initialisering van Agena te druk.
  • Het behoorlike fouthantering ingestel as geheue nie intern toegewys kon word aan: `trim`,` upper `,` lower`, `os.curdir` en` strings.rseek`.
  • Verwyder potensiële geheue lekkasies in die initialisering C funksioneer agenaL_initialise and agenaL_setLibname, en in `io.write *` en `print`.

Wat is nuut in weergawe 1.0.3:

  • Die nuwe funksie `protect` noem 'n prosedure in beskermde modus en kry enige moontlike foute sodat die berekening nie onderbreek word nie. In die geval van 'n fout, stel dit die foutstring in die globale veranderlike `lasterror`. Dit is verwant aan `pcall`, maar gee nie die statuskode as die eerste resultaat nie.
  • `attrib` lewer nou korrekte resultate met leë strukture. Met leë strukture het die funksie foutief een toegewysde hash-element getel.
  • `attrib` gee nou die aantal bytes wat deur tabelle, stelle en reekse saamgeneem word, saam met die nuwe 'bytes'-sleutel. Die aantal grepe wat teruggestuur word, is gebaseer op soms teenstrydige inligting wat op die internet beskikbaar is.
  • `vervang` het Agena neergestort as die gevolgde string 512 grepe oorskry het. Dit is verander.
  • `aanvaar 'kom nou terug' Assumption failed '. in plaas van 'veronderstelling misluk'.
  • Die nuwe C API funksie lua_setglobal2 stel die waarde bo-aan die stapel na 'n globale naam. In teenstelling met lua_setglobal, word die waarde nie gedruk nie.
  • Kode skoonmaak van lobject.h (Tabel struktuur), en lapi.c (actnodesize macro). Bugfix na C API funksie agn_deletertable in geval Agena is saamgestel met nie-ongeldig lua_assert. Verander na die terugkeerwaarde van die savestate-funksie wat tydens initialisasie gebruik word om die (geringe) moontlikheid van stapelkorrupsie te voorkom.

Wat is nuut in weergawe 1.0.2:

  • Die nuwe `os.setenv`-prosedure stel omgewingsveranderlikes op die bedryfstelselvlak in. Die funksie is oorspronklik deur Mark Edgar geskryf.
  • In Windows noem os.getenv `n inheemse Windows API-funksie om die waardes van omgewingsveranderlikes te kry. Die Windows-kode is geskryf deur Mark Edgar.
  • Die nuwe 'os.environ`-funksie gee alle toegewezen omgewing veranderlikes weer in 'n tabel. Die funksie is oorspronklik deur Mark Edgar geskryf.
  • `io.open` voeg nou die FILE wyser, die naam en die modus van 'n suksesvolle oop lêer in die nuwe tabel` io.openfiles`. `io.close` verwyder die inskrywing van` io.openfiles` as die lêer suksesvol gesluit kan word.
  • Wanneer geroep word sonder argumente, word 'io.read` nou 'n fout as dit sonder AgenaEdit (sonder poging om die sleutelbord te lees) geroep word.
  • As 'io.anykey` en `io.getkey` in AgenaEdit genoem word, word 'n korrekte foutboodskap vertoon.
  • Een van die initialisatie subprocedures is verander om moontlike stapelkorrupsie te vermy (hoewel probleme nooit voorgekom het nie).
  • os.isMac ('ppc') werk nou op PowerPC-masjiene.
  • Hoofstukke 4 en 6 van die Primer en Verwysing is hersien en uitgebrei. 'N Indeks is bygevoeg en ook baie skoonheidsmiddels is gedoen.
  • Stoor korrekte weergawe inligting aan die uitvoerbare Windows.

Wat is nuut in weergawe 1.0:

  • Geagte dames en here,
  • Na amper vier jaar van ontwikkeling het ek Agena 1.0 gepubliseer, 'n prosedurele programmeringstaal, afgelei van Lua C-bronne.
  • My gemeenskap is eintlik baie, baie klein, maar sommige gebruikers het my vertel dat dit goed, nuttig en stabiel was.
  • Ek sal baie bly wees as u Agena hersien het en my ingelig het oor u resultate. As jy dit nie nuttig vind nie, vertel my asseblief persoonlik en gee my die geleentheid om die probleme op te los.

Wat is nuut in weergawe 0.34.1d:

  • Hierdie weergawe bevat 'n opgedateerde GUI-weergawe van AgenaEdit (sien uitvoerbare lêer agenaedit).

Wat is nuut in weergawe 0.34.1:

  • AgenaEdit met syntax-verlig en ingeboude runtime-enjin is vrygestel met Agena 0.34.1.

Wat is nuut in weergawe 0.34.0:

  • AgenaEdit met syntax-verlig en ingeboude runtime-enjin is vrygestel met Agena 0.34.0.

Wat is nuut in weergawe 0.33.2:

  • Agena 0.33.2 met xBase lêer ondersteuning is vrygestel.

Wat is nuut in weergawe 0.33.1:

  • Agena 0.33.1 met xBase lêer ondersteuning is vrygestel.

Wat is nuut in weergawe 0.33.0:

  • Die nuwe `xbase`-pakket kan xBase-lêers lees en skryf wat verenigbaar is met die dBASE III-standaard.
  • Die pakkette "binio" en "ads" kan nou lêers van tot 2 ^ 63 grepe hanteer. Voordat hulle slegs lêers met groottes van tot 2 ^ 31 grepe kan hanteer.
  • Die nuwe 'io.lock`, `io.unlock`,` binio.lock`, `binio.unlock`,` ads.lock` en `ads.unlock` funksies sluit 'n lêer van lees en skryf toegang deur ander Agena
  • funksies of selfs ander programme, mits laasgenoemde 'n sluitprotokol gebruik.
  • Die baselib-funksie `lees` kan nie meer oorskryf word met` met` nie.
  • Die nuwe `package.checkClib` kontroleer of 'n pakket wat in 'n C-dinamiese biblioteek gestoor is, geïnisieer is. Indien nie, gee dit 'n waarskuwing op die skerm af en skep 'n leë pakkettafel. Andersins beteken dit niks.
  • Die Haiku-poort ondersteun nou dinamiese skakelbiblioteke.

Wat is nuut in weergawe 0.32.3:

  • Agena 0.32.3 met nuwe en afgestemde Calculus funksies is vrygestel.
  • Mac-gebruikers hoef nie meer addisionele afhanklikheidsbiblioteke te installeer nie.
  • 'n Haiku-poort is nou beskikbaar.

Wat is nuut in weergawe 0.31.5:

  • Hierdie weergawe bevat ingeboude grafika, willekeurige presisie wiskunde en verbeterde funksies.

Wat is nuut in weergawe 0.31.3:

  • Bygevoeg die fraktale pakket om maklik fraktale te teken in Solaris, Mac, Linux en Windows.
  • Op Solaris en Linux gee `gdi.mouse` nou standaard waardes vir drukbare muisknoppies (dieselfde as die Mac en Windows-uitgawes).
  • As die -v-opsie gegee word, voer Agena nie meer die aanvanklike lêers uit nie.
  • In UNIX of Mac moet die lêernaam van die initialisasie lêers altyd `.agenainit` wees, of hulle in / usr / agena / lib of die persoonlike gids is.
  • Die binêre Mac-verspreiding vir Intel-verwerkers loop ongeveer 30% vinniger as vorige uitgawes.
  • Die funksie 'io.getkey` is nou beskikbaar in die Mac OS X-uitgawe.
  • Op Mac, `os.system` gee nou volledige inligting oor die bedryfstelsel en die SVE-tipe. Let daarop dat dit inligting oor die Darwin-kern gee, en dat die eerste inskrywing in die tabel hierna `Darwin` is in plaas van` MacOSX`.
  • `os.memstate`,` os.freemem` en `os.beep` ondersteun nou Mac OS X.
  • `io.anykey` is beskikbaar op alle platforms, maar lewer 'n fout op DOS en Mac. Dus, `gdi.draw` sal nie meer foute op Mac gooi as jy die` muis'-opsie gebruik nie.
  • `os.listcore` is uitgebrei om slegs lêer-, gids- of skakelname terug te keer. '. " en '..' word nou nooit teruggekeer nie.
  • `os.list` het geen opsies herken nie en het eerder 'n leë lys teruggestuur. Dit is opgelos. Ook kan opsies nou gekombineer word. '. " en '..' as die eerste argument nou behoorlik erken word.
  • `os.curdir` vervang nou outomaties terugstrokies in die pad wat met skuins vasgestel word.
  • `os.fstat` en` ads.attrib` het Agena neergestort as die datum van 'n lêer oorskry Dinsdag 19 Januarie 2038. Dit is vasgestel deur óf 'n leë tabel vir die datum sleutel (os.fstat) terug te stuur. of 0/0/01 00:00:00, (ads.attrib).
  • `utils.calendar` het Agena neergestort as sy argument ongeldig, negatief of te groot was. Dit is verander. Daarbenewens, as 'n datum is verby Dinsdag 19 Januarie 2038, word die korrekte datum teruggestuur.
  • Die nuwe funksies `os.screensize` en` os.mousebuttons` gee die huidige skermresolusie en die aantal knoppies van die aangehegte muis onderskeidelik (slegs Windows).
  • Die lêer agena.ini.sample is hernoem na .agenainit.sample in die UNIX / Mac-verspreidings.
  • 'n Nuwe makefile vir Solaris word nou gestuur met die mapm Agena-binding om die oorspronklike MAPM-bronne wat geskryf is deur Michael C. Ring volledig saam te stel.

Wat is nuut in weergawe 0.31.2:

  • Die mapm-pakket vir arbitraire wiskunde akkuraatheid is nou ook beskikbaar in die DOS-uitgawe van Agena.
  • Die aantal syfers wat deur die mapm-pakket gebruik word, word geinitialiseer tot 17 syfers by die aanvang van Agena vir DOS of OS / 2 Warp. Voorheen was die standaard 1 syfer.
  • Die C-kode vir die MAPM-binding is gestandaardiseer. Voorheen verskil die DOS- en OS / 2-bronlêers van die een vir UNIX en Windows.
  • Klein verbeterings aan die installateurs van Windows en Mac OS X.
  • Op Mac is die dokumentasie nou beskikbaar in Biblioteek / Dokumentasie / Agena in plaas van / Gebruikers / Deel / Agena.
  • Die sin, cos, arcsin, arccos en arctan funksies het teruggekeer -0 in plaas van 0 as die denkbeeldige eenheid wat tot verkeerde resultate gelei het as die terugkeer van hierdie funksies toegepas is op ander funksies soos ln (dws die teken van die denkbeeldige eenheid van die uitslag van hierdie ander funksies was verkeerd). Dit is vasgestel deur die denkbeeldige eenheid -0 tot 0 in die terugkeer van sonde, cos, arcsin, arccos en arctan te plaas.
  • Die arcsin- en arccos-funksies het verkeerde resultate vir argumente teruggegee z, as abs (real ((z))) 1. Dit is vasgestel.
  • In OS / 2 het die meeste komplekse rekenkundige funksies onbeperk teruggekeer. Dit is opgelos.
  • Let daarop dat in OS / 2 en DOS, in die komplekse domein, nog steeds probleme met die arccos- en arcsin-operateurs is wat in sekere situasies onbeperk is.
  • Die Windows, i386 Solaris 10 en Linux weergawes is nou saamgestel met GCC 4.4.x (en sonder xmath86.h) wat die aantal foute in komplekse rekenkunde aansienlik verminder het. Trouens, komplekse komplekse wiskunde toetsgevalle lewer nul foute. Die Sparc-weergawe is saamgestel met GCC 4.3.3 vir Sun Sparc en het minder foute in komplekse getalrekenkunde as die 0.31.1-vrystelling gehad het.
  • Hernoem die volgende lêers: config.h -> agncfg.h, chelpers.h -> agnhlps.h, agnxlib.h -> agnxlib.h.
  • Gdi.mouse lewer nou standaard waardes vir drukbare muisknoppies.

Wat is nuut in weergawe 0.31.1:

  • Agena 0.31 bevat al die basiese gereedskap om punte, lyne, sirkels, ellipse, reghoeke, boë te plot. ens., om beeldgrootte en kleure te beheer.

Wat is nuut in weergawe 0.31.0:

  • 'n taal konsekwentheid vrylating met 'n bug fix - is vrygestel. Sien die veranderingslogboek vir wat verander het.

Wat is nuut in weergawe 0.30.4:

  • Agena beskik nou oor ingeboude grafika. Dit sal jou toelaat om grafieke, beelde, ens. In X11 of Win32 Windows of GIF, PNG, JPEG, FIG, of PostScript lêers te graf, beide in Solaris, Linux en Windows. Agena bind aan die g2 grafiese biblioteek geskryf deur Ljubomir Milanovic en Horst Wagner, om hierdie nuwe vermoëns te bied.
  • Agena 0.30 bevat al die basiese gereedskap om punte, lyne, sirkels, ellipse, reghoeke, boë te plot. ens., om beeldgrootte en kleure te beheer.
  • & gt; met 'gdi';
  • Gdi pakket v0.1.4 vanaf 20 Desember 2009
  • boog, gevulde, agtergrond, sirkel, sirkelvormig, clearpalette, naby, streep, ellipse, ellipsefilled, spoel, fontsize, initpalette, ink, laaste toegang, lyn, newline, newpoint, oop, plot, plotfn, punt, reghoek, reghoekvul , reset, resetpalette, setinfo, setoptions, struktuur, teks, dikte, driehoek, driehoekvol, gebruikink
  • Die plotfn-funksie teken een of meer grafieke van funksies in een reële, opsioneel saam met die asse wat in 'n gebruiker gedefinieerde kleur geteken is. Die omvang van die y-as kan ook gegee word, anders bepaal Agena die beste instelling. Daar is verskeie ander opsies wat met die setoptions funksie gestel kan word en wat van toepassing is op alle grafieke wat in 'n sessie geproduseer word: die vensterresolusie, die kleurkaart, die lyndikte en agtergrondkleur. Natuurlik kan die gebruiker sommige of alle opsies vir 'n spesifieke plot oorheers. Singularities word behoorlik behandel.

Wat is nuut in weergawe 0.30.3:

  • Agena 0.30.3 met ingeboude grafika, willekeurige presisie wiskunde en verbeterde funksies is vrygestel.

Wat is nuut in weergawe 0.30.2:

  • Agena beskik nou oor ingeboude grafika. Dit sal jou toelaat om grafieke, beelde, ens. In X11 of Win32 Windows of GIF, PNG, JPEG, FIG, of PostScript lêers te graf, beide in Solaris, Linux en Windows. Agena bind aan die g2 grafiese biblioteek geskryf deur Ljubomir Milanovic en Horst Wagner, om hierdie nuwe vermoëns te bied.
  • Agena 0.30 bevat al die basiese gereedskap om punte, lyne, sirkels, ellipse, reghoeke, boë te plot. ens., om beeldgrootte en kleure te beheer.
  • & gt; met 'gdi';
  • Gdi pakket v0.1.4 vanaf 20 Desember 2009
  • boog, gevulde, agtergrond, sirkel, sirkelvormig, clearpalette, naby, streep, ellipse, ellipsefilled, spoel, fontsize, initpalette, ink, laaste toegang, lyn, newline, newpoint, oop, plot, plotfn, punt, reghoek, reghoekvul , reset, resetpalette, setinfo, setoptions, struktuur, teks, dikte, driehoek, driehoekvol, gebruikink
  • Die plotfn-funksie teken een of meer grafieke van funksies in een reële, opsioneel saam met die asse wat in 'n gebruiker gedefinieerde kleur geteken is. Die omvang van die y-as kan ook gegee word, anders bepaal Agena die beste instelling. Daar is verskeie ander opsies wat met die setoptions funksie gestel kan word en wat van toepassing is op alle grafieke wat in 'n sessie geproduseer word: die vensterresolusie, die kleurkaart, die lyndikte en agtergrondkleur. Natuurlik kan die gebruiker sommige of alle opsies vir 'n spesifieke plot oorheers. Singularities word behoorlik behandel.

Wat is nuut in weergawe 0.29.0:

  • Agena beskik nou oor ingeboude grafika. Dit sal jou toelaat om grafieke, prente, ens. In 'n venster of 'n GIF-, PNG-, JPEG-, FIG- of PostScript-lêer in Solaris, Linux en Windows te grafiseer deur 'n binding aan die g2 grafiese biblioteek wat deur Ljubomir Milanovic en Horst Wagner.
  • Agena 0.29.0 bevat al die basiese gereedskap om punte, lyne, sirkels, ellipse, reghoeke, boë te plot. ens., om kleur te bestuur en om prentlêers te skep of om X11 of Win32-vensters oop te maak.
  • In een van die volgende updates kan 'n hoëvlak gebruikerskoppelvlak met die gdi.plotfn- en gdi.plot-funksies u univariate funksies en stelle punte op-die-vlieg opsommeer. Die twee funksies is reeds in Agena 0.29.0 ingesluit, maar is steeds beta. Hier is 'n voorskou:
  • & gt; met 'gdi';
  • Gdi pakket v0.1.0 vanaf 24 November 2009
  • boog, agtergrond, sirkel, clearpalette, close, dash, ellips, filledArc, filledCircle, filledEllipse, filledRectangle,
  • gevulTrenglyn, spoel, fontsize, initpalette, ink, laaste toegang, lyn, oop, plot, plotfn, punt, reghoek, herstel,
  • resetpalette, setinfo, setoptions, struktuur, teks, dikte, driehoek, useink
  • Die plotfn-funksie teken die grafiek van 'n funksie in een reële, opsioneel saam met die asse wat in 'n gebruiker gedefinieerde kleur geteken is. Die omvang van die y-as kan ook gegee word, anders probeer Agena die beste omgewing te bepaal. Daar is verskeie ander opsies wat met die setoptions funksie gestel kan word en wat van toepassing is op alle grafieke wat in 'n sessie geproduseer word: die vensterresolusie, die kleurkaart, die lyndikte en agtergrondkleur. Natuurlik kan die gebruiker sommige of alle opsies vir 'n spesifieke plot oorheers. Singularities word behoorlik behandel.
  • plotfn (sin (x) * x>> -5, 5, kleur ~ 'blou', byl kleur ~ 'grys', res ~ 640: 480);

Wat is nuut in weergawe 0.27.2:

  • Die nuwe funksie Basisib verander 'n string in 'n stel karakters, en 'n tabel of volgorde in 'n stel.
  • io.readlines is geplak om lyne te verwerk met meer as 2048 karakters. Die funksie gee nou ook 'n fout as die interne geheue toekenning misluk. Interne buffer grootte is afgeneem van 2048 grepe tot 512 grepe. U kan dit verander deur 'n ander waarde toe te ken aan AGN_IOREADLINES_MAXLINESIZE in die agnconf.h lêer.
  • io.readlines aanvaar nou ook lêerhandvatsels. As u lêerhandvatsels gebruik, in teenstelling met lêernaam, let asseblief daarop dat u die lêer handmatig moet sluit nadat u io.readlines gebruik het.
  • io.readlines gee nie meer 'n leë tabel terug indien die lêer nie bestaan ​​nie. In plaas daarvan is daar 'n fout.
  • toSeq gee nou 'n fout in plaas van misluk as dit nie 'n string, stel of tabel ontvang nie.
  • Die baselib-funksie wat gebruik is, is verleng en kan geheueverbruik in grepe, kbytes en gbytes teruggee. Dit is nou 'n C-funksie.
  • Die ongedokumenteerde gcinfo-funksie is verwyder. Die funksionaliteit is deur gebruik geneem.
  • Die nuwe C API funksie agn_usedbytes gee die aantal bytes wat deur die stelsel gebruik word, terug.
  • Korrekte fout boodskap van toTable.
  • hernoem C AOI funksie `agn_isioforcerror` na` agn_isioforceerror`.

Wat is nuut in weergawe 0.27.0:

  • Bygevoeg die fout funksie math.erf, en die komplementêre fout funksie math.erfc.
  • Bygevoeg die Bessel funksie van die eerste soort math.besselj, en die Bessel funksie van die tweede soort math.bessely. Die bevel word gegee deur die eerste argument, die argument as die tweede argument.
  • As die nuwe omgewing veranderlike _EnvIoForceError ingestel is op 'n nie-nulwaarde (die standaard), die io.open, io.readlines en die verskillende binio-funksies, sluit met 'n fout in plaas van net terug te keer.
  • binio.readbytes en binio.readchar het 'n leë reeks teruggekeer in plaas van misluk indien die lêer wat gelees word nie bestaan ​​het nie. Dit is verander: misluk of 'n fout word nou teruggestuur.
  • Arcsin en Arccos is nou operateurs en dus ongeveer 40% vinniger.
  • Het die xor-operateur bygevoeg wat 'n Boole-eksklusiewe-OF op waardes wat evalueer of waar is, vals, misluk en nul is.
  • Bygevoeg by die operateur wat kontroleer of 'n woord in 'n gegewe frase eindig en sy posisie as 'n nommer teruggee. Die operateur gee terug as die snare dieselfde lengte het, ten minste een van hulle is die leë string, of die woord eindig nie in die gegewe patroon nie.
  • registreer nou net waar, as dit 'n lees-skryf onthou tabel het (opgedateer deur die opgawe).
  • Die nuwe funksie harrotable bepaal of 'n funksie 'n lees-alleen onthou tabel het (wat nie deur die opgawe verklaring opgedateer kan word nie) en waar of onwaar is.
  • Die nuwe operateurs gethigh en getlow kry die hoër en die laer grepe van 'n getal (dws C dubbel).
  • Die nuwe operateurs sethigh en setlow stel die hoër en die onderste grepe na 'n getal (dws C dubbel).
  • Die nuwe operateurs band, bor, bxor en bnot voer bietjie bietjie, of, eksklusiewe of komplementêre bewerkings op getalle.
  • Die nuwe `kernel'-funksie stel instellings van die Agena kernel op. Tans kan dit die manier verander waarop die bietjie operateurs intern werk (gebruik van getekende of ongetekende heelgetalle) en hoe getalle gedruk word.
  • Met reële getalle x, gee wiskunde.argument nou Pi in plaas van 0 as x & lt; 0.
  • As gevolg van 'n fout in die onderliggende ANSI C-biblioteekfunksies, het arcsin en arccos verkeerde resultate met ingewikkelde getalle geproduseer as hul denkbeeldige deel nul in UNIX-stelsels was. Dit is opgelos.
  • math.isPrime het valse getoon met nommer 2. Dit is reggestel.
  • In teenstelling met die handleiding, het abs teruggekeer 2 met mislukking. Nou word dit -1 soos gedokumenteer.
  • Die bietjie pakket is verwyder.
  • Bygevoeg die nuwe C API funksie agn_isioforcerror wat kontroleer of _EnvIoForceError ingestel is op 'n nie-nulwaarde.
  • Die nuwe C API funksie agn_setbitwise bepaal of die operators band, bor, bnot, bxor en shift intern bereken met óf getekende of ongetekende heelgetalle.
  • Die nuwe C API funksie agn_getbitwise gee die modus terug deur agn_setbitwise.
  • Die nuwe C API funksie agn_setdigits stel die aantal syfers vir drukgetalle in.
  • Die nuwe C API funksie agn_getdigits bepaal die aantal syfers wat gebruik word vir druk nommers.
  • Interne: Verwyder vervalle "REPL" inskrywing van luaP_opnames.
  • Die Windows-installeerder is verbeter deur nou na 'n voorheen geïnstalleerde weergawe van Agena te kyk, deur te verhoed dat die installeerder begin as 'n ander instansie reeds aan die gang is, en met ander klein verbeteringe.

Vereistes :

  • ncurses
  • GNU-leeslyn

Soortgelyke sagteware

DOS33
DOS33

3 Jun 15

Cython
Cython

27 Sep 15

clig
clig

3 Jun 15

nwcc
nwcc

11 May 15

Kommentaar te Agena

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!