Agena er en åpen kildekode, gratis, multi-plattform og lett å lære prosessorprogrammeringsspråk designet for hverdagsbruk. Den kan brukes i grafiske, vitenskapelige, språklige og pedagogiske miljøer, samt på skriptprogrammer, som støtter alle vanlige operativsystemer.
Tilbyr mange strømningskontrollanlegg
Programmet tilbyr mange strømningskontrollanlegg, for eksempel hvis. elif, ellers betingelser, tilfelle av og andre betingelser, er operatør, numerisk for, fra, til og med sløyfer, kombinert tall for og mens sløyfer, for og i sløyfer, mens og gjør / som sløyfer, en hoppestilling, en pause setning, samt datatype validering.
Gir oppføringsoppdrag
Vi kan blant annet nevne et vilkårlig presisjonsmatematisk bibliotek, enkel konfigurering av ditt personlige miljø, et brukervennlig pakkesystem, oppsummeringsoppgaver, omfangskontroll via epocs / søkeord og mange andre attraktive funksjoner.
Under hetten og tilgjengeligheten
En rask titt under hetten viser at prosjektet er skrevet i C, BASIC, Lua og ALGOL 68 programmeringsspråk, noe som betyr at syntaksen ligner syntaxen til disse prosjektene. Det går helt i et konsoll / terminal miljø, noe som betyr at det ikke inneholder grafisk brukergrensesnitt (GUI).
Sendes med en enkel editor
Til tross for at Agena-programvaren er en kommandolinjeprogram, leveres den med en enkel redigeringsgrafikk, kalt AgenaEdit, som har et integrert Agena-miljø og syntaxbelysningsfunksjoner. Det er sterkt inspirert av en lignende redaktør utviklet av Bill Spitzak for FLTK tverrplattform C ++ GUI toolkit.
Fungerer på Raspberry Pi
Agenas grafiske evner støttes på operativsystemene GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation - OS / 2 og DOS. Den kan enkelt distribueres på både 64-biters og 32-biters maskinvareplattformer, og har blitt testet på det ARM-baserte Raspberry Pi-datakortet.
Hva er nytt i denne utgivelsen:
- Ny kalkulator og statistikkfunksjon
Hva er nytt i versjon:
- Ny kalkulator og statistikkfunksjon
Hva er nytt i versjon 2.9.4:
- Ny beregning og statistikkfunksjon
Hva er nytt i versjon 2.8.5:
- Ny beregning og statistikkfunksjon
Hva er nytt i versjon 2.8.2:
- Ny beregning og statistikkfunksjon
Hva er nytt i versjon 2.6.1:
- `stats.chauvenet` kan nå sjekke spesifikt for lavere eller øvre utestengere ved å overføre alternativet 'outlier =' lower'` eller `outlier = 'upper'`.
- `bags.remove` forårsaket segmenteringsfeil. Dette har blitt løst. Videre har alle `poser`-funksjoner som er implementert i C, blitt internt endret.
- De (ikke-dokumenterte) metametodene for `+`, `-` og` * `virket ikke dersom pakken« poser »ikke er påkalt med« med »-funksjonen eller« import / alias`-setningen. Dette har blitt løst.
Hva er nytt i versjon 2.5.4:
- `stats.chauvenet` kan nå sjekke spesifikt for nedre eller øvre oversving ved å overføre alternativet 'outlier =' lower'` eller` outlier = 'upper'`.
- `bags.remove` forårsaket segmenteringsfeil. Dette har blitt løst. Videre har alle `poser`-funksjoner som er implementert i C, blitt internt endret.
- De (ikke-dokumenterte) metametodene for `+`, `-` og` * `virket ikke dersom pakken« poser »ikke er påkalt med« med »-funksjonen eller« import / alias`-setningen. Dette har blitt løst.
Hva er nytt i versjon 2.5.3:
- `stats.chauvenet` kan nå sjekke spesifikt for lavere eller øvre utestengere ved å overføre alternativet 'outlier =' lower'` eller `outlier = 'upper'`.
- `bags.remove` forårsaket segmenteringsfeil. Dette har blitt løst. Videre har alle `poser`-funksjoner som er implementert i C, blitt internt endret.
- De (ikke-dokumenterte) metametodene for `+`, `-` og` * `virket ikke dersom pakken« poser »ikke er påkalt med« med »-funksjonen eller« import / alias`-setningen. Dette har blitt løst.
Hva er nytt i versjon 2.4.2:
- `stats.chauvenet` kan nå sjekke spesifikt for lavere eller øvre utjevninger ved å overføre alternativet 'outlier =' lower'` eller` outlier = 'upper'`.
- `bags.remove` forårsaket segmenteringsfeil. Dette har blitt løst. Videre har alle `poser`-funksjoner som er implementert i C, blitt internt endret.
- De (ikke-dokumenterte) metametodene for `+`, `-` og` * `virket ikke dersom pakken« poser »ikke er påkalt med« med »-funksjonen eller« import / alias`-setningen. Dette har blitt løst.
Hva er nytt i versjon 2.3.0 RC1:
- Numeriske `for` loops støtter nå« downto »søkeordet slik at du kan telle ned uten å bruke en obligatorisk negativ` av`-trinnsstørrelse. I «downto» -konteksten bør "by" -størrelsen alltid være positiv. `fra 'start og` til' stopper verdier er obligatoriske når du bruker 'ned til' søkeordet.
- Metametodene '__finite', '__entier' og '__sqrt' støttes ikke lenger. I stedet er tre nye metater for operasjoner på strukturer lagt til: '__union' for unionsoperasjoner, '__intersect' for å bestemme kryss og '__minus' for forskjeller. Således støtter pakken «poser» nå også disse tre operasjonene.
- Den `` integer divisjon operatøren støttet ikke sin metamethod og brukte den for flyt divisjon (`/` operatør) i stedet. Dette har blitt løst.
- Den nye funksjonen `stats.gini` bestemmer Gini-koeffisienten, et mål for (i) likestilling.
- Den nye funksjonen `state.zscore` returnerer en funksjon som beregner z-score (standard score) for en prøve - antall standardavvik som prøven er over eller under gjennomsnittet av en fordeling.
- `stats.sorted` nå som standard bruker Introsort-algoritmen i stedet for Quicksort. Dette kan øke hastigheten på beregningstiden tre ganger i uklare situasjoner (der Quicksort vil trenge O (n ^ 2) operasjoner), samtidig som det ikke ofrer ytelse i vanlige situasjoner. Faktisk bruker Introsort Quicksort som standard og bytter automatisk til Heapsort hvis rekursjonsdybden når 2 * logg (n, 2), hvor n er antall elementer i en struktur.
- Du kan overstyre denne logikken ved å sende det nye alternativet "quicksort" som bare bruker den tradisjonelle rekursive Quicksort-metoden for å sortere tall. Også `stats.sorted` kan nå også bruke Heapsort-algoritmen utelukkende dersom det nye alternativet 'heapsort' blir sendt, og en ikke-rekursiv Quicksort-algoritme utviklet av Niklaus Wirth med det nye alternativet 'nrquicksort'.
- Den nye funksjonen `state.meanmed` returnerer både det aritmetiske middelet og medianen til en fordeling, eller alternativt kvoten til middel og medianen, og øker beregningstiden når disse verdiene trengs med rundt 20 prosent.
- Forbedret feilmeldingen til `size`-operatøren.
Hva er nytt i versjon 2.1.1:
- Nye funksjoner og oppdateringer:
- `try / catch`: eksplisitt spesifikasjon av en feilvariabel rett etter" catch "token er nå valgfritt. Hvis ingen feilvariabel er gitt, blir feilmeldingen automatisk lagret til den lokale `lasterror'-variabelen, og« da`-nøkkelordet må utelukkes:
- & gt; prøve
- & gt; feil ('oops!')
- & gt; ta li>
- & gt; print (lasterror)
- & gt; YRT;
- oops!
- Ordboken "prøve / fangst" virket noen ganger ikke i prosedyrer (ikke tildelt feilvariabel). Dette har blitt løst.
- Den nye `net.wget`-funksjonen laster ned HTML-sider fra nettet.
- Tuned `skycrane.counter` med 10%. Funksjonen gjelder nå Kahan-Ozawa, i stedet for den opprinnelige Kahan summasjonsalgoritmen, hvis det nye tredje argumentet er strengen 'ozawa'. Tilsvarende C-kilder er blitt modifisert for å hindre kompilatoroptimalisering, som også kan kansellere optimeringene.
- `argerror` skriver nå det brukerdefinerte typenavnet til en verdi mottatt i sin feilmelding. Hvis en verdi ikke har en brukerdefinert type, blir den grunnleggende typen utstedt.
- Det nye alternativet 'a' til `debug.getinfo` returnerer antall argumenter som forventes av en prosedyre, takket være Rob Hoelz 'LuaPowerPatch.
- Forbedret feilmelding for «indeks utendørs» for strenger.
- Endret «statist.agn», `linalg.agn`,` library.agn` og `ansi.agn`-filer med hensyn til feilhåndtering.
Hva er nytt i versjon 2.1.0:
- For en ny type feilhåndtering, er den nye `prøve / fangst`-setningen innført. Den er oppfunnet og skrevet av Hu Qiwei for Lua 5.1 tilbake i 2008.
- Generelt kan eventuelle uttalelser hvor et unntak kan forventes, settes inn i en "prøve" -klausul. Hvis en feil er utstedt, generert av et uttrykkelig kall til «feil» -funksjonen eller til et annet uttrykk, en funksjon eller en setning, styrer den øyeblikkelig til den tilsvarende "catch" -klausulen hvis den er til stede eller til slutten av "try / yrt" `setning hvis ingen` catch`-klausul er gitt, ignorerer eventuelle andre påfølgende setninger i `try`-klausulen.
- Feilhåndteringsfasilitetene `Protect / Lasterror` er fortsatt og vil alltid bli støttet. Den nye kontrolloppstillingen fungerer også med `break`,` skip`, `redo` og `return`-setningene feilfritt.
- Den nye `redo`-setningen starter på nytt den nåværende iterasjonen av en` for / til` og `for / i`-loop fra begynnelsen.
- Den nye `recip`-operatøren returnerer omvendt av et tall x. Det tilsvarer uttrykket 1 / x, men raskere.
- Den nye `state.ema`-funksjonen beregner det eksponensielle glidende gjennomsnittet for en distribusjon. Den nye funksjonen `stats.gema` returnerer en iterator-funksjon som returnerer det respektive eksponentielle glidende gjennomsnittet av en distribusjon.
- `*%`, `+%` og `-%` returnerte `undefined` i stedet for et riktig resultat hvis deres høyre operand hadde vært null. Dette har blitt løst.
- Lost en feilmelding i `net.survey`.
- Forbedrede feilmeldinger for oversikt over indeksering av par og strenger.
- I ANSI-, Solaris- og DOS-versjonene er `int`-operatøren innstilt.
- Den nye C API-funksjonen `agn_arraytoseq` konverterer et numerisk array til en sekvens og skyver denne nye sekvensen over toppen av stabelen.
- Oppdaterte håndboken.
Hva er nytt i versjon 2.1.0 RC:
- Den nye `redo`-setningen starter på nytt den nåværende iterasjonen fra en` for / til` og `for / i`-loop fra begynnelsen. Eksempel:
- & gt; flagg: = true; & Gt; for j i [10, 11, 12] gjør & gt; skriv ut ('før', j, flagg); & Gt; hvis flagg og j = 11 deretter & gt; klart flagg; & Gt; skriv ut ('->', j, flagg, 'hopp tilbake') & gt; gjenta & gt; fi; & Gt; skriv ut ('etter', j, flagg) & gt; til j & gt; 12; før 10 sant etter 10 sant før 11 sant - & gt; 11 falsk hopp tilbake før 11 falsk etter 11 falsk før 12 falsk etter 12 falsk
- Den nye `recip`-operatøren returnerer omvendt av et tall x. Det tilsvarer uttrykket 1 / x, men raskere.
- Den nye `state.ema`-funksjonen beregner det eksponentielle glidende gjennomsnittet av en distribusjon. Den nye funksjonen `stats.gema` returnerer en iteratorfunksjon som returnerer det respektive eksponentielle glidende gjennomsnittet av en distribusjon. For bruk, ta en titt på src / stats.c kildefilen, C funksjoner * ema.
- `*%`, `+%` og `-%` returnerte `undefined` i stedet for et riktig resultat hvis deres høyre operand hadde vært null. Dette har blitt løst.
- Lost en feilmelding i `net.survey`.
- Den nye C API-funksjonen `agn_arraytoseq` konverterer et numerisk array til en sekvens og skyver denne nye sekvensen over toppen av stabelen.
Hva er nytt i versjon 2.0.0:
- Nye utsagn og funksjoner:
- Agena 2.0 er nedoverkompatibel med Agena 1.12, bortsett fra at symbolene `import`,` alias` ,`til` og `usuccess` nå er nøkkelord og kan ikke lenger brukes som variabler. For øyeblikket finnes det Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac og DOS installatører tilgjengelig for 2.0, inkludert en oppdatert Primer og Reference som forklarer alle nye funksjoner i detalj.
- De nye loopvarianter `for / som` og` for / til` sjekker en tilstand ved slutten av den nåværende iterasjonen, og enten starter neste iterasjon eller forlater sløyfen. Dette fungerer med både `for / til`, så vel som` for / i`-løkker. I virkeligheten utfører begge varianter en sløyfe minst én gang til den oppgitte tilstanden blir kontrollert.
- Eksempler:
- & gt; for jeg til 5 gjør
- & gt; print (i)
- & gt; som jeg & lt; 3
- & gt; for jeg i [1, 2, 3, 4, 5] gjør
- & gt; print (i)
- & gt; til jeg & gt; = 3
- Den nye `gjør / til`-løkken blir det igjen til en viss betingelse er oppfylt:
- & gt; c: = 0;
- & gt; do
- & gt; inc c;
- & gt; print (c)
- & gt; til c & gt; = 3
- I numeriske `for` looper kan ikke" to "-klausulen gis lenger. I stedet, når du forlater "to" -klausulen, løser løkken til det største nummeret som er representativt på plattformen din, i C HUGE_VAL, er nådd:
- & gt; for jeg gjør
- & gt; print (i)
- & gt; od
- Den nye `onsuccess`-klausulen i` if` og `case`-setningene utfører en del hvis minst en av betingelsene er sanne. Eksempler:
- & gt; flagg: = false;
- & gt; hvis 1 = 0 da
- & gt; print (0)
- & gt; elif 1 = 1 da
- & gt; print (1)
- & gt; onsuccess
- & gt; flagg: = sant
- & gt; annet
- & gt; print (-1)
- & gt; fi;
- & gt; print (flagg);
- true
- & gt; flagg: = false;
- & gt; hvis 1 = 0 da
- & gt; print (0)
- & gt; elif 1 = 0 da
- & gt; print (1)
- & gt; onsuccess
- & gt; flagg: = sant
- & gt; annet
- & gt; print (-1)
- & gt; fi;
- & gt; print (flagg);
- false
- & gt; flagg: = false;
- & gt; a: = 2;
- & gt; tilfelle a
- & gt; av 1 da
- & gt; print (1)
- & gt; av 2 da
- & gt; print (2)
- & gt; onsuccess
- & gt; flagg: = sant
- & gt; annet
- & gt; print (-1)
- & gt; ESAC;
- & gt; print (flagg);
- true
- Den nye `import`-setningen tillater å importere ett eller flere biblioteker uten å sette navnene sine i sitater, f.eks. "import kalk, statistikk" tilsvarer "readlib ('calc', 'stats')".
- Alternativet `alias` til` import`-setningen tilordner ett eller flere korte navn til bibliotekets funksjoner initialisert, f.eks. "import calc alias xpdiff" tilsvarer "med ('calc', 'xpdiff')" og "import calc alias" tilsvarer "med ('calc')".
- Den nye `..`-operatøren tillater å indeksere tabeller selv om den venstre side operand evaluerer til` null`. I dette tilfellet returneres «null» og ingen «forsøk på å indeksere felt ... (en null verdi)« feil utstedes. Det ligner på `getentry'-funksjonen, men er tre ganger raskere. Eksempler:
- & gt; lage tabell a;
- & gt; a.b:
- null
- & gt; a.b.c:
- Feil i stdin, på linje 1:
- forsøk å indeksere feltet `b` (null verdi)
- & gt; a..b..c:
- null
- & gt; lage tabell a;
- & gt; en [1]:
- null
- & gt; en [1] [2]:
- Feil i stdin, på linje 1:
- forsøk på å indeksere feltet `?` (en nullverdi)
- & gt; en .. [1] .. [2]:
- null
- Den nye funksjonen `drem` vurderer resten av et heltall divisjon x / y, men i motsetning til` irem` runder det interne kvotienten x / y til nærmeste heltall i stedet for mot null.
- Den nye funksjonen `skycrane.todate` returnerer gjeldende dato og klokkeslett som en formatert streng.
- Den nye funksjonen «io.truncate» avkorter en fil i gjeldende filposisjon.
- Den nye funksjonen «io.move` endrer filposisjonen et gitt antall tegn til venstre eller høyre.
- Den nye funksjonen "io.filesize" returnerer størrelsen på en fil.
- `readlib` aksepterer bare strenger som sine argumenter, bare. Tall er ikke tillatt lenger.
- Hvis det siste argumentet til «med» er det boolske «false», skriver ikke funksjonen korte navn til konsollen (stdout).
- `strings.fields` aksepterer nå også en sekvens av indeksnumre. Det aksepterer imidlertid ikke indeksen «0» lenger.
- Raspberry Pi Wheezy Debian-installasjonsprogrammet inneholder nå `gdi`-grafikkpakken.
- Filen `change.log` er nå riktig vist i Windows.
Hva er nytt i versjon 2.0.0 RC3:
- De nye loopvarianter `for / som` og` for / til` sjekker en tilstand ved slutten av den nåværende iterasjonen, og enten starter neste iterasjon eller forlater sløyfen. Dette fungerer både for / til, så vel som for / i looper.
Hva er nytt i versjon 2.0.0 RC2:
- De nye loopvarianter `for / som` og` for / til` sjekker en tilstand ved slutten av gjeldende iterasjon og og enten starter neste iterasjon eller forlater en sløyfe. Dette fungerer både for / til, så vel som for / i looper.
Hva er nytt i versjon 2.0.0 RC1:
- Den nye `import`-setningen tillater å importere ett eller flere biblioteker uten å sette navnene sine i sitater, f.eks. "import kalk, statistikk" tilsvarer "readlib ('calc', 'stats')".
- Alternativet `alias` til` import`-setningen tilordner ett eller flere korte navn til bibliotekets funksjoner initialisert, f.eks. "import calc alias xpdiff" tilsvarer "med ('calc', 'xpdiff')" og "import calc alias" tilsvarer "med ('calc')".
- Den nye `..`-operatøren tillater å indeksere tabeller selv om den venstre side operand evaluerer til` null`. I dette tilfellet returneres «null» og ingen «forsøk på å indeksere felt ... (en null verdi)« feil utstedes. Det ligner på `getentry'-funksjonen, men er tre ganger raskere.
Hva er nytt i versjon 1.12.9:
- De nye funksjonene `io.getclip` og` io.putclip` utveksler tekster mellom Agena og utklippstavlen (kun Windows).
- `stats.prange` har blitt omskrevet i C og har blitt opptil 60% raskere.
- `os.cpuinfo` returnerer nå korrekt og mer informasjon om ARM-baserte systemer.
- I DOS- og UNIX-systemer, inkludert Mac OS X og bare i det komplekse domenet, returnerte eksponeringen av basen 0 til eksponenten 0 + r * I, med r en ikke-null-float, `undefined` istedenfor 0. Dette har blitt løst.
- I DOS- og UNIX-systemer, inkludert Mac OS X og bare i det komplekse domenet, returnerte eksponeringen av basen 0 til eksponenten r + 0 * I, med en positiv float, `undefined` i stedet for 0. Dette har blitt løst.
- `stats.obcount` og` stats.obpart` kunne ikke inkludere verdier i høyre delintervall. Dette har blitt løst.
- `calc.nakspline`,` calc.naksplinecoeffs`, `calc_clampedspline` og` calc_clampedsplinecoeffs` provoserte segmenteringsfeil hvis det kalles med en struktur som inneholdt for få punkter, dvs. par. Dette har blitt løst ved å returnere «fail» i disse tilfellene.
- Potensielle minnefordelingsfeil er fjernet fra `calc.neville`,` calc.interp`, `calc.newtoncoeffs`,` calc.naksplinecoeffs`, `calc.clampedsplinecoeffs`,` calc.nakspline`, og `calc.clampedspline`.
- Den nye C API-funksjonen `agn_checkinteger` sjekker om et argument er et tall og et heltall og - i motsetning til` luaL_checkinteger` - utsteder en feil ellers.
Hva er nytt i versjon 1.9.0:
- Den nye "alternative" -funksjonen returnerer sitt første argument hvis det andre argumentet er "null". Ellers returneres det andre argumentet.
- -b-bryteren til Agena-kjørbar har blitt fjernet siden produksjonen hadde vært den samme som -v-alternativet.
- Windows- og UNIX / Mac-versjonene av `strings.utf8size` inneholdt et potensielt minnelekkasje; Dette har blitt endret.
- Alle binære DLL / SOS av pluss bibliotekene inneholder ikke lenger ubrukt kode, og slanker deres størrelser med opptil 10 prosent, avhengig av operativsystemet. Makefile og kilder som tidligere importerte ubrukte headerfiler, er endret. For eksempel reduserer dette i det hele tatt størrelsen på Windows-binærene med 55 kBytes.
- Utvid testpakken.
- Oppdaterte skjemafilene.
Hva er nytt i versjon 1.6.0:
- Nye funksjoner og funksjoner:
- Den nye funksjonen `checktype` bestemmer om alle verdier i en struktur er av en gitt type.
- Den nye funksjonen `isint` sjekker om alle dens argumenter er heltall.
- Den nye funksjonen `strings.dleven` returnerer Damerau-Levenshtein avstanden til to strenger.
- Den nye funksjonen `statistics.ad` bestemmer absolutt avviket for alle verdiene i en struktur.
- Den nye funksjonen `statistics.countentries` teller antall forekomster av alle elementene i en struktur.
- Den nye funksjonen `stats.deltalist` returnerer en struktur av deltakerne til de respektive nabolandene.
- Den nye funksjonen `stats.gmean` returnerer det geometriske gjennomsnittet av en struktur.
- Den nye funksjonen `state.hmean` returnerer harmonisk gjennomsnitt av en struktur.
- Den nye funksjonen `stats.ios` returnerer en påvist indikator på stabilitet i en distribusjon.
- Den nye funksjonen `state.iqr` returnerer interkvartilstanden.
- Den nye funksjonen `statistics.issorted` kontrollerer om alle tall i en struktur er sortert i stigende rekkefølge.
- Den nye funksjonen `statistics.moment` beregner øyeblikket av de oppgitte dataene om en opprinnelse.
- Den nye funksjonen `state.numbperm` returnerer antall permutasjoner.
- Den nye funksjonen `state.percentile` bestemmer prosentiler.
- Den nye funksjonen `stats.skewness` returnerer skævheten, en indikator for symmetrien av en sannsynlighetsfordeling.
- Den nye funksjonen `statistics.sumdata` oppsummerer alle kreftene til en struktur om en opprinnelse.
- `stats.tovals` er nå en C-bibliotek-funksjon og er dermed opptil 40 prosent raskere.
- Med et tomt tabell eller en sekvens, `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
- `stats.var` returnerer nå mislykkes.
- Maksimumlengden for en inngangslinje i den frittstående tolken er endret fra 512 til 2048 tegn.
- Den nye miljøvariabelen `environ.maxpathlength` lagrer maksimalt antall tegn for en filbane (unntatt Cs tegn).
- De nye miljøvariablene `environment.minnumber` og` environ.maxnumber` holder minimums- og maksimumsverdien et Agena-nummer (for øyeblikket en ANSI-C-dobbel) kan lagre.
- Den nye miljøvariabelen `environ.umaxlong` inkluderer den maksimale integralverdien av C-typen som ikke er signert lenge på 32 + bitsystemer, og usignert lenge på 16bit-maskiner.
- C API:
- 100% kompatibilitet av Agena C API til Luas C API har blitt gjenopprettet ved å introdusere Luas * dumpfunksjoner. Dermed er du nå i stand til å lagre funksjoner i en binær representasjon, f.eks. ved å bruke `strings.dump` eller lua_dump på C-nivået.
- Introduserte den nye "agnL_optboolean" -funksjonen for å se etter valgfrie boolske argumenter og returnere dem i tilfelle suksess.
- Feilrettelser:
- `environ.globals` slutter alltid med en feil, dette er blitt løst.
- `antar` returnerte falsk med begge sine argumenter å være eller evaluere til 'undefined'. Det returnerer nå sant i dette tilfellet.
- Agena krasjet når du passerte et tomt bord og en delimiter til «bli med» - dette har blitt løst.
- Alternativet `farger` ignoreres ikke lenger av` gdi.plot`.
- Med tabeller returnerte `stats.minmax` en feil verdi for minimumet. Det fungerer nå riktig.
- Med et tomt bord returnerte `stats.median` 0, nå returnerer den mislykkes.
- I motsetning til dokumentasjonen returnerte `strings.isending` 'true' med begge strenger lik. Dette har blitt løst.
- `Run` returnerte` kunne ikke åpne filen` hvis et eksisterende Agena-skript inkluderte en syntaksfeil. Dette har blitt løst ved fullstendig omskrivning av funksjonen.
- Lagt til Lua 5.1.4 patch 9: "Feil kodegenerering for noen bestemte [eks. komplekse] boolske uttrykk."
- Lagt til Lua 5.1.4 patch 11: "Parser kan samle en prototype mens du bygger den."
- * Info: Legge til Lua 5.1.4 patch 10, "[__write / __ new] index metamethod kan ikke fungere hvis metatable er egen metatabel", til Agena er ikke nødvendig, for Agena virker allerede riktig i dette tilfellet.
- Fjernet det ubrukte søkeordet `standard`.
- Enkel herding av funksjoner og funksjoner.
- Forbedringer:
- Lagt til en _experimental_ versjon av `io.anykey` til Mac-versjonen. Men i hvert fall på Lion, er nøkkelen som blir presset noen ganger ekko på skallet.
- `utils.readcsv` nå kan eventuelt returnere alle verdier i en CSV-fil i en flat sekvens.
- Pakken «klokke» støtter nå delingsoperatøren `/` ved å legge den til sin `tm`-operatørs metatable.
- Oppførselen til `med` har blitt endret fordi den ikke kunne tilordne korte navn til mange biblioteksfunksjoner: Hvis funksjoner er lagt inn i .aux-tabellen, må du ikke tilordne korte navn til disse funksjonene; Ellers tilordne korte navn til _all_ andre pakkefunksjoner. Således: `package.register` for å registrere alle biblioteksfunksjonene for` med` for å tilordne korte navn, er ikke lenger nødvendig. Det vil bli avskrevet i en av følgende utgivelser.
- Forbedret testpakken.
- Manual:
- Forbedret håndboken og indeksen.
- Konsistens:
- For alle de følgende omdøpene støttes de følgende gamle variabelnavnene fortsatt.
- `environ.MinLong` har blitt omdøpt til` environ.minlong`.
- `environ.MaxLong` har blitt omdøpt til` environ.maxlong`.
- `environ.BufferSize` har blitt omdøpt til` environ.buffersize`.
- `environ.PathSep` har blitt omdøpt til` environ.pathsep`.
- `environ.More` har blitt omdøpt til` environ.more`.
- `environ.WithProtected` har blitt omdøpt til` environ.withprotected`.
- `environ.Os` har blitt omdøpt til` environ.os`.
- `environ.Cpu` har blitt omdøpt til` environ.cpu`.
- `environ.Release` har blitt omdøpt til` environ.release`.
- `environ.GdiDefaultOptions` har blitt omdøpt til` environ.gdidefaultoptions`.
- I Windows returnerer `os.login` og` os.computername` nå 'fail' som UNIX- eller OS / 2-versjonene gjør.
- Switchen `-DCOMPAT13` er endelig fjernet for å kompilere en Agena 1.3.x-kompatibel versjon.
- Annet:
- Utdatert `calc.fseq` har blitt slettet. Vennligst bruk `nseq` i stedet.
Hva er nytt i versjon 1.5.1:
- Patched `strings.fields` som ikke fungerte i det hele tatt. Det har også blitt konvertert til en C-biblioteksfunksjon og dermed 2,6 ganger raskere.
- `strings.words` aksepterer nå et tredje argument, hvis de er satt til` true`, ignoreres følgende avgrensere.
- Fjernet mulig sikkerhetslekkasje fra `io.write` og` io.writeline` og forbedret feilmeldingene.
- Patched `binio.readchar` for å unngå problemer med filer med størrelse større enn 2 GBytes.
- Korrigerte feilmeldinger av funksjoner `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
- Terabytene kan nå angis med notasjonen T, hvor er et heltall, og T er tegnet `T`. På samme måte g betegner milliarder og t trillioner. Se side 48 i håndboken for ytterligere informasjon.
- Oppdaterte håndboken.
- For det meste har alle bakoverkompatibilitetsbrytere i C-kildekoden blitt fjernet for å rense grunnen for kode. Dette påvirker bare de som prøver å kompilere Agena 1,5 eller høyere med full bakoverkompatibilitet til Agena 1.3 og 1.4, og med størst mulig kompatibilitet bakover til Lua 5.0 (unntatt gammel Lua 5.0-bibliotekshåndtering).
Hva er nytt i versjon 1.5.0:
- `map` nå kan også behandle strenger gitt som sitt andre argument. Den respektive funksjonen og dens argumenter blir etter hvert brukt til hvert tegn fra venstre til høyre, og resultatet returneres i en sekvens.
- `run`: Hvis du vil laste og utføre kode fra filer med et 'agn'-suffiks, trenger du ikke å spesifisere suffikset i argumentet lenger. Så `run 'test'` og` run' test.agn'` er nå det samme.
- Søkeordet er nå obligatorisk å definere prosedyrer. (Med GCC bruker du -DCOMPAT14-bryteren til å kompilere en versjon av Agena der «er« søkeordet fortsatt er valgfritt.)
- Bekreftelsen er forsvunnet og støttes ikke lenger. (Med GCC bruker du -DCOMPAT14-bryteren til å kompilere en versjon av Agena som fortsatt inneholder denne setningen.)
- Følgende "utils" -funksjoner er fjernet: `arraysize`,` getarray`, `getwholearray`,` newarray`, `searcharray`,` setarray`. For bakoverkompatibilitet, har de blitt lagt til lib / comp.agn filen. (Med GCC bruker du -DCOMPAT14-bryteren til å kompilere en versjon av Agena som fremdeles støtter de originale utils-funksjonene.)
- `utils.singlesubs` har blitt fullstendig omskrevet. Det forventer nå en sekvens av tall som det andre argumentet i stedet for den tidligere stringsray userdata strukturen. Det er 35% tregere enn den tidligere versjonen, men fjerning av strekningsstrukturen var viktigere.
- `strings.include` krasjet hvis kalt med 0 som det andre argumentet. Dette har blitt løst.
- Brukt Michael G. Schwerns 10. mai 2011-patch til hans 32-bit-år 2038-Fix`-datohjelpsfunksjoner brukt av `os` og` xbase`-pakkene (`Gjør mktime64 () riktig innkommende tm struct som ISO C krever. ")
- Intern kodeoptimalisering: Noen bibliotek initialisering og fillastning C-funksjoner brukte stakken til å bygge sti og filnavn strenger. Den nye C aux-funksjonen `concat` skrevet av Solar Designer brukes nå i mange tilfeller.
- Agena C API er nå 100% kompatibel med Lua C API for å legge til rette for å transportere C Lua-pakker til Agena.
- Følgende funksjoner har dermed blitt omdøpt: 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.
- Følgende makroer har blitt omdøpt: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
- I motsetning til tidligere Agena-implementering, returnerer lua_tonumber nå 0 som i Lua dersom et ikke-nummer er bestått, i stedet for å returnere HUGE_VAL.
- lua_setglobal2 er fjernet. Bruk lua_pushvalue og lua_setglobal i stedet.
Hva er nytt i versjon 1.4.2:
- Hvis i parameterlisten over en prosedyre ble definert brukerdefinerte typer, i
- prosedyre samtaler ingen feil ble utstedt og prosedyren er utført i stedet i følgende tilfeller:
- a) et bord, sett, sekvens, par eller prosedyre - uten å være av en brukerdefinert
- type - er bestått,
- b) Ingen verdi i det hele tatt har blitt bestått for den aktuelle parameteren.
Hva er nytt i versjon 1.4.1:
- Kortnavn for `stats.quartiles` og` stats.mode` kunne ikke tildeles av `med`-funksjonen. Dette har blitt løst.
- Feilaktig, "med" kunne ikke tildele et kort navn til "gdi.settriangle". Dette har blitt endret.
- Feilhåndtering av `calc.polygen` har blitt forbedret.
- Forbedret feilmelding om `fractals.draw` for manglende FRACTINT-kartfiler.
- Fjernet utdatert `strings.rseek`-funksjon. For bakoverkompatibilitet er `strings.seek` lagt til i lib / comp.agn filen.
- Lagt til -d-bryteren for å skrive ut feilsøkingsinformasjon under oppstart av tolken.
- Windows-versjonen av Agena er nå utarbeidet med GCC 4.5.2.
- Oppdaterte språkskjemafiler.
- Håndboken er oppdatert.
Hva er nytt i versjon 1.4.0:
- Semantiske endringer:
- Loop kontrollvariabler av numeriske `for / til` looper er nå automatisk lokale til deres omkringliggende blokker i stedet for sine (indre) looplegemer. Hvis en lokal variabel med samme navn som loop-kontrollvariabelen er blitt erklært og tildelt før
- kjører en numerisk sløyfe, overskrives den av den siste iterasjonsverdien av sløyfen. Som sådan er «ekstern» bryteren i numeriske `for` looper 'ikke lenger akseptert. (Med GCC bruker du -DCOMPAT13-bryteren til å kompilere en versjon av Agena som fortsatt gjenkjenner, men ignorerer «eksternt« søkeord.)
- Med konstant `fail`, returnerte` ikke` `true`, men med` fail` tildelt en variabel, returnerte `ikke` feil. Dette har blitt endret, det vil si 'a: = fail; ikke (a) 'returnerer nå `sant`.
- `stats.median` returnerer nå` fail` istedenfor 0 hvis den oppgitte strukturen er tom.
- `utils.readcsv`: Hvis en enkelt hvit plass er passert med` delim`-alternativet og hvis alternativet `ignorespaces` ikke er oppgitt, blir ikke hvite mellomrom fjernet automatisk lenger før du deler hver linje av filen inn i dets ord.
- Funksjonen har også to nye alternativer: `header` som markerer første linje i en fil og` output` som tillater å lagre innholdet i filen i en ordbok med feltnavnene som er definert av filoverskriften.
- Notatnavnet `$` substring støttes ikke lenger. (Med GCC bruker du DCOMPAT13-bryteren til å kompilere en versjon av Agena som fremdeles støtter `$` operatøren.)
- Utvidelser:
- Uendelige sløyfe har blitt lagt til. Denne sløyfen lukter uendelig og kan bare avbrytes med `break` eller` return`-setningene. De er syntaktisk sukker for «mens sant gjør ... od` looper.
- Med tabeller har `stats.minmax` tidligere bare jobbet med arrays. Dette har blitt endret, det vil si at verdier med tilhørende ikke-positive taster (for eksempel strenger, ikke-positive hele tall, negative og positive flyter, etc.) nå blir gjenkjent i evalueringen.
- `stats.mean`,` stats.qmean`, `stats.sd` og` stats.var` nå også behandler sekvenser.
- Den nye funksjonen "state.mode" returnerer alle verdier i en sekvens eller tabell med det største antallet forekomster, dvs. høyeste frekvens.
- Den nye funksjonen `stats.quartiles` returnerer første, andre og tredje kvartil av et _sorted_-tabell eller -sekvens.
- Tidligere uokumenterte funksjoner av `linalg.matrix` er lagt til i håndboken og feilhåndteringen er forbedret.
- Forbedret feilbehandling av `linalg.hilbert`.
- `gdi.setinfo` aksepterer nå` square` -alternativet. Hvis `square = false ', så vil x- og y-aksene ikke ha samme skala på plottene som er opprettet med` gdi.plot`.
- Funksjonen `gdi.plot` for å tegne grafikk har dessverre ikke blitt dokumentert. Dette har blitt endret.
- `gdi.plot` aksepterer to nye alternativer: Alternativet 'x' angir det horisontale området over hvilket et plott vises, og alternativet 'y' angir det vertikale området.
- Hvis en PLOT-struktur overføres til `gdi.plot` som inneholder bare POINTs, LINES, RECTANGLES, TRIANGLEs, CIRCLEs og ELLIPSEs (inkludert deres * FILLED varianter), bestemmer` gdi.plot` automatisk skalaene (` gdi.setinfo` behøver ikke nødvendigvis å bli kalt).
- OOP-funksjonene arvet fra Lua er nå dokumentert i Vedlegg A9. Forfatteren anbefaler ikke objektorientert programmering.
- -innstilling:
- Tuned `filled` operatør med rundt 3%.
- Tweaked `i`,` join`, `sadd`,` qsadd` ,` replace`, `copy`,` unique` og Cantor satt operatører på tabeller og setter litt.
- Med bord er operatørene `topp` og` bunn` omtrent 5% raskere nå.
- Operatøren `size` er minst 8% raskere hvis en tabell ikke inneholder nuller.
- `linalg.mzip`,` linalg.mmul` og `linalg.transpose` er stilt inn med rundt 3% hver.
- Numerisk for / til looper med brøkdelstrinnstørrelser har blitt optimalisert ved å redusere antallet av kontrollvariablene med halvparten. Dette oppnådde imidlertid ikke noe økt hastighet.
- Patches:
- Patched `linalg.ludecomp` for å oppdage singulære matriser. Også, funksjonen kan nå automatisk bestemme rekkefølgen av den angitte matrisen.
- I motsetning til håndboken bestemte "gdi.plot" ikke automatisk horisontale og vertikale områder. Dette har blitt løst.
- `gdi.plot` ignorerer ikke lenger` firkant`-alternativet satt av `gdi.setinfo`.
- `gdi.setinfo` la til innstillinger til INFO strukturer selv om de allerede har vært til stede. Dette har blitt endret.
- Sirkler ble ikke plottet riktig av `gdi.plot`. Dette har blitt endret.
- Funksjonen `gdi.plot` ignorerte i de fleste tilfeller den individuelle fargingen av geometriske gjenstander. Dette har blitt endret.
- Gdi-pakken tilordnede ikke korte navn til «gdi.settriangle», `gdi.settrianglefilled`,` gdi.setrectangle` og `gdi.setrectanglefilled`. Dette har blitt endret.
- Fraktalpakken tilordnede ikke korte navn til funksjoner av brukerdefinert type 'esctime'. Dette har blitt endret. Korrigert feilmelding om `fractals.draw` hvis posisjonsargumenter ikke var tall.
- Forskjellig
- Funksjonaliteten til `calc.fseq` har blitt fusjonert til` nseq`. For bakoverkompatibilitet er `calc.fseq` fortsatt en del av calc-pakken, men funksjonen refererer faktisk til` nseq`-implementeringen.
- Lagt til `environment.FractScreenUpdates`-variabelen til` fraktalspakken` for å angi antall vertikale linjer (et ikke-negativt heltall), hvorpå en fraktal vil bli oppdatert i et vindu. Varianten `environ.FractOptimised` har blitt avviklet.
- Ekstra gdi-funksjoner har blitt omgruppert.
Hva er nytt i versjon 1.3.3:
- Patches til `instr`:
- Når i regex-modus, returnerte operatøren et feilresultat hvis en startposisjon er gitt.
- Når du er i vanlig søkemodus, returnerte operatøren en feil utenom rekkevidden dersom ingen startposisjon er gitt.
- Bortsett fra omvendt søkemodus, hvis ingen kamp er funnet, har det første argumentet blitt returnert i stedet for «null».
- Korrigert feilmelding av «create`-setningen med hensyn til sekvenser.
- I AgenaEdit, når du skriver ut mer enn en struktur med bare ett anrop til `print`, ble ikke strukturer skrevet ut i full form dersom den første strukturen inneholdt en __tostring metamethod. Dette har blitt endret.
Hva er nytt i versjon 1.3.2:
- Denne utgaven inneholder feilrettinger, utvidelser og en forbedret håndbok:
- `dimensjon` har skapt interessante resultater hvis en struktur er blitt godkjent som
- initialiser. Dette har blitt endret: `dimensjon` lager nå uavhengige kopier av
- struktur når du initialiserer tabellen.
- Funksjonen til `strings.rseek` har blitt lagt til` instr`-operatøren.
- Således er `strings.rseek` blitt avskrevet. For kompatibilitet bakover,
- `strings.rseek` er lagt til i lib / comp.agn filen.
- `strings.hits` støtter nå regulære uttrykk og fanger. Denne oppførselen
- kan slås av ved å sende en boolsk som tredje argument.
- `strings.isabbrev` og` strings.isending` bruker nå automatisk et vanlig søk
- hvis ingen vanlige uttrykk eller fangst er blitt bestått som en del av det andre
- argument.
- Tweaked `strings.ismagic` og` strings.isfloat`.
- Loggfunksjonen er nå 13% raskere.
- Når du skriver ut mer enn en struktur med bare ett anrop til `print`,
- strukturer ble ikke skrevet ut i full form dersom den første strukturen inneholdt en __tostring
- metamethod. Dette har blitt endret.
- Lagt til kategoriseringer av funksjoner til kapittel 7 for å lette starten på nytt
- brukere.
Hva er nytt i versjon 1.3.1:
- Det har vært problemer med nestede anrop til følgende binære operatører: `xor`,` atendof`, `& amp ;`,` ||`, `^^`, `::` og`: - `, og dermed også med den vakre skriveren som slutter med en feil ved utskrift av nestede strukturer. Dette har blitt løst.
- Fire korrigeringer til `os.list`: Hvis alternativet 'r' er passert, er den gjeldende arbeidsboken feilaktig endret etter at samtalen er fullført.
- Hvis 'r' ikke er bestått som det siste argumentet, ga funksjonen en feil.
- `null` har ikke blitt akseptert som det første argumentet for å angi gjeldende arbeidskatalog.
- I Windows 7 virket ikke utskriften av innholdet i rotkatalogen, dvs. os.list ('c:') returnerte innholdet i gjeldende arbeidskatalog.
- Når en streng ble indeksert med et ikke-nummer, f.eks. "str [null]", Agena returnerte "null". Nå oppdages en feil.
- Hvis biblioteket.agn ikke er funnet, har feil vei blitt sendt to ganger i advarselen. Dette har blitt endret.
Hva er nytt i versjon 1.2:
- Substringsoperatøren har blitt omformet, men den gamle versjonen vil fortsatt være tilgjengelig til Agena 2.0: den nye er: `str [venstre til høyre]`, den gamle har vært: `str $ (venstre, høyre)` . Et eksempel: før: `str: = 'streng'; skriv ut (str $ (2, 3)) `-> 'tr' nå: `str: = 'streng'; skriv ut (str [2 til 3]) `-> 'Tr'
- Du kan nå bestemme underlister over tabellarrayer og sekvenser med den nye syntaxen som er nevnt ovenfor: `s [venstre til høyre]`. Et eksempel: nå: `a: = [10, 20, 30, 40]; skriv ut (en [2 til 3]) `-> [20, 30] nå: `a: = seq (10, 20, 30, 40); skriv ut (en [2 til 3]) `-> seq (20, 30)
- Funksjonen `ops` lar nå spesifisere verdiene som skal returneres ved å sende en sekvens av deres indeksposisjoner som sitt første argument, f.eks. ops (seq (1, -1), 10, 20,
- 30).
- Den nye funksjonen `strings.include` setter inn en tegnsekvens i en streng
- på en gitt posisjon.
- Følgende funksjoner utsteder nå en feil i stedet for å bare returnere «fail» i
- tilfelle av feil: `os.remove`,` os.move`, `os.mkdir`,` os.rmdir`, `os.chdir`.
- Forbedringer til følgende operatører som arbeider med sett og sekvenser angående søppelsamling: `insert` statement,` union`, `krysset`,` minus`, `unikt`,` copy`, `pop / top` og `pop / bottom`-setninger, og angi oppgaver.
- Forbedret feilmelding om `fractals.draw` hvis FRACTINT fargekartfil ikke har
- ikke funnet.
Hva er nytt i versjon 1.1.0:
- Denne utgivelsen har ny funksjonalitet og et renset navneområde.
- Kompatibilitet med Agena 1.0:
- Noen funksjoner har blitt fjernet fra Agena, og noen har blitt konvertert til pakkefunksjoner (se nedenfor). Hvis du fortsatt vil bruke dem, utsted readlib 'comp' på kommandolinjen eller sett over setningen i initialiseringsfilen din hvis du foretrekker bakoverkompatibilitet til Agena 1.0.
- Utvidet funksjonalitet:
- Operatørene "pop / top" og "pop / bottom" og "bottom" og "top" kan nå også brukes på tabellarrayer.
- Når det kalles «null» eller ingen argumenter, utsteder «os.chdir» ikke lenger en feil, men returnerer gjeldende arbeidskatalog. Dermed er den tidligere `os.curdir` C-funksjonen erstattet av en skrevet på Agena-språket.
- `os.list` nå rekursivt gjennomgår undermapper hvis det nye 'r'-alternativet er gitt.
- Operatøren `join` aksepterer nå også en valgfri delimiter og støtter muligheten til å spesifisere det første og siste elementet i strukturen som skal sammenkobles.
- `instr` kan nå søke fra den høyre enden av en streng ved å sende en negativ posisjon.
- Hvis et bord inneholder andre tabeller, sett, sekvenser eller par, vet «kopi» nå hvordan man skal håndtere disse referansene riktig hvis de forekommer flere ganger: Hvis en innebygd struktur er inkludert n ganger, blir det laget en ekte kopi og n-1 referanser til denne nyopprettede strukturen er satt inn. Før er det laget uavhengige kopier.
- Den nye funksjonen "isnonposint" kontrollerer om de oppgitte tallene er alle heltall og ikke-positive.
- `io.close` kan nå lukke flere filer med bare ett anrop.
- Funksjonen `med` har ikke tilordnet korte navn for følgende prosedyrer i` matte`-pakken: `convertbase`,` fraction`, `zeroin`,` todecimal`, `lcm`,` gcd` og ` ndigits`. Dette er blitt korrigert.
- Funksjonen `rwritemode` nevnt i håndboken eksisterte ikke. Den er nå tilgjengelig, men kalt `rmode`.
- Feilmeldinger for ulike funksjoner har blitt forbedret.
- Rensing av navneglass: Omdøpt eller flyttet funksjoner:
- Funksjonsboksen `register` og` loadclib` har blitt flyttet til `package`-biblioteket.
- Den tidligere `rdelete`,` rget`, `rinit`,` roinit`, `rmode` ,`rset`,` remember` og `default` base biblioteksfunksjoner er flyttet til den nye` rtable`-pakken .
- Omdøpt den globale _Env tabellen til `environ` som nå også inneholder prosedyrer for å få tilgang til miljøet.
- De tidligere globale "homedir" og "infolevel" miljøvariablene er omdøpt til henholdsvis `environ.homedir` og` environ.infolevel`.
- Følgende tidligere basebiblioteksfunksjoner er flyttet til `environ` -pakken:` anames`, `attrib``````````````````````````````````````````````````````````````````` `` `` `` `` `` `` `` `` `` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.
- `mapm.xtoNumber` har blitt omdøpt til` mapm.xtonumber`, `mapm.xtoString` har blitt omdøpt til` mapm.xtostring`. For bakoverkompatibilitet kan de gamle funksjonene fortsatt brukes ved å kjøre lib / comp.agn filen (først readlib `mapm` pakken og deretter laste kompat.agn filen).
- Utdaterte funksjoner og variabler:
- `strings.seek` er blitt avskrevet. Dens funksjonalitet er lagt til `instr` operatøren. For å slå av `instr`s mønster samsvarende modus, passere starten på søket som den tredje og` sanne` som fjerde argument. `instr` er rundt 40% raskere i ikke-mønster samsvarende modus enn` strings.seek`. For bakoverkompatibilitet er `strings.seek` lagt til i lib / comp.agn filen.
- Basisbibliotekets `concat`-funksjon er fjernet. Bruk "join" i stedet. For bakoverkompatibilitet, har den tidligere funksjonen blitt lagt til lib / comp.agn filen.
- Funksjonene "hasrtable" og "hasrotable" er fjernet. For bakoverkompatibilitet, har de blitt lagt til lib / comp.agn filen.
- Funksjonen `pcall` har blitt avviklet. Bruk `beskytte` i stedet. For bakoverkompatibilitet, har funksjonen blitt lagt til lib / comp.agn filen.
- Funksjonen "maptoset" er blitt utdatert. For bakoverkompatibilitet, har funksjonen blitt lagt til lib / comp.agn filen.
- Funksjonen `os.alldirs` har blitt avskrevet. Bruk alternativene 'dirs' og 'r' i stedet for `os.list`. For bakoverkompatibilitet, har funksjonen blitt lagt til lib / comp.agn filen.
- `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` er blitt avskrevet. Vennligst bruk de nye miljøvariablene environ.Os og environ.Cpu i stedet, som også øker koden. For bakoverkompatibilitet, har funksjonene blitt lagt til lib / comp.agn filen.
- Den ikke-dokumenterte _VERSION-variabelen er fjernet. For bakoverkompatibilitet har oppdraget blitt lagt til i lib / comp.agn-filen.
- Andre endringer:
- C API-funksjonen lua_rawsetstringnumber nevnt i håndboken eksisterte ikke. Dette har blitt endret.
- Kodoptimaliseringer til parseren.
- I noen av pakkene er uhell noen få variabler blitt implisitt deklarert globalt. Dette har blitt løst.
- Korrigert og oppdatert initialiseringseksempler.
- AgenaEdit har blitt oppdatert.
- Språkkysjonsfilene er oppdatert.
- Linux-installatørene inneholder nå xBase-pakken.
Hva er nytt i versjon 1.0.6:
- Forbedrede feilmeldinger av `join`,` copy` og `filled` operatører,` toset`, `toseq` og` totable`-funksjoner, `insert`,` delete`, `pop`-setninger, og av `for` looper.
- Med sekvenser krasjet Agena i følgende rekkefølge av hendelser: 1) en `delete`-setning hadde blitt utført, 2) sekvensen etterpå hadde vært tom, og 3) et nytt element hadde blitt satt inn igjen. Dette har blitt løst. (Internt reduserer setningen "Delete" ikke lenger internt størrelsen på sekvenser lenger.)
- Med store snorer krasjet `concat`. Dette har blitt løst.
- Med strenge på 512 og flere byte, kan "join" og "replace" krasje. Dette har blitt løst. De to operatørene er nå også mye raskere enn noen gang før.
- `math.isprime` returnerte feilresultater med argumenter & gt; 2 ^ 31 (nevnt vagt i håndboken). Dette har blitt løst ved å utvide argumentområdet til heltall med verdier opp til +/- 2 ^ 63.
- `math.nextprime` og` math.prevprime` hadde det samme problemet med større argumenter som `math.isprime`. Dette har også blitt endret. Med argument 2 returnerte "io.nextprime" feilaktig 5 i stedet for 3. Dette har også blitt løst.
Hva er nytt i versjon 1.0.5:
- "join" kan krasje Agena og ellers oppføre seg uventet hvis den resulterende strengen
- oversteg 512 byte. Dette har blitt endret.
- Hvis "omstart" er blitt ringt etter at en feil har blitt utstedt i det forrige
- uttalelse, Agena i sjeldne tilfeller krasjet på grunn av stakk korrupsjon. Dette har vært
- løst.
- Med nyopprettede tabeller som inneholder nøyaktig ett element i hashdelen, `attrib`
- returnerer nå riktige resultater for antall tildelte hash-spor (1 i stedet for 0).
- Rettede feilmeldinger av `qsadd` og` sadd`.
- Forbedrede feilmeldinger av `join`,` copy` og `filled` operatører, og` insert`
- og `delete` uttalelser.
- Feilhåndtering av `read`,` save` og `fractals.draw` har blitt forbedret.
- Forbedringer til makefilene.
- Bufferstørrelser er nå standardisert i kildene.
Hva er nytt i versjon 1.0.4:
- Siden sjeldne krasjer har blitt rapportert under initialisering (i Windows XP SP 3 og OpenSolaris 134, under noen omstendigheter), er søppelsamlingen nå slått av i initialiseringsfasen. Disse sjeldne segmenteringsfeilene oppstod i OpenSolaris når du kjører Agena-binæret i sin harboring-katalog som rot, og i XP når du klikker på Agena-skrivebordet med lokale adminrettigheter.
- Introdusert -d-bryteren til kommandolinjevalg for å skrive ut informasjon under initialisering av Agena.
- Innført riktig feilbehandling hvis minne ikke kunne internt tildeles: `trim`,` upper` ,` lower`, `os.curdir` og` strings.rseek`.
- Fjernet potensiell minnelekkasje i initialiseringen C funksjoner agenaL_initialise and agenaL_setLibname, og i `io.write *` og `print`.
Hva er nytt i versjon 1.0.3:
- Den nye funksjonen `beskytte` kaller en prosedyre i beskyttet modus og fanger opp en eventuell feil, slik at beregningen ikke avbrytes. I tilfelle en feil, setter den feilstrengen til den globale variabelen `lasterror`. Det er relatert til `pcall`, men returnerer ikke statuskoden som det første resultatet.
- `attrib` returnerer nå riktige resultater med tomme strukturer. Med tomme strukturer, teller funksjonen feilaktig et tildelt hash-element før.
- `attrib` returnerer nå antall byte som er okkupert av tabeller, sett og sekvenser sammen med den nye bytes-tasten. Antall returnerte bytter er basert på noen ganger motstridende informasjon tilgjengelig på nettet.
- `erstatte` krasjet Agena hvis den resulterende strengen oversteg 512 bytes. Dette har blitt endret.
- `antar` nå returnerer 'Antatt mislyktes.' i stedet for "antakelse mislyktes."
- Den nye C API-funksjonen lua_setglobal2 setter verdien øverst i stabelen til et globalt navn. I motsetning til lua_setglobal, er verdien ikke poppet.
- Kode rengjøring av lobject.h (Tabell struktur), og lapi.c (actnodesize makro). Bugfix til C API-funksjonen agn_deletertable hvis Agena er kompilert med ikke-ugyldig lua_assert. Endre til returverdi av savestat-funksjonen som brukes under initialiseringen for å forhindre (liten) mulighet for stakk korrupsjon.
Hva er nytt i versjon 1.0.2:
- Den nye `os.setenv`-prosedyren angir miljøvariabler på operativsystemnivå. Funksjonen er opprinnelig skrevet av Mark Edgar.
- I Windows kaller `os.getenv` en innfødt Windows API-funksjon for å få verdiene for miljøvariabler. Windows-koden er skrevet av Mark Edgar.
- Den nye `os.environ`-funksjonen returnerer alle tilordnede miljøvariabler i en tabell. Funksjonen er opprinnelig skrevet av Mark Edgar.
- `io.open` legger nå FILE-pekeren, navnet og modusen til en vellykket åpnet fil i den nye tabellen` io.openfiles`. `io.close` sletter oppføringen fra` io.openfiles` hvis filen kunne lukkes.
- Når det kalles uten argumenter, returnerer «io.read» nå en feil hvis det kalles uten argumenter i AgenaEdit (i et forsøk på å lese tastaturet).
- Hvis `io.anykey` og` io.getkey` kalles i AgenaEdit, vises en skikkelig feilmelding.
- En av initialiseringsprosedyrene er endret for å unngå mulig stivkorrupsjon (selv om det ikke har oppstått problemer).
- os.isMac ('ppc') fungerer nå på PowerPC-maskiner.
- Kapittel 4 og 6 i Primer og Reference er revidert og utvidet. En indeks er lagt til og mye kosmetikk har også blitt gjort.
- Lagret korrekt versjoninformasjon til Windows-kjørbar.
Hva er nytt i versjon 1.0:
- Kjære damer og herrer,
- Etter nesten fire års utvikling publiserte jeg Agena 1.0, et prosessorprogrammeringsspråk, hentet fra Lua C-kilder.
- Mitt samfunn er faktisk veldig, veldig lite, men noen brukere fortalte meg at det var fint, nyttig og stabilt.
- Jeg ville være veldig glad hvis du har vurdert Agena og informert meg om resultatene dine. Hvis du ikke finner det nyttig, vennligst fortell meg personlig, og gi meg en sjanse til å løse problemene.
Hva er nytt i versjon 0.34.1d:
- Denne versjonen inneholder en oppdatert GUI-versjon av AgenaEdit (se kjørbar fil agenaedit).
Hva er nytt i versjon 0.34.1:
- AgenaEdit med syntaksutheving og innebygd runtime-motor er utgitt med Agena 0.34.1.
Hva er nytt i versjon 0.34.0:
- AgenaEdit med syntaksutheving og innebygd runtime-motor er utgitt med Agena 0.34.0.
Hva er nytt i versjon 0.33.2:
- Agena 0.33.2 med xBase filstøtte er utgitt.
Hva er nytt i versjon 0.33.1:
- Agena 0.33.1 med xBase-filstøtte er utgitt.
Hva er nytt i versjon 0.33.0:
- Den nye `xbase`-pakken kan lese og skrive xBase-filer som er kompatible med dBASE III-standarden.
- Pakken "binio" og "ads" kan nå håndtere filer på opptil 2 ^ 63 byte. Før de kunne håndtere kun filer med størrelser på opptil 2 ^ 31 byte.
- Den nye «io.lock», `io.unlock`,` binio.lock`, `binio.unlock`,` ads.lock` og `ads.unlock`-funksjonene låser en fil fra lese og skrive tilgang av andre Agena
- funksjoner eller til og med andre programmer hvis den sistnevnte bruker en låsingsprotokoll.
- Baselib-funksjonen `read` kan ikke overskrives av` med`.
- Den nye `package.checkClib` sjekker om en pakke som er lagret til et C-dynamisk bibliotek, er initialisert. Hvis ikke, returnerer det en advarsel trykt på skjermen og oppretter et tomt pakkebord. Ellers gjør det ingenting.
- Haiku-porten støtter nå dynamiske koblingsbiblioteker.
Hva er nytt i versjon 0.32.3:
- Agena 0.32.3 med nye og avstemte beregningsfunksjoner har blitt utgitt.
- Mac-brukere trenger ikke å installere flere avhengighetsbiblioteker lenger.
- En Haiku-port er nå tilgjengelig.
Hva er nytt i versjon 0.31.5:
- Denne versjonen inneholder innebygd grafikk, vilkårlig presisjonsmatematikk og forbedrede funksjoner.
Hva er nytt i versjon 0.31.3:
- Lagt fraktalpakken til å enkelt trekke fraktaler i Solaris, Mac, Linux og Windows.
- På Solaris og Linux returnerer gdi.mouse` nå standardverdier for trykkna museknapper (det samme som Mac- og Windows-utgavene).
- Når alternativet -v er gitt, utfører Agena ikke initialiseringsfilene lenger.
- På UNIX eller Mac må filnavnene til initialiseringsfilene alltid være `.agenainit`, enten de er i / usr / agena / lib eller den personlige mappen.
- Den binære Mac-distribusjonen for Intel-prosessorer kjører rundt 30% raskere enn tidligere utgivelser.
- Funksjonen `io.getkey` er nå tilgjengelig i Mac OS X-utgaven.
- På Mac returnerer "os.system" nå fullstendig informasjon om operativsystemet og CPU-typen. Vær oppmerksom på at den returnerer informasjon på Darwin-kjernen, og at den første oppføringen i den resulterende tabellen nå er `Darwin` istedenfor` MacOSX`.
- `os.memstate`,` os.freemem` og `os.beep` støtter nå Mac OS X.
- `io.anykey` er tilgjengelig på alle plattformer, men returnerer` fail 'på DOS og Mac. Dermed vil `gdi.draw` ikke kaste feil lenger på Mac når du bruker 'mouse`-alternativet.
- `os.listcore` har blitt utvidet til å bare returnere fil, katalog eller lenke navn. '' og ".." nå blir aldri returnert.
- `os.list` kjente ikke noen alternativer og returnerte en tom liste i stedet. Dette har blitt løst. Alternativer kan også kombineres. '' og ".." som det første argumentet nå er riktig anerkjent.
- `os.curdir` erstatter nå automatisk tilbakestrek i stien som er bestemt med skråstreker.
- `os.fstat` og` ads.attrib` krasjet Agena dersom datoen for en fil overskrides tirsdag 19. januar 2038. Dette har blitt løst ved å enten returnere et tomt tabell for datoenøkkelen (os.fstat), eller 0/0/01 00:00:00, (ads.attrib).
- `utils.calendar` krasjet Agena hvis argumentet var ugyldig, negativt eller for stort. Dette har blitt endret. I tillegg, hvis en dato er utover tirsdag 19. januar 2038, returneres den riktige datoen.
- De nye funksjonene `os.screensize` og` os.mousebuttons` returnerer nåværende skjermoppløsning og antall knapper på den vedlagte musen, henholdsvis (kun Windows).
- Filen agena.ini.sample har blitt omdøpt til .agenainit.sample i UNIX / Mac-distribusjonene.
- En ny makefile for Solaris sendes nå med Mapm Agena-bindingen for å kompilere de originale MAPM-kildene som er skrevet av Michael C. Ring.
Hva er nytt i versjon 0.31.2:
- Mapm-pakken for arbitradsmattepresisjon er nå også tilgjengelig i DOS-utgaven av Agena.
- Antall siffer som brukes av kartpakken er initialisert til 17 siffer ved oppstart av Agena for DOS eller OS / 2 Warp. Før var standard 1 siffer.
- C-koden for MAPM-bindingen er standardisert. Først, DOS og OS / 2 kildefiler var forskjellig fra den for UNIX og Windows.
- Små forbedringer til installasjonsprogrammene for Windows og Mac OS X.
- På Mac er dokumentasjonen nå tilgjengelig i Bibliotek / Dokumentasjon / Agena i stedet for / Brukere / Del / Agena.
- Synd-, cos-, arcsin-, arccos- og arctanfunksjonene returnerte -0 i stedet for 0 som den imaginære enheten, noe som førte til feil resultat hvis retur av disse funksjonene hadde blitt brukt på andre funksjoner som ln (dvs. tegnet av den imaginære enheten av resultatet av disse andre funksjonene var feil). Dette har blitt løst ved å sette den imaginære enheten -0 til 0 i retur av synd, cos, arcsin, arccos og arctan.
- Arcsin- og arccos-funksjonene returnerte feilresultater for argumenter z, hvis abs (ekte ((z))) & lt; 1. Dette har blitt løst.
- I OS / 2 returnerte de fleste komplekse aritmetiske funksjoner udefinert. Dette har blitt løst.
- Merk at i OS / 2 og DOS, i det komplekse domenet, er det fortsatt problemer med arccos- og arcsin-operatørene som returnerer udefinert i visse situasjoner.
- Windows, i386 Solaris 10 og Linux versjoner er nå blitt kompilert med GCC 4.4.x (og uten xmath86.h) som reduserte antall feil i komplekse aritmetikk betydelig. Faktisk returnerer utførlige komplekse matte test tilfeller null feil. Sparc-versjonen er kompilert med GCC 4.3.3 for Sun Sparc og har mindre feil i komplekse tall aritmetiske enn 0.31.1-utgivelsen hadde.
- Omdøpt følgende inkluderer filer: config.h - & gt; agncfg.h, chelpers.h -> agnhlps.h, agnxlib.h -> agnxlib.h.
- På Mac gir gdi.mouse nå standardverdier for trykkna museknapper.
Hva er nytt i versjon 0.31.1:
- Agena 0.31 inneholder alle grunnleggende verktøy for å plotte poeng, linjer, sirkler, ellipser, rektangler, buer. etc., for å kontrollere bildestørrelse og farger.
Hva er nytt i versjon 0.31.0:
- En språkkonsekvensutgivelse med en feilretting - er utgitt. Se endringsloggen for det som har endret seg.
Hva er nytt i versjon 0.30.4:
- Agena har nå innebygd grafikk. Dette vil tillate deg å plotte grafer, bilder, etc. i X11- eller Win32-vinduer eller til GIF-, PNG-, JPEG-, FIG- eller PostScript-filer, både i Solaris, Linux og Windows. Agena binder seg til g2 grafisk bibliotek skrevet av Ljubomir Milanovic og Horst Wagner, for å gi disse nye evner.
- Agena 0.30 inneholder alle grunnleggende verktøy for å plotte poeng, linjer, sirkler, ellipser, rektangler, buer. etc., for å kontrollere bildestørrelse og farger.
- & gt; med 'gdi';
- gdi pakke v0.1.4 per 20. desember 2009
- bue, arkfylt, bakgrunn, sirkel, sirkelfyllt, clearpalette, lukk, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, blekk, siste tilgang, linje, newline, newpoint, åpen, plott, plotfn, punkt, rektangel, rektangel fylt , reset, resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, triangulær, useink
- Plotfn-funksjonen tegner en eller flere grafer av funksjoner i en reell, eventuelt sammen med aksene plottet i en brukerdefinert farge. Området for y-aksen kan også gis, ellers bestemmer Agena den beste innstillingen. Det finnes forskjellige andre alternativer som kan settes med setoptions-funksjonen, og som vil gjelde for alle grafer som er produsert i en økt: vinduoppløsningen, fargekartet, linjetykkelsen og bakgrunnsfargen. Selvfølgelig kan brukeren overstyre noen eller alle alternativer for et bestemt plott. Singulariteter behandles ordentlig.
Hva er nytt i versjon 0.30.3:
- Agena 0.30.3 med innebygd grafikk, vilkårlig presisjonsmatematikk og forbedrede funksjoner er utgitt.
Hva er nytt i versjon 0.30.2:
- Agena har nå innebygd grafikk. Dette vil tillate deg å plotte grafer, bilder, etc. i X11- eller Win32-vinduer eller til GIF-, PNG-, JPEG-, FIG- eller PostScript-filer, både i Solaris, Linux og Windows. Agena binder seg til g2 grafisk bibliotek skrevet av Ljubomir Milanovic og Horst Wagner, for å gi disse nye evner.
- Agena 0.30 inneholder alle grunnleggende verktøy for å plotte poeng, linjer, sirkler, ellipser, rektangler, buer. etc., for å kontrollere bildestørrelse og farger.
- & gt; med 'gdi';
- gdi pakke v0.1.4 per 20. desember 2009
- bue, arkfylt, bakgrunn, sirkel, sirkelfyllt, clearpalette, lukk, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, blekk, siste tilgang, linje, newline, newpoint, åpen, plott, plotfn, punkt, rektangel, rektangel fylt , reset, resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, triangulær, useink
- Plotfn-funksjonen tegner en eller flere grafer av funksjoner i en reell, eventuelt sammen med aksene plottet i en brukerdefinert farge. Området for y-aksen kan også gis, ellers bestemmer Agena den beste innstillingen. Det finnes forskjellige andre alternativer som kan settes med setoptions-funksjonen, og som vil gjelde for alle grafer som er produsert i en økt: vinduoppløsningen, fargekartet, linjetykkelsen og bakgrunnsfargen. Selvfølgelig kan brukeren overstyre noen eller alle alternativer for et bestemt plott. Singulariteter behandles ordentlig.
Hva er nytt i versjon 0.29.0:
- Agena har nå innebygd grafikk. Dette vil tillate deg å plotte grafer, bilder etc. i et vindu eller til en GIF-, PNG-, JPEG-, FIG- eller PostScript-fil i Solaris, Linux og Windows, ved å inkludere en binding til g2 grafisk bibliotek skrevet av Ljubomir Milanovic og Horst Wagner.
- Agena 0.29.0 har alle grunnleggende verktøy for å plotte poeng, linjer, sirkler, ellipser, rektangler, buer. etc., for å administrere farge, og å lage bildefiler eller åpne X11 eller Win32 windows.
- I en av de kommende oppdateringene kan et høyt brukergrensesnitt med funksjonene gdi.plotfn og gdi.plot tillate deg å plotte univariate funksjoner og sett med poeng på fly. De to funksjonene er allerede inkludert i Agena 0.29.0, men er fortsatt beta. Her er en forhåndsvisning:
- & gt; med 'gdi';
- gdi pakke v0.1.0 per 24. november 2009
- bue, bakgrunn, sirkel, clearpalette, lukk, dash, ellipse, filledArc, filledCircle, filledEllipse, filledRectangle,
- filledTriangle, flush, fontsize, initpalette, blekk, siste tilgang, linje, åpen, plott, plotfn, punkt, rektangel, reset,
- resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, useink
- Plotfn-funksjonen tegner grafen for en funksjon i en reell, eventuelt sammen med aksene plottet i en brukerdefinert farge. Området for y-aksen kan også gis, ellers prøver Agena å bestemme den beste innstillingen. Det finnes forskjellige andre alternativer som kan settes med setoptions-funksjonen, og som vil gjelde for alle grafer som er produsert i en økt: vinduoppløsningen, fargekartet, linjetykkelsen og bakgrunnsfargen. Selvfølgelig kan brukeren overstyre noen eller alle alternativer for et bestemt plott. Singulariteter behandles ordentlig.
- plotfn (sin (x) * x & gt ;, -5, 5, farge ~ 'blå', aksiskolor ~ 'grå', res ~ 640: 480);
Hva er nytt i versjon 0.27.2:
- Den nye toSet baselib-funksjonen konverterer en streng til et sett med tegnene, og et bord eller en sekvens i et sett.
- io.readlines har blitt patched til å behandle linjer med mer enn 2048 tegn. Funksjonen utsteder også en feil hvis internminneallokering mislykkes. Intern bufferstørrelse er redusert fra 2048 byte til 512 byte. Du kan endre dette ved å tildele en annen verdi til AGN_IOREADLINES_MAXLINESIZE i filen agnconf.h.
- io.readlines aksepterer nå også filhåndterer. Når du bruker filhåndter, i motsetning til filnavn, vær oppmerksom på at du må lukke filen manuelt etter bruk av io.readlines.
- io.readlines returnerer ikke lenger et tomt tabell hvis filen ikke eksisterer. I stedet utsteder det en feil.
- toSeq returnerer nå en feil i stedet for å mislykkes hvis den ikke mottar en streng, sett eller tabell.
- Baselib-funksjonen som er brukt, er utvidet og kan returnere minnebruk i byte, kbyte og gbytes. Det er en C-funksjon nå.
- Den ugokumenterte gcinfo-funksjonen er slettet. Funksjonaliteten er tatt av brukt.
- Den nye C API-funksjonen agn_usedbytes returnerer antall byte som brukes av systemet.
- Korrigert feil feilmelding til toTable.
- omdøpt C AOI-funksjonen `agn_isioforcerror` til` agn_isioforceerror`.
Hva er nytt i versjon 0.27.0:
- Lagt til feilfunksjonen math.erf, og den komplementære feilfunksjonen math.erfc.
- Lagt Bessel-funksjonen til den første typen math.besselj, og Bessel-funksjonen til den andre typen math.bessely. Ordren er gitt av det første argumentet, argumentet som det andre argumentet.
- Hvis den nye miljøvariabelen _EnvIoForceError er satt til en ikke-null-verdi (standard), endres io.open, io.readlines og de forskjellige binio-funksjonene med en feil i stedet for bare å returnere normalt.
- binio.readbytes og binio.readchar returnerte en tom sekvens i stedet for å mislykkes hvis filen som skulle leses, ikke eksisterte. Dette har blitt endret: Feil eller en feil er nå returnert.
- arcsin og arccos er nå operatører og dermed rundt 40% raskere.
- Lagt til xor-operatøren som utfører en boolsk eksklusiv-ELLER på verdier som vurderer til eller er sanne, falske, svikt og null.
- Lagt til operatøren som kontrollerer om et ord slutter i en gitt setning og returnerer posisjonen som et tall. Operatøren returnerer null hvis strengene har samme lengde, minst en av dem er den tomme strengen, eller ordet slutter ikke i det angitte mønsteret.
- harrtable nå bare returnerer sant, hvis det har en skrivebeskyttet huskatalog (oppdatert av returoppgaven).
- Den nye funksjonen harrotabel bestemmer om en funksjon har en skrivebeskyttet huskabel (som ikke kan oppdateres av returoppgaven) og returnerer sann eller falsk.
- De nye operatørene gethigh og getlow henter høyere og lavere byte fra et tall (det vil si C dobbel).
- De nye operatørene sethigh og setlow angir høyere og lavere byte til et tall (dvs. C dobbel).
- Det nye operatørbåndet, bor, bxor og bnot utfører bitvis og, eller, eksklusiv eller komplementær operasjon på tall.
- Den nye kjernen-funksjonen konfigurerer innstillinger av Agena-kjernen. For tiden kan det endre måten som bitwise operatørene jobber internt (bruk av signerte eller usignerte heltall), og hvordan tall skrives ut.
- Med reelle tall x, returnerer matte.argument nå Pi i stedet for 0 hvis x & lt; 0.
- På grunn av en feil i de underliggende ANSI C-biblioteksfunksjonene, produserte arcsin og arccos feilresultater med komplekse tall hvis deres imaginære del var null i UNIX-systemer. Dette har blitt løst.
- math.isPrime rapporterte feil med nummer 2. Dette er blitt korrigert.
- I motsetning til håndboken returnerte abs 2 med feil. Nå returneres det -1 som dokumentert.
- Bitpakken er fjernet.
- Lagt til den nye C API-funksjonen agn_isioforcerror som kontrollerer om _EnvIoForceError er satt til en ikke-null-verdi.
- Den nye C API-funksjonen agn_setbitwise bestemmer om operatørbåndet, bor, bnot, bxor og shift beregnes internt med enten signerte eller usignerte heltall.
- Den nye C API-funksjonen agn_getbitwise returnerer modusen sett av agn_setbitwise.
- Den nye C API-funksjonen agn_setdigits angir antall sifre som brukes til utskriftstall.
- Den nye C API-funksjonen agn_getdigits bestemmer antall sifre som brukes til utskriftstall.
- Intern: Fjernet utdatert "REPL" -oppføring fra luaP_opnames.
- Installasjonsprogrammet for Windows har blitt forbedret ved å se etter en tidligere installert versjon av Agena, ved å forhindre at installasjonsprogrammet startes hvis en annen forekomst allerede kjører, og med noen andre små forbedringer.
Krav :
- ncurses
- GNU Readline
Kommentarer ikke funnet