Agena

Software screenshot:
Agena
Software detaljer:
Version: 2.11.5 Opdateret
Upload dato: 22 Jun 18
Udvikler: Alexander Walz
Licens: Gratis
Popularitet: 23

Rating: nan/5 (Total Votes: 0)

Agena er et open source, gratis, multi-platform og nemme at lære procedurerende programmeringssprog designet til daglig brug. Det kan bruges i grafiske, videnskabelige, sproglige og uddannelsesmæssige miljøer samt på scripting applikationer, der understøtter alle mainstream operativsystemer.


Byder på mange flowkontrolfaciliteter

Programmet tilbyder mange strømningsstyringsfaciliteter, f.eks. hvis. elif, ellers betingelser, tilfælde af og ellers betingelser, er operatør, numerisk for, fra, til og ved sløjfer, kombineret numerisk til og imellem sløjfer til og i sløjfer, mens og gør / som sløjfer, en skibsopgørelse, en pause erklæring samt datatype validering.


Indeholder opgørelsesopgaver

Vi kan blandt andet nævne et vilkårligt præcisionsmatematisk bibliotek, let konfiguration af dit personlige miljø, et brugervenligt pakkesystem, opgørelsesopgaver, rækkeviddekontrol via epocs / anvendelsesordene og mange andre attraktive funktioner.

Under emhætten og tilgængeligheden

Et hurtigt kig under emhætten viser os, at projektet er skrevet i C, BASIC, Lua og ALGOL 68 programmeringssprog, hvilket betyder, at dets syntaks ligner syntaxen af ​​disse projekter. Den kører helt i et konsol / terminal miljø, hvilket betyder, at det ikke indeholder nogen grafisk brugergrænseflade (GUI).


Skib med en enkel editor

På trods af at Agena-softwaren er en kommandolinjeprogram, sendes den med en simpel editor grafisk software, kaldet AgenaEdit, som har et integreret Agena-miljø og syntaxbelysningsfunktioner. Det er stærkt inspireret af en lignende editor, der er udviklet af Bill Spitzak til FLTK platformplatform C ++ GUI toolkit.


Fungerer på Raspberry Pi

Agenas grafiske evner understøttes på GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation - OS / 2 og DOS-operativsystemerne. Det kan nemt implementeres på både 64-bit og 32-bit hardware platforme, og er blevet testet på det ARM-baserede Raspberry Pi computerkort.

Hvad er nyt denne udgivelse:

  • Ny beregning og statistikfunktion

Hvad er nyt i version:

  • Ny beregning og statistikfunktion

Hvad er nyt i version 2.9.4:

  • Ny beregning og statistikfunktion

Hvad er nyt i version 2.8.5:

  • ny beregning og statistikfunktion

Hvad er nyt i version 2.8.2:

  • ny beregning og statistikfunktion

Hvad er nyt i version 2.6.1:

  • `stats.chauvenet` kan nu tjekke specifikt for nedre eller øvre outliers ved at overføre optionen 'outlier =' lower'` eller `outlier = 'upper''.
  • `bags.remove` forårsagede segmenteringsfejl. Dette er blevet rettet. Desuden er alle 'tasker'-funktioner implementeret i C blevet internt ændret.
  • De (undokumenterede) metamethods for `+`, `` og `*` fungerede ikke, hvis pakken «tasker« ikke er blevet påkaldt med funktionen `med` eller 'import / alias'-erklæringen. Dette er blevet rettet.

Hvad er nyt i version 2.5.4:

  • `stats.chauvenet` kan nu tjekke specifikt for lavere eller øverste overskridelser ved at overføre alternativet 'outlier =' lower'` eller` outlier = 'upper''.
  • `bags.remove` forårsagede segmenteringsfejl. Dette er blevet rettet. Desuden er alle 'tasker'-funktioner implementeret i C blevet internt ændret.
  • De (undokumenterede) metamethods for `+`, `` og `*` fungerede ikke, hvis pakken «tasker« ikke er blevet påkaldt med funktionen `med` eller 'import / alias'-erklæringen. Dette er blevet rettet.

Hvad er nyt i version 2.5.3:

  • `stats.chauvenet` kan nu tjekke specifikt for nedre eller øvre outliers ved at overføre optionen 'outlier =' lower'` eller `outlier = 'upper''.
  • `bags.remove` forårsagede segmenteringsfejl. Dette er blevet rettet. Desuden er alle 'tasker'-funktioner implementeret i C blevet internt ændret.
  • De (undokumenterede) metamethods for `+`, `` og `*` fungerede ikke, hvis pakken «tasker« ikke er blevet påkaldt med funktionen `med` eller 'import / alias'-erklæringen. Dette er blevet rettet.

Hvad er nyt i version 2.4.2:

  • `stats.chauvenet` kan nu tjekke specifikt for lavere eller øverste overskridelser ved at overføre alternativet 'outlier =' lower'` eller` outlier = 'upper''.
  • `bags.remove` forårsagede segmenteringsfejl. Dette er blevet rettet. Desuden er alle 'tasker'-funktioner implementeret i C blevet internt ændret.
  • De (undokumenterede) metamethods for `+`, `` og `*` fungerede ikke, hvis pakken «tasker« ikke er blevet påkaldt med funktionen `med` eller 'import / alias'-erklæringen. Dette er blevet rettet.

Hvad er nyt i version 2.3.0 RC1:

  • Numeriske `for'-løkker understøtter nu 'nede'-søgeordet, så du kan regne ned uden at bruge en obligatorisk negativ` by`-trinstørrelse. I 'downto'-sammenhængen skal' by'-trinstørrelsen altid være positiv. `fra 'start og` til' stop værdier er obligatoriske, når du bruger 'downto'-søgeordet.
  • Metamethod''finite ',' __entier 'og' __sqrt 'understøttes ikke længere. I stedet er der tilføjet tre nye metoder til operationer på strukturer: '__union' for fagforretninger, '__intersect' for at bestemme kryds og '__minus' for forskelle. Således understøtter pakken `tasker 'nu også disse tre operationer.
  • Den `` integer divisionsoperatør understøttede ikke sin metamethod og anvendte stedet for float divison (`/` operator) i stedet. Dette er blevet rettet.
  • Den nye funktion `stats.gini` bestemmer Gini-koefficienten, en måling af (i) ligestilling.
  • Den nye funktion `stats.zscore` returnerer en funktion, der beregner z-score (standard score) for en prøve - antallet af standardafvigelser, prøven er over eller under gennemsnittet af en fordeling.
  • `stats.sorted` bruger nu som standard Introsort-algoritmen i stedet for Quicksort. Dette kan fremskynde beregningstiden tre gange i uklare situationer (hvor Quicksort ville have brug for O (n ^ 2) operationer), mens det ikke ofrer præstationer i almindelige situationer. Faktisk bruger Introsort Quicksort som standard og skifter derefter automatisk til Heapsort, hvis rekursionsdybden når 2 * log (n, 2), hvor n er antallet af elementer i en struktur.
  • Du kan tilsidesætte denne logik ved at sende den nye mulighed 'quicksort', som udelukkende bruger den traditionelle rekursive Quicksort-metode til at sortere tal. Også `stats.sorted` kan også nu bruge Heapsort-algoritmen udelukkende, hvis den nye option 'heapsort' bliver sendt, og en ikke-rekursiv Quicksort-algoritme udformet af Niklaus Wirth med den nye mulighed 'nrquicksort'.
  • Den nye funktion `stats.meanmed` returnerer både det aritmetiske middel og medianen af ​​en fordeling, eller alternativt kvotienten af ​​middelværdien og medianen, hvilket fremskynder beregningstiderne, når disse værdier er nødvendige med omkring 20 procent.
  • Forbedret fejlmeddelelsen for operatoren `size`.

Hvad er nyt i version 2.1.1:

  • Nye funktioner og patches:
  • `prøv / fangst`: eksplicit specifikation af en fejlvariabel lige efter 'fangst'-token er nu valgfri. Hvis der ikke er angivet en fejlvariabel, gemmes fejlmeddelelsen automatisk til den lokale `lasterror'-variabel, og 'da`-søgeordet skal udelades:
  • & gt; prøv
  • & gt; fejl ('oops!')
  • & gt; fange
  • & gt; print (lasterror)
  • & gt; YRT;
  • oops!
  • Sætningen "Prøv / fangst" sommetider fungerede ikke i procedurer (ikke-tildelt fejlvariabel). Dette er blevet rettet.
  • Den nye `net.wget`-funktion downloader HTML-sider fra internettet.
  • Tuned `skycrane.counter` med 10%. Funktionen bruger nu valgfrit Kahan-Ozawa i stedet for den oprindelige Kahan summationsalgoritme, hvis det nye tredje argument er strengen 'ozawa'. De tilsvarende C-kilder er blevet ændret for at forhindre compileroptimering, hvilket også kunne annullere optimeringerne.
  • `argerror` udskriver nu det brugerdefinerede typebetegn for en værdi, der er modtaget i dens fejlmeddelelse. Hvis en værdi ikke har en brugerdefineret type, udstedes den grundlæggende type.
  • Den nye 'a' mulighed for `debug.getinfo` returnerer antallet af argumenter, der forventes ved en procedure, takket være Rob Hoelz 'LuaPowerPatch.
  • Forbedret fejlmeddelelse for `indeks uden for rækkevidde 'for strenge.
  • Ændrede `stats.agn`,` linalg.agn`, `library.agn` og` ansi.agn`-filer med hensyn til deres fejlhåndtering.

Hvad er nyt i version 2.1.0:

  • For en ny form for fejlhåndtering er den nye `prøve / fangst` erklæring indført. Det er blevet opfundet og skrevet af Hu Qiwei for Lua 5.1 tilbage i 2008.
  • Generelt kan ethvert udsagn, hvor en undtagelse kan forventes, sættes i en "prøve" -klausul. Hvis en fejl er udstedt, genereret ved et udtrykkeligt opkald til `fejl'-funktionen eller til en hvilken som helst anden udtryk, funktion eller erklæring, styres øjeblikkeligt til den tilsvarende` catch`-klausul, hvis den er til stede eller til slutningen af ​​'try / yrt'en »erklæring, hvis der ikke er givet nogen" catch "-klausul, idet man ignorerer andre efterfølgende udtalelser i" prøve "-klausulen.
  • Fejlhåndteringsfaciliteterne `protect / lasterror` er stadig og vil altid blive understøttet. Den nye kontrolopgørelse arbejder også sammen med `break`,` skip`, `redo` og` return'-sætningerne fejlfrit.
  • Den nye `redo`-erklæring genstarter den aktuelle iteration fra starten til en` for / til` og `for / i'-loop.
  • Den nye `recip`-operatør returnerer det omvendte af et tal x. Det svarer til udtrykket 1 / x, men hurtigere.
  • Den nye `stats.ema`-funktion beregner det eksponentielle glidende gennemsnit af en fordeling. Den nye funktion `stats.gema` returnerer en iteratorfunktion, der returnerer det respektive eksponentielle glidende gennemsnit af en fordeling.
  • `*%`, `+%` og `-%` returnerede `undefined` i stedet for et korrekt resultat, hvis deres højre operand havde været nul. Dette er blevet rettet.
  • Løst en fejlmeddelelse i `net.survey`.
  • Forbedrede fejlmeddelelser til uden for rækkevidde indeksering af par og strenge.
  • I ANSI-, Solaris- og DOS-versionerne er 'int`-operatøren blevet indstillet.
  • Den nye C API-funktion `agn_arraytoseq` konverterer et numerisk array til en sekvens og skubber denne nye sekvens oven på stakken.
  • Opdateret manualen.

Hvad er nyt i version 2.1.0 RC:

  • Den nye `redo`-erklæring genstarter den aktuelle iteration fra et` for / til` og `for / i'-loop fra begyndelsen. Eksempel
  • & gt; flag: = true; & Gt; for j i [10, 11, 12] gør & gt; print ('før', j, flag); & Gt; hvis flag og j = 11 derefter & gt; klart flag & Gt; print ('->', j, flag, 'spring tilbage') & gt; redo & gt; fi; & Gt; print ('efter', j, flag) & gt; indtil j & gt; 12; før 10 sande efter 10 sande før 11 sande - & gt; 11 falsk hoppe tilbage før 11 falsk efter 11 falsk før 12 falsk efter 12 falsk
  • Den nye `recip`-operatør returnerer det omvendte af et tal x. Det svarer til udtrykket 1 / x, men hurtigere.
  • Den nye `stats.ema`-funktion beregner det eksponentielle glidende gennemsnit af en fordeling. Den nye funktion `stats.gema` returnerer en iteratorfunktion, der returnerer det respektive eksponentielle glidende gennemsnit af en fordeling. For brugen af ​​dem skal du kigge ind i src / stats.c kildefilen, C-funktioner * ema.
  • `*%`, `+%` og `-%` returnerede `undefined` i stedet for et korrekt resultat, hvis deres højre operand havde været nul. Dette er blevet rettet.
  • Løst en fejlmeddelelse i `net.survey`.
  • Den nye C API-funktion `agn_arraytoseq` konverterer et numerisk array til en sekvens og skubber denne nye sekvens oven på stakken.

Hvad er nyt i version 2.0.0:

  • Nye udsagn og funktioner:
  • Agena 2.0 er nedadrettet kompatibel med Agena 1.12, bortset fra at symbolerne `import`,` alias`, `indtil` og` onsuccess` er nu nøgleord og kan ikke længere bruges som variabler. I øjeblikket findes der Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac og DOS-installatører til 2,0, herunder en opdateret Primer og Reference, der forklarer alle nye funktioner i detaljer.
  • De nye sløjfevarianter `for / som` og` for / indtil` tjekker en tilstand i slutningen af ​​den aktuelle iteration og enten starter den næste iteration eller forlader sløjfen. Dette virker med både `for / til`, såvel som` for / i'-løkker. I virkeligheden udfører begge varianter en loop mindst en gang, indtil den givne tilstand kontrolleres.
  • Eksempler:
  • & gt; for jeg til 5 gør
  • & gt; print (i)
  • & gt; som jeg & lt; 3
  • & gt; for jeg i [1, 2, 3, 4, 5] gør
  • & gt; print (i)
  • & gt; indtil jeg & gt; = 3
  • Den nye `gør / indtil'-løkke gentages, indtil en bestemt betingelse er opfyldt:
  • & gt; c: = 0;
  • & gt; gøre
  • & gt; inc c;
  • & gt; print (c)
  • & gt; indtil c & gt; = 3
  • I numeriske `for'-loops kan" to "-klausulen ikke længere gives. I stedet, når du forlader "to" -klausulen, gentages løkken, indtil det største antal repræsenteret på din platform, i C HUGE_VAL, er nået:
  • & gt; for jeg gør
  • & gt; print (i)
  • & gt; od
  • Den nye "onsuccess" -klausul i "if" og "case" erklæringer udfører en klump, hvis mindst en af ​​betingelserne er sand. Eksempler:
  • & gt; flag: = false;
  • & gt; hvis 1 = 0 så
  • & gt; print (0)
  • & gt; elif 1 = 1 derefter
  • & gt; print (1)
  • & gt; onsuccess
  • & gt; flag: = sandt
  • & gt; ellers
  • & gt; print (-1)
  • & gt; fi;
  • & gt; print (flag);
  • true
  • & gt; flag: = false;
  • & gt; hvis 1 = 0 så
  • & gt; print (0)
  • & gt; elif 1 = 0 så
  • & gt; print (1)
  • & gt; onsuccess
  • & gt; flag: = sandt
  • & gt; ellers
  • & gt; print (-1)
  • & gt; fi;
  • & gt; print (flag);
  • falsk
  • & gt; flag: = false;
  • & gt; a: = 2;
  • & gt; tilfælde a
  • & gt; af 1 derefter
  • & gt; print (1)
  • & gt; af 2 derefter
  • & gt; print (2)
  • & gt; onsuccess
  • & gt; flag: = sandt
  • & gt; ellers
  • & gt; print (-1)
  • & gt; ESAC;
  • & gt; print (flag);
  • true
  • Den nye `import`-erklæring gør det muligt at importere et eller flere biblioteker uden at sætte deres navne i citater, f.eks. "import calc, stats" svarer til "readlib ('calc', 'stats')".
  • Alternativet 'alias' til 'import'-erklæringen tildeler et eller flere korte navne til bibliotekets funktioner initialiseret, f.eks. "import calc alias xpdiff" svarer til "med ('calc', 'xpdiff')" og "import calc alias" svarer til "med ('calc')".
  • Den nye `..`-operatør gør det muligt at indeksere tabeller, selvom den venstre side operand evaluerer til` null`. I dette tilfælde returneres "null" og der udstedes ikke noget forsøg på at indeksere felt ... (en nullværdi). Det ligner `getentry'-funktionen, men er tre gange hurtigere. Eksempler:
  • & gt; opret bord a;
  • & gt; a.b:
  • null
  • & gt; a.b.c:
  • Fejl i stdin, på linje 1:
  • forsøg på at indeksere felt `b` (en nullværdi)
  • & gt; a..b..c:
  • null
  • & gt; opret bord a;
  • & gt; en [1]:
  • null
  • & gt; en [1] [2]:
  • Fejl i stdin, på linje 1:
  • forsøg på at indeksere felt `?` (en nullværdi)
  • & gt; a .. [1] .. [2]:
  • null
  • Den nye funktion `drem` vurderer resten af ​​en heltalsafdeling x / y, men i modsætning til 'irem' rundes det interne kvotient x / y til nærmeste heltals i stedet for mod nul.
  • Den nye funktion `skycrane.todate` returnerer den aktuelle dato og klokkeslæt som en formateret streng.
  • Den nye funktion `io.truncate` trunker en fil i den aktuelle filposition.
  • Den nye funktion `io.move` ændrer filpositionen et givet antal tegn til venstre eller højre.
  • Den nye funktion `io.filesize` returnerer størrelsen af ​​en fil.
  • `readlib` accepterer nu kun strenge som sine argumenter. Numre er ikke længere tilladte.
  • Hvis det sidste argument til "med" er det boolske "falske", skriver funktionen ikke tildelte korte navne til konsollen (stdout).
  • `strings.fields` accepterer nu også en sekvens af indeksnumre. Det accepterer dog ikke indekset `0` længere.
  • Installationen af ​​Raspberry Pi Wheezy Debian indeholder nu `gdi`-grafikpakken.
  • Filen `change.log` vises nu korrekt i Windows.

Hvad er nyt i version 2.0.0 RC3:

  • De nye sløjfevarianter `for / som` og` for / indtil` tjekker en tilstand i slutningen af ​​den aktuelle iteration og enten starter den næste iteration eller forlader sløjfen. Dette virker både for / til, såvel som for / i loops.

Hvad er nyt i version 2.0.0 RC2:

  • De nye loopvarianter `for / som` og` for / indtil` tjekker en tilstand i slutningen af ​​den aktuelle iteration og og enten starter den næste iteration eller forlader en loop. Dette virker både for / til, såvel som for / i loops.

Hvad er nyt i version 2.0.0 RC1:

  • Den nye `import`-erklæring gør det muligt at importere et eller flere biblioteker uden at sætte deres navne i citater, f.eks. "import calc, stats" svarer til "readlib ('calc', 'stats')".
  • Alternativet 'alias' til 'import'-erklæringen tildeler et eller flere korte navne til bibliotekets funktioner initialiseret, f.eks. "import calc alias xpdiff" svarer til "med ('calc', 'xpdiff')" og "import calc alias" svarer til "med ('calc')".
  • Den nye `..`-operatør gør det muligt at indeksere tabeller, selvom den venstre side operand evaluerer til` null`. I dette tilfælde returneres "null" og der udstedes ikke noget forsøg på at indeksere felt ... (en nullværdi). Det ligner funktionen `getentry` men er tre gange hurtigere.

Hvad er nyt i version 1.12.9:

  • De nye funktioner `io.getclip` og` io.putclip` udveksler tekster mellem Agena og udklipsholderen (kun Windows).
  • `stats.prange` er blevet omskrevet i C og er blevet op til 60% hurtigere.
  • `os.cpuinfo` returnerer nu korrekt og mere information om ARM-baserede systemer.
  • I DOS- og UNIX-systemer, herunder Mac OS X og kun i det komplekse domæne, returneres eksponeringen af ​​basen 0 til eksponenten 0 + r * I, med r en ikke-nul float, 'undefined` i stedet for 0. Dette er blevet rettet.
  • I DOS- og UNIX-systemer, herunder Mac OS X og kun i det komplekse domæne, returneres eksponeringen af ​​basen 0 til eksponenten r + 0 * I, med r en positiv float, 'undefined` i stedet for 0. Dette har blevet rettet.
  • `stats.obcount` og` stats.obpart` kunne ikke indeholde værdier i den højre delinterval. Dette er blevet rettet.
  • `calc.nakspline`,` calc.naksplinecoeffs`, `calc_clampedspline` og` calc_clampedsplinecoeffs` fremkaldte segmenteringsfejl, hvis kaldet med en struktur, der indeholdt for få punkter, dvs. par. Dette er blevet rettet ved at returnere "fail" i disse tilfælde.
  • Potentielle hukommelsesfordelingsfejl er blevet fjernet fra `calc.neville`,` calc.interp`, `calc.newtoncoeffs`,` calc.naksplinecoeffs`, `calc.clampedsplinecoeffs`,` calc.nakspline`, og `calc.clampedspline`.
  • Den nye C API-funktion `agn_checkinteger` kontrollerer, om et argument er et tal og et helt tal og - i modsætning til` luaL_checkinteger` - udsteder en fejl ellers.

Hvad er nyt i version 1.9.0:

  • Den nye `alternative 'funktion returnerer sit første argument, hvis det andet argument er' null '. Ellers returneres det andet argument.
  • -b-skifteren til Agena-eksekverbarheden er blevet fjernet, da dens output var den samme som -v-optionen.
  • Windows og UNIX / Mac versionerne af `strings.utf8size` indeholdt et potentielt hukommelseslækage; Dette er blevet ændret.
  • Alle binære DLL'er / SO'er i plusbiblioteker indeholder ikke længere ubrugt kode og slanker deres størrelser med op til 10 procent afhængigt af operativsystemet. Makefile og kilder, der tidligere importerede ubrugte headerfiler, er blevet ændret. For eksempel reducerer dette overhovedet størrelsen af ​​Windows-binærerne med 55 kBytes.
  • Udvidet testpakken.
  • Opdateret systemfilerne.

Hvad er nyt i version 1.6.0:

  • Nye funktioner og funktioner:
  • Den nye funktion `checktype` bestemmer om alle værdier i en struktur er af en given type.
  • Den nye funktion `isint` kontrollerer, om alle dens argumenter er heltal.
  • Den nye funktion `strings.dleven` returnerer afstanden mellem Damerau-Levenshtein og to strings.
  • Den nye funktion `stats.ad` bestemmer den absolutte afvigelse for alle værdierne i en struktur.
  • Den nye funktion `stats.countentries` tæller antallet af forekomster af alle elementerne i en struktur.
  • Den nye funktion `stats.deltalist` returnerer en struktur af deltagerne i de respektive nabostillingselementer.
  • Den nye funktion `stats.gmean` returnerer det geometriske gennemsnit af en struktur.
  • Den nye funktion `stats.hmean` returnerer det harmoniske middelværdi af en struktur.
  • Den nye funktion `stats.ios` returnerer en dokumenteret indikator for stabilitet i en distribution.
  • Den nye funktion `stats.iqr` returnerer interkvartilstanden.
  • Den nye funktion `stats.issorted` kontrollerer, om alle numre i en struktur er sorteret i stigende rækkefølge.
  • Den nye funktion `stats.moment` beregner tidspunktet for de givne data om en oprindelse.
  • Den nye funktion `stats.numbperm` returnerer antallet af permutationer.
  • Den nye funktion `stats.percentile` bestemmer percentiler.
  • Den nye funktion `stats.skewness` returnerer skævheden, en indikator for symmetrien for en sandsynlighedsfordeling.
  • Den nye funktion `statistics.sumdata` opsummerer alle strukturernes beføjelser om en oprindelse.
  • `stats.tovals` er nu en C-biblioteksfunktion og er dermed op til 40 procent hurtigere.
  • Med et tomt bord eller en sekvens, `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
  • `stats.var` returnerer nu mislykkes.
  • Den maksimale længde for en indtastningslinje i den frittstående tolk er ændret fra 512 til 2048 tegn.
  • Den nye miljøvariabel `environ.maxpathlength` gemmer det maksimale antal tegn for en filsti (undtagen C's tegn).
  • De nye miljøvariabler `environment.minnumber` og` environ.maxnumber` holder minimums- og maksimumsværdien et Agena-nummer (i øjeblikket en ANSI-C-dobbelt) kan gemme.
  • Den nye miljøvariabel `environ.umaxlong` omfatter den maksimale integrerede værdi af C-typen, der ikke er signeret langt på 32 + bitsystemer, og usigneret lang på 16bit-maskiner.
  • C API:
  • Agena C API'ens 100% kompatibilitet til Luas C API er genoprettet ved at introducere Luas * dumpfunktioner. Således er du nu i stand til at gemme funktioner i en binær repræsentation, f.eks. ved at bruge `strings.dump` eller lua_dump på C-niveauet.
  • Introducerede den nye funktion "agnL_optboolean" for at kontrollere eventuelle boolske argumenter og returnere dem i tilfælde af succes.
  • Fejlrettelser:
  • `environ.globals` stopper altid med en fejl, dette er blevet rettet.
  • "antager" returneres falsk med begge sine argumenter, der er eller vurderes til 'undefined'. Det returnerer nu sandt i dette tilfælde.
  • Agena styrtede, når man passerede et tomt bord og en delimiter til "join" - dette er blevet rettet.
  • Indstillingen `farve 'ignoreres ikke længere af` gdi.plot`.
  • Med tabeller returnerede `stats.minmax` en forkert værdi for minimum. Det fungerer nu korrekt.
  • Med et tomt bord returneres `stats.median` 0, nu vender det tilbage.
  • I modsætning til dokumentationen returneres 'strings.isending`' true 'med begge strenge lige. Dette er blevet rettet.
  • `run` returnerede` kunne ikke åbne filen ', hvis et eksisterende Agena-script indeholdt en syntaksfejl. Dette er blevet fastgjort ved fuldstændig omskrivning af funktionen.
  • Tilføjet Lua 5.1.4 patch 9: "Forkert kodegenerering til nogle bestemte [fx komplekse] boolske udtryk."
  • Tilføjet Lua 5.1.4 patch 11: "Parser kan samle en prototype, mens den opbygges."
  • * Info: Tilføjelse af Lua 5.1.4 patch 10, "[__write / __ new] index metamethod fungerer muligvis ikke, hvis metatable er dens egen metatable", til Agena er ikke nødvendigt, for Agena virker allerede korrekt i dette tilfælde.
  • Fjernet det ubrugte søgeord `standard`.
  • Noget hærdning af funktioner og funktioner.
  • Forbedringer:
  • Tilføjet en _experimental_ version af `io.anykey` til Mac-versionen. Men i hvert fald på Lion, er nøglen, der presses, sommetider ekko på skallen.
  • `utils.readcsv` kan nu eventuelt returnere alle værdier i en CSV-fil i en flad sekvens.
  • Pakken `ur 'understøtter nu divisionsoperatøren` / `ved at tilføje den til dens` tm` operatørs metatable.
  • Opførelsen af ​​`med` er blevet ændret, fordi den ikke kunne tildele korte navne til mange biblioteksfunktioner: Hvis funktioner er sat i .aux-tabellen, må du ikke tildele korte navne til disse funktionsnavne; ellers tildele korte navne til _all_ andre pakkefunktioner. Således: `package.register` for at registrere alle biblioteksfunktioner for` med` for at tildele korte navne, er ikke længere nødvendigt. Den bliver udskrevet i en af ​​følgende udgivelser.
  • Forbedret testpakken.
  • Manuel:
  • Forbedret manualen og indekset.
  • Konsistens:
  • For alle de følgende omdøbninger understøttes stadig de følgende gamle variabelnavne.
  • `environ.MinLong` er blevet omdøbt til` environ.minlong`.
  • `environ.MaxLong` er blevet omdøbt til` environ.maxlong`.
  • `environ.BufferSize` er blevet omdøbt til` environ.buffersize`.
  • `environ.PathSep` er blevet omdøbt til` environment.pathsep`.
  • `environ.More` har er omdøbt til` environment.more`.
  • `environ.WithProtected` er blevet omdøbt til` environ.withprotected`.
  • `environ.Os` er blevet omdøbt til` environ.os`.
  • `environ.Cpu` er blevet omdøbt til` environ.cpu`.
  • `environ.Release` er blevet omdøbt til` environment.release`.
  • `environ.GdiDefaultOptions` er blevet omdøbt til` environ.gdidefaultoptions`.
  • I Windows returnerer "os.login" og "os.computername" nu "fail" som UNIX eller OS / 2 versionerne gør.
  • Switchen `-DCOMPAT13` er blevet fjernet for at kompilere en Agena 1.3.x-kompatibel version.
  • Andet:
  • Uddateret `calc.fseq` er blevet slettet. Brug venligst `nseq` i stedet.

Hvad er nyt i version 1.5.1:

  • Patched `strings.fields`, som slet ikke fungerede. Det er også blevet konverteret til en C-biblioteksfunktion og dermed 2,6 gange hurtigere.
  • `strings.words` accepterer nu et tredje argument, hvis de er sat til` true`, ignoreres efterfølgende afgrænsere.
  • Fjernet en mulig sikkerhedslækage fra `io.write` og` io.writeline` og forbedrede sine fejlmeddelelser.
  • Patched `binio.readchar` for at undgå problemer med filer med størrelse større end 2 GBytes.
  • Korrigeret fejlmeddelelser af funktioner `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
  • Terabytes kan nu indtastes med notationen T, hvor er et helt tal, og T er tegnet `T`. Ligeledes g betegner milliarder og t trillioner. Se side 48 i manualen for yderligere information.
  • Opdateret manualen.
  • For det meste er alle bagudkompatibilitetsafbrydere i C-kildekoden blevet fjernet for kodens rensningsårsager. Dette påvirker kun dem, der forsøger at omkompilere Agena 1,5 eller højere med fuld bagudkompatibilitet til Agena 1.3 og 1.4, og med de fleste bagudkompatibilitet til Lua 5.0 (undtagen gamle Lua 5.0-bibliotekshåndtering).

Hvad er nyt i version 1.5.0:

  • `map` kan nu også behandle strenge givet som andet argument. Den respektive funktion og dens argumenter anvendes konsekvent på hvert tegn fra venstre mod højre, og resultatet returneres i en sekvens.
  • `run`: Hvis du vil indlæse og udføre kode fra filer med et 'agn'-suffiks, behøver du ikke længere at angive suffikset i argumentet. Så `run 'test'' og` run' test.agn'` er nu ens.
  • Søgeordet er nu obligatorisk at definere procedurer. (Med GCC skal du bruge -DCOMPAT14-kontakten til at kompilere en version af Agena, hvor 'er'-søgeordet stadig er valgfrit.)
  • Erklæringen `try` er blevet afskediget og understøttes ikke længere. (Med GCC skal du bruge -DCOMPAT14-knappen til at kompilere en version af Agena, som stadig indeholder denne erklæring.)
  • Følgende `utils'-funktioner er blevet fjernet:` arraysize`, `getarray`,` getwholearray`, `newarray`,` searcharray`, `setarray`. For bagudkompatibilitet er de blevet tilføjet til lib / comp.agn filen. (Med GCC skal du bruge -DCOMPAT14-knappen til at kompilere en version af Agena, der stadig supporterer de originale utils-funktioner.)
  • `utils.singlesubs` er blevet fuldstændigt omskrevet. Det forventer nu en sekvens af tal som det andet argument i stedet for den tidligere stringsray userdata struktur. Det er 35% langsommere end den tidligere version, men fjernelse af stringray-strukturen var vigtigere.
  • `strings.include` styrtede hvis kaldet med 0 som det andet argument. Dette er blevet rettet.
  • Anvendt Michael G. Schwerns 10. maj 2011 patch til hans `32-bit-År 2038-Fix`-dato hjælpefunktioner brugt af` os `og` xbase`-pakkerne (`Gør mktime64 () rette indgående tm struct som ISO C kræver. «)
  • Optimering af intern kode: nogle biblioteksinitialiseringer og filindlæsning C-funktioner brugte stakken til at opbygge sti og filnavn strenge. Den nye C aux funktion `concat` skrevet af Solar Designer bruges i stedet i mange tilfælde.
  • Agena C API er nu 100% kompatibel med Lua C API for at lette porte C Lua pakker til Agena.
  • Følgende funktioner er således omdøbt: 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 er blevet omdøbt: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
  • I modsætning til den tidligere Agena-implementering returnerer lua_tonumber nu 0 som i Lua, hvis et ikke-nummer er bestået, i stedet for at returnere HUGE_VAL.
  • lua_setglobal2 er blevet fjernet. Brug i stedet lua_pushvalue og lua_setglobal.

Hvad er nyt i version 1.4.2:

  • Hvis der i parameterens liste over en procedure er angivet brugerdefinerede typer, skal du i
  • procedureopkald ingen fejl blev udstedt, og proceduren er blevet udført i stedet i følgende tilfælde:
  • a) en tabel, sæt, sekvens, par eller procedure - uden at være brugerdefineret
  • type - er blevet bestået,
  • b) Der er slet ingen værdi for den pågældende parameter.

Hvad er nyt i version 1.4.1:

  • Kortnavne for `stats.quartiles` og` stats.mode` kunne ikke tildeles af funktionen `med`. Dette er blevet rettet.
  • Fejlagtigt kunne "med" ikke tildele et kort navn til "gdi.settriangle". Dette er blevet ændret.
  • Fejlhåndtering af `calc.polygen` er blevet forbedret.
  • Forbedret fejlmeddelelse om `fractals.draw` for manglende FRACTINT-kortfiler.
  • Fjernet udgået `strings.rseek` funktion. Til backward kompatibilitet er `strings.seek` blevet tilføjet til lib / comp.agn filen.
  • Tilføjet -d-knappen for at udskrive debugging-information under tolkens start.
  • Windows-versionen af ​​Agena er nu blevet udarbejdet med GCC 4.5.2.
  • Opdaterede sprogskema filer.
  • Manualen er blevet opdateret.

Hvad er nyt i version 1.4.0:

  • Semantiske ændringer:
  • Loop kontrolvariabler af numeriske `for / til'-loops er nu automatisk lokale til deres omgivende blokke i stedet for deres (indre) looplegemer. Hvis en lokal variabel med samme navn som loop kontrol variabel er blevet erklæret og tildelt før
  • udfører en numerisk loop, overskrives den med den sidste iterationsværdi af sløjfen. Som sådan er den `eksterne 'switch i numeriske` for'-loops' ikke længere accepteret. (Med GCC skal du bruge -DCOMPAT13-knappen til at kompilere en version af Agena, der stadig genkender men ignorerer det 'eksterne' søgeord.)
  • Med konstant `fail`,` ikke` returneres `true`, men med` fail` tildelt en variabel returneres `ikke` forkert. Dette er blevet ændret, dvs. 'a: = fail; ikke (a) 'returnerer nu `true'.
  • `stats.median` returnerer nu` fail` i stedet for 0, hvis den givne struktur er tom.
  • `utils.readcsv`: Hvis et enkelt hvidt rum er bestået med 'delim'-indstillingen, og hvis indstillingen` ignorespaces' ikke er blevet givet, fjernes ikke længere tomme mellemrum længere, før der splittes hver linje af filen i dets ord.
  • Funktionen har også to nye muligheder: `header` som markerer første linie i en fil og` output`, som gør det muligt at gemme indholdet af filen i en ordbog med dens feltnavne defineret af filoverskriften.
  • Notationen `$` substring understøttes ikke længere. (Med GCC bruger du-DCOMPAT13-knappen til at kompilere en version af Agena, der stadig supporterer `$` operatøren.)
  • Udvidelser:
  • Uendelige sløjfer er blevet tilføjet. Denne form for sløjfe gentages uendeligt og kan kun afbrydes med "break" eller "return" udsagnene. De er syntaktiske sukker til »mens sandt gør ... od« sløjfer.
  • Med tabeller har `stats.minmax` tidligere kun arbejdet med arrays. Dette er blevet ændret, dvs. værdier med tilsvarende ikke-positive taster (fx strenge, ikke-positive heltal, negative og positive flyder osv.) Er nu korrekt genkendt i evalueringen.
  • `stats.mean`,` stats.qmean`, `stats.sd` og` stats.var` behandler nu også sekvenser.
  • Den nye funktion "state.mode" returnerer alle værdier i en sekvens eller tabel med det største antal forekomster, dvs. højeste frekvens.
  • Den nye funktion `quartiles` returnerer det første, andet og tredje kvartil i et _sorted_-bord eller en sekvens.
  • Tidligere ikke-dokumenterede egenskaber af `linalg.matrix` er blevet tilføjet til manualen, og dens fejlhåndtering er blevet forbedret.
  • Forbedret fejlhåndtering af `linalg.hilbert`.
  • `gdi.setinfo` accepterer nu 'kvadrat'-indstillingen. Hvis `square = false ', så vil x- og y-akserne ikke have samme skala på tegninger lavet med` gdi.plot`.
  • Funktionen `gdi.plot` til tegning af grafik er desværre ikke dokumenteret. Dette er blevet ændret.
  • `gdi.plot` accepterer to nye muligheder: 'x'-indstillingen angiver det vandrette område, over hvilket et plot vises, og' y'-indstillingen angiver det lodrette område.
  • Hvis en PLOT-struktur overføres til `gdi.plot`, der kun indeholder POINTs, LINESs, RECTANGLES, TRIANGLEs, CIRCLEs og ELLIPSEs (inklusive deres * FILLED-varianter), bestemmer` gdi.plot` automatisk skalaerne (` gdi.setinfo` behøver ikke nødvendigvis at blive kaldt).
  • OOP funktionerne arvet fra Lua er nu dokumenteret i Appendiks A9. Forfatteren anbefaler ikke objektorienteret programmering.
  • Tuning:
  • Afstemt "fyldt" operatør med omkring 3%.
  • Tweaked `i`,` join`, `sadd`,` qsadd` ,` replace`, `copy`,` unique` og Cantor sætte operatører på tabeller og sætter en smule.
  • Med tabeller er operatørerne "top" og "bottom" omkring 5% hurtigere nu.
  • Operatøren `size` er mindst 8% hurtigere, hvis en tabel ikke indeholder nuller.
  • `linalg.mzip`,` linalg.mmul` og `linalg.transpose` er blevet indstillet med ca. 3% hver.
  • Numeriske for / til loops med fraktionelle trinstørrelser er optimeret ved at reducere antallet af deres kontrolvariabler med halvdelen. Dette opnåede imidlertid ingen stigning i hastigheden.
  • Patches:
  • Patched `linalg.ludecomp` for at detektere singulære matricer. Funktionen kan også automatisk bestemme rækkefølgen af ​​den givne matrix.
  • I modsætning til manualen fastslog "gdi.plot" ikke automatisk vandrette og lodrette intervaller. Dette er blevet rettet.
  • `gdi.plot` ignorerer ikke længere den` firkant`-indstilling sat af `gdi.setinfo`.
  • `gdi.setinfo` tilføjede indstillinger til INFO strukturer, selvom de allerede har været til stede. Dette er blevet ændret.
  • Cirkler blev ikke plottet korrekt af `gdi.plot`. Dette er blevet ændret.
  • Funktionen `gdi.plot` ignorerede i de fleste tilfælde den individuelle farve af geometriske objekter. Dette er blevet ændret.
  • Gdi-pakken tildelte ikke korte navne til `gdi.settriangle`,` gdi.settrianglefilled`, `gdi.setrectangle` og` gdi.setrectanglefilled`. Dette er blevet ændret.
  • Fraktalpakken tildelte ikke korte navne til funktioner af brugerdefineret type 'esctime'. Dette er blevet ændret. Korrigeret fejlmeddelelse af `fractals.draw`, hvis positionsargumenter ikke var tal.
  • Diverse:
  • Funktionen af ​​`calc.fseq` er blevet fusioneret til` nseq`. For backward kompatibilitet er `calc.fseq` stadig en del af calc-pakken, men funktionen henviser faktisk til` nseq` implementeringen.
  • Tilføjet varianten `environ.FractScreenUpdates` til` fractals-pakken` for at angive antallet af vertikale linjer (et ikke-negativt heltal), hvorefter en fraktal vil blive opdateret i et vindue. Varianten `environ.FractOptimised` er blevet udskrevet.
  • Hjælpegodfunktioner er blevet omgrupperet.

Hvad er nyt i version 1.3.3:

  • Patches til `instr`:
  • I regex-tilstand returnerede operatøren et forkert resultat, hvis en startposition er blevet givet.
  • Når du er i almindelig søgningstilstand, returnerede operatøren en fejl uden for rækkevidde, hvis der ikke er givet startposition.
  • Undtagen i omvendt søgemåde, hvis der ikke er fundet nogen kamp, ​​er det første argument returneret i stedet for `null`.
  • Korrigeret fejlmeddelelse af `create`-sætningen med hensyn til sekvenser.
  • I AgenaEdit udskrives strukturer ikke i fuld form, når den første struktur udviser en __tostring metamethod, når der udskrives mere end en struktur med kun ét opkald til `print '. Dette er blevet ændret.

Hvad er nyt i version 1.3.2:

  • Denne udgave indeholder fejlrettelser, udvidelser og en forbedret manual:
  • `dimension 'har skabt interessante resultater, hvis en struktur er blevet godkendt som
  • initialiser. Dette er blevet ændret: `dimension` skaber nu uafhængige kopier af
  • struktur, når du initialiserer tabellen.
  • Funktionen af ​​`strings.rseek` er blevet tilføjet til 'instr` operatøren.
  • Således er 'strings.rseek` blevet udskrevet. Til kompatibilitet bagud,
  • `strings.rseek` er blevet tilføjet lib / comp.agn filen.
  • `strings.hits` støtter nu regulære udtryk og fanger. Denne adfærd
  • kan slås fra ved at sende en boolsk som tredje argument.
  • `strings.isabbrev` og` strings.isending` bruger nu automatisk en almindelig søgning
  • Hvis der ikke er sendt ordinære udtryk eller fanger som en del af det andet
  • argument.
  • Tweaked `strings.ismagic` og` strings.isfloat`.
  • Log-funktionen er nu 13% hurtigere.
  • Når der udskrives mere end en struktur med kun ét opkald til `print`,
  • Konstruktionerne blev ikke trykt i fuld form, hvis den første struktur fremhævede en __tostring
  • metamethod. Dette er blevet ændret.
  • Tilføjede kategoriseringer af funktioner til kapitel 7 for at lette starten for nye
  • brugere.

Hvad er nyt i version 1.3.1:

  • Der har været problemer med indlejrede opkald til følgende binære operatører: `xor`,` atendof`, `& amp;`, `||`, `^^`, `::` og`: - `og dermed også med den smukke printer, der afslutter med en fejl ved udskrivning af indlejrede strukturer. Dette er blevet rettet.
  • Fire rettelser til `os.list`: Hvis 'r'-indstillingen er blevet bestået, er den aktuelle arbejdsfortegnelse fejlagtigt ændret efter afslutningen af ​​opkaldet.
  • Hvis 'r' ikke er bestået som sidste argument, udstedte funktionen en fejl.
  • "null" er ikke accepteret som det første argument til at angive den aktuelle arbejdsmappe.
  • I Windows 7 fungerede udskrivning af indholdet i rodmappen ikke, dvs. os.list ('c:') returnerede indholdet af den aktuelle arbejdsmappe.
  • Når en streng blev indekseret med et ikke-nummer, f.eks. "str [null]", Agena returnerede "null". Nu opstår en fejl.
  • Hvis biblioteket.agn ikke er fundet, er den forkerte sti blevet udgivet to gange i advarslen. Dette er blevet ændret.

Hvad er nyt i version 1.2:

  • Substringsoperatøren er blevet redesignet, men den gamle version vil stadig være tilgængelig indtil Agena 2.0: den nye er: `str [venstre til højre]`, den gamle er: `str $ (venstre, højre)` . Et eksempel: før: `str: = 'streng'; print (str $ (2, 3)) `- & gt; 'tr' nu: `str: = 'streng'; print (str [2 til 3]) `- & gt; 'Tr'
  • Du kan nu bestemme underlister over tabelarrayer og sekvenser med den ovennævnte nye syntaks: `s [venstre til højre]`. Et eksempel: nu: `a: = [10, 20, 30, 40]; print (a [2 til 3]) `- & gt; [20, 30] nu: `a: = seq (10, 20, 30, 40); print (a [2 til 3]) `- & gt; seq (20, 30)
  • Funktionen `ops` giver nu mulighed for at angive de værdier, der skal returneres, ved at sende en sekvens af deres indekspositioner som dets første argument, f.eks. ops (seq (1, -1), 10, 20,
  • 30).
  • Den nye funktion `strings.include` indsætter en tegnsekvens i en streng
  • på en given position.
  • Følgende funktioner udsteder nu en fejl i stedet for at bare returnere `fail 'i
  • tilfælde af en fejl: `os.remove`,` os.move`, `os.mkdir`,` os.rmdir`, `os.chdir`.
  • Forbedringer til følgende operatører, der arbejder med sæt og sekvenser vedrørende affaldssamling: `insert` erklæring 'union`,` krydsning`, `minus`,` unik`, `kopi`,` pop / top` og `pop / bottom`-sætninger, og angiv opgaver.
  • Forbedret fejlmeddelelse om `fractals.draw`, hvis FRACTINT-farvekortfilen ikke har
  • ikke fundet.

Hvad er nyt i version 1.1.0:

  • Denne version indeholder ny funktionalitet og et renset navneområde.
  • Kompatibilitet med Agena 1.0:
  • Nogle funktioner er blevet fjernet fra Agena, og nogle er blevet konverteret til pakkefunktioner (se nedenfor). Hvis du stadig vil bruge dem, skal du udstede readlib 'comp' på kommandolinjen eller sætte ovenstående sætning i din initialiseringsfil, hvis du foretrækker backward kompatibilitet med Agena 1.0.
  • Udvidet funktionalitet:
  • Funktionerne "pop / top" og "pop / bottom" og "bottom" og "top" kan nu også anvendes på tabelarrayer.
  • Når der kaldes 'null' eller ingen argumenter, udsender `os.chdir` ikke længere en fejl, men returnerer den aktuelle arbejdsmappe. Således er den tidligere `os.curdir` C-funktion blevet erstattet af en skrevet på Agenas sprog.
  • `os.list` gennemgår nu rekursivt undermapper, hvis den nye 'r' -indstilling gives.
  • Operatøren "join" accepterer nu også en valgfri delimitor og understøtter muligheden for at angive det første og sidste element i strukturen, der skal sammenkædes.
  • `instr` kan nu søge fra den højre ende af en streng ved at sende en negativ position.
  • Hvis en tabel indeholder andre tabeller, sæt, sekvenser eller par, kan `kopi` nu ved, hvordan man håndterer disse referencer ordentligt, hvis de forekommer flere gange: Hvis en indlejret struktur er inkluderet n gange, laves der en rigtig kopi og n-1 referencer til denne nyoprettede struktur indsættes. Før er der foretaget n uafhængige kopier.
  • Den nye funktion "isnonposint" kontrollerer, om de givne tal er alle heltal og ikke-positive.
  • `io.close` kan nu lukke flere filer med kun ét opkald.
  • Funktionen `med` har ikke tildelt korte navne til følgende procedurer i` math`-pakken: `convertbase`,` fraction`, `zeroin`,` todecimal`, `lcm`,` gcd` og ` ndigits`. Dette er blevet rettet.
  • Funktionen `rwritemode` nævnt i håndbogen eksisterede ikke. Den er nu tilgængelig men kaldes `rmode`.
  • Fejlmeddelelser fra forskellige funktioner er blevet forbedret.
  • Rensning af navneområde: Omdøbte eller flyttede funktioner:
  • Funktionerne "register" og "loadclib" basebiblioteket er blevet flyttet til biblioteket `package`.
  • Den tidligere `rdelete`,` rget`, `rinit`,` roinit`, `rmode` ,`rset`,` remember` og 'default'-basebiblioteksfunktionerne er flyttet til den nye `rtable`-pakke .
  • Omdøbt den globale _Env-tabel til `environ`, som nu også indeholder procedurer for adgang til miljøet.
  • De tidligere globale "homedir" og "infolevel" miljøvariabler er omdøbt til henholdsvis `environ.homedir` og` environ.infolevel`.
  • Følgende tidligere basebiblioteksfunktioner er flyttet til `environ`-pakken:` anames`, `attrib`,` gc`, `getfenv`,` globals`, `isselfref`,` pointer`, `setfenv` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.
  • `mapm.xtoNumber` er blevet omdøbt til` mapm.xtonumber`, `mapm.xtoString` er blevet omdøbt til` mapm.xtostring`. For bagudkompatibilitet kan de gamle funktionsnavne stadig bruges ved at udføre lib / comp.agn filen (først readlib 'mapm` pakken og derefter indlæse kompat.agn filen).
  • Uddaterede funktioner og variabler:
  • `strings.seek` er blevet udskrevet. Dens funktionalitet er blevet tilføjet til `instr` operatøren. For at slukke for `instr`s mønster matching mode, passere starten af ​​søgningen som den tredje og` sande` som fjerde argument. `instr` er omkring 40% hurtigere i ikke-mønster matchende tilstand end` strings.seek`. Til backward kompatibilitet er `strings.seek` blevet tilføjet til lib / comp.agn filen.
  • Funktionen "concat" basebibliotek er blevet fjernet. Brug "join" i stedet. For bagudkompatibilitet er den tidligere funktion tilføjet til lib / comp.agn filen.
  • Funktionerne "hasrtable" og "hasrotable" er blevet fjernet. Til kompatibilitet bagud er de blevet tilføjet til lib / comp.agn filen.
  • Funktionen `pcall` er blevet udskrevet. Brug "beskytt" i stedet. For kompatibilitet bagud er funktionen blevet tilføjet til lib / comp.agn filen.
  • Funktionen `maptoset` er blevet udskrevet. For kompatibilitet bagud er funktionen blevet tilføjet til lib / comp.agn filen.
  • Funktionen `os.alldirs` er blevet udskrevet. Brug 'dirs' og 'r' mulighederne i et opkald til `os.list` i stedet. For kompatibilitet bagud er funktionen blevet tilføjet til lib / comp.agn filen.
  • `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` er blevet afskediget. Brug venligst de nye miljøvariabler environ.Os og environ.Cpu i stedet, hvilket også øger koden. For kompatibilitet bagud er funktionerne blevet tilføjet til lib / comp.agn filen.
  • Den ikke-dokumenterede _VERSION-variabel er blevet fjernet. For bagudkompatibilitet er dens opgave tilføjet til lib / comp.agn filen.
  • Andre ændringer:
  • C API-funktionen lua_rawsetstringnummer, der er nævnt i manualen, eksisterede ikke. Dette er blevet ændret.
  • Kodoptimeringer til parseren.
  • I nogle af pakkerne er der ved et uheld blevet erklæret en række variabler implicit globalt. Dette er blevet rettet.
  • Korrigerede og opdaterede initialiseringsprøvefiler.
  • AgenaEdit er blevet opdateret.
  • Sprogskemafilerne er blevet opdateret.
  • Linux-installatørerne indeholder nu xBase-pakken.

Hvad er nyt i version 1.0.6:

  • Forbedrede fejlmeddelelser af `join`,` copy` og `filled` operatører,` toset`, `toseq` og` totable`-funktionerne af `insert`,` delete`, `pop`-udsagnene, og af `for` sløjfer.
  • Med sekvenser styrtede Agena i følgende sekvens af begivenheder: 1) en `delete`-erklæring var blevet udført, 2) sekvensen efterfølgende var tom, og 3) et nyt element var blevet indsat igen. Dette er blevet rettet. (Internt reducerer sætningen 'delete` ikke længere internt størrelsen af ​​sekvenser længere.)
  • Med store strenge styrtede `concat`. Dette er blevet rettet.
  • Med strenge på 512 og flere byte kan `join` og` replace` kollapse. Dette er blevet rettet. De to operatører er nu også meget hurtigere end nogensinde før.
  • `math.isprime` returnerede forkerte resultater med argumenter & gt; 2 ^ 31 (nævnt vagt i manualen). Dette er blevet rettet ved at udvide argumentområdet til heltal med værdier op til +/- 2 ^ 63.
  • `math.nextprime` og` math.prevprime` havde det samme problem med større argumenter som `math.isprime`. Dette er også blevet ændret. Med argument 2 returnerede "io.nextprime" falsk 5 i stedet for 3. Det er også blevet løst.

Hvad er nyt i version 1.0.5:

  • "join" kan ødelægge Agena og opfører sig ellers uventet, hvis den resulterende streng
  • oversteg 512 bytes. Dette er blevet ændret.
  • Hvis "genstart" er blevet kaldt efter en fejl er udstedt i det foregående
  • erklæring, Agena i sjældne tilfælde styrtede på grund af stackkorruption. Dette har været
  • fast.
  • Med nyoprettede tabeller indeholdende nøjagtigt et element i hashdelen, 'attrib`
  • Returnerer nu korrekte resultater for antallet af tildelte hash-slots (1 i stedet for 0).
  • Korrigeret fejlmeddelelser af `qsadd` og` sadd`.
  • Forbedrede fejlmeddelelser af `join`,` copy` og `filled` operatører, og af` insert`
  • og "delete" sætninger.
  • Fejlhåndtering af `read`,` save` og `fractals.draw` er blevet forbedret.
  • Forbedringer til makefiles.
  • Bufferstørrelser er nu standardiseret i kilderne.

Hvad er nyt i version 1.0.4:

  • Siden der er rapporteret sjældne sammenbrud under initialiseringen (i Windows XP SP 3 og OpenSolaris 134 under visse omstændigheder) er affaldssamlingen nu slukket i initialiseringsfasen. Disse sjældne segmenteringsfejl opstod i OpenSolaris, når du kører Agena-binæret i sin harboring-mappe som root, og i XP, når du klikker på Agena-skrivebordets ikon med lokale administratorrettigheder.
  • Introducerede -d skifter til kommandolinjevalg for at udskrive oplysninger under initialisering af Agena.
  • Introduceret korrekt fejlhåndtering, hvis hukommelsen ikke kunne tildeles internt til: `trim`,` upper`, `lower`,` os.curdir` og `strings.rseek`.
  • Fjernet potentielle hukommelseslækager i initialiseringen C funktioner agenaL_initialise and agenaL_setLibname, og i `io.write *` og `print`.

Hvad er nyt i version 1.0.3:

  • Den nye funktion `protect` kalder en procedure i beskyttet tilstand og fanger en mulig fejl, så computeren ikke afbrydes. I tilfælde af en fejl angiver den fejlstrengen til den globale variabel `lasterror`. Det er relateret til `pcall`, men returnerer ikke statuskoden som det første resultat.
  • `attrib` returnerer nu korrekte resultater med tomme strukturer. Med tomme strukturer tællede funktionen forkert et tildelt hash-element før.
  • `attrib` returnerer nu antallet af bytes besat af tabeller, sæt og sekvenser sammen med den nye 'bytes'-nøgle. Antallet af bytes returneret er baseret på nogle gange modstridende oplysninger tilgængelige på nettet.
  • `erstatte` styrtede Agena, hvis den resulterende streng oversteg 512 bytes. Dette er blevet ændret.
  • "antage" returnerer nu 'Assumption failed.' i stedet for 'antagelse mislykkedes.'
  • Den nye C API-funktion lua_setglobal2 sætter værdien øverst i stakken til et globalt navn. I modsætning til lua_setglobal er værdien ikke poppet.
  • Kode rengøring af lobject.h (tabel struktur) og lapi.c (actnodesize makro). Bugfix til C API funktion agn_deletertable, hvis Agena er kompileret med ikke-ugyldige lua_assert. Skift til returværdien af ​​savestatfunktionen, der bruges under initialisering for at forhindre (lille) mulighed for stakkorruption.

Hvad er nyt i version 1.0.2:

  • Den nye `os.setenv`-procedure indstiller miljøvariabler på operativsystemniveau. Funktionen er oprindeligt skrevet af Mark Edgar.
  • I Windows kalder `os.getenv` en indbygget Windows API-funktion for at få værdierne for miljøvariabler. Windows-koden er skrevet af Mark Edgar.
  • Den nye `os.environ`-funktion returnerer alle tildelte miljøvariabler i en tabel. Funktionen er oprindeligt skrevet af Mark Edgar.
  • `io.open` tilføjer nu FILE-pegeren, navnet og tilstanden for en vellykket åbnet fil i den nye tabel` io.openfiles`. `io.close` sletter indgangen fra` io.openfiles`, hvis filen kunne lukkes korrekt.
  • Når der kaldes uden argumenter, returnerer "io.read" nu en fejl, hvis den kaldes uden argumenter i AgenaEdit (i et forsøg på at læse tastaturet).
  • Hvis 'io.anykey` og `io.getkey` hedder AgenaEdit, vises en ordentlig fejlmeddelelse.
  • En af initialiseringsprocedurerne er blevet ændret for at undgå mulig stakkorruption (selvom problemer aldrig opstod).
  • os.isMac ('ppc') arbejder nu på PowerPC-maskiner.
  • Kapitel 4 og 6 i Primer og Reference er blevet revideret og udvidet. Et indeks er blevet tilføjet, og også mange kosmetiske midler er gjort.
  • Gemt korrekt versionsinformation til Windows-eksekverbar.

Hvad er nyt i version 1.0:

  • Kære damer og herrer,
  • Efter næsten fire års udvikling offentliggjorde jeg Agena 1.0, et proceduremæssigt programmeringssprog, der stammer fra Lua C-kilder.
  • Mit fællesskab er faktisk meget, meget lille, men nogle brugere fortalte mig, at det var fint, nyttigt og stabilt.
  • Jeg ville være meget glad, hvis du gennemgik Agena og informerede mig om dine resultater. Hvis du ikke finder det nyttigt, så fortæl mig personligt og giv mig en chance for at løse problemerne.

Hvad er nyt i version 0.34.1d:

  • Denne version indeholder en opdateret GUI-version af AgenaEdit (se eksekverbar fil agenaedit).

Hvad er nyt i version 0.34.1:

  • AgenaEdit med syntax-fremhævning og indbygget runtime-motor er blevet frigivet med Agena 0.34.1.

Hvad er nyt i version 0.34.0:

  • AgenaEdit med syntax-fremhævning og indbygget runtime-motor er blevet frigivet med Agena 0.34.0.

Hvad er nyt i version 0.33.2:

  • Agena 0.33.2 med xBase-filsupport er blevet frigivet.

Hvad er nyt i version 0.33.1:

  • Agena 0.33.1 med xBase-filsupport er blevet frigivet.

Hvad er nyt i version 0.33.0:

  • Den nye `xbase`-pakke kan læse og skrive xBase-filer, der er kompatible med dBASE III-standarden.
  • Pakkerne "binio" og "ads" kan nu håndtere filer på op til 2 ^ 63 bytes. Før de kun kunne håndtere filer med størrelser på op til 2 ^ 31 bytes.
  • Den nye `io.lock`,` io.unlock`, `binio.lock`,` binio.unlock`, `ads.lock` og` ads.unlock`-funktionerne lås en fil fra læs og skriveadgang af andre Agena
  • funktioner eller endog andre programmer, hvis sidstnævnte bruger en låseprotokol.
  • Baselib funktionen "read" kan ikke overskrives af `med`.
  • Den nye `package.checkClib` kontrollerer, om en pakke, der er gemt på et C-dynamisk bibliotek, er blevet initialiseret. Hvis ikke, returnerer den en advarsel udskrivet på skærmen og opretter et tomt pakkebord. Ellers gør det ingenting.
  • Haiku-porten understøtter nu dynamiske linkbiblioteker.

Hvad er nyt i version 0.32.3:

  • Agena 0.32.3 med nye og afstemte Calculus-funktioner er blevet frigivet.
  • Mac-brugere behøver ikke længere at installere yderligere afhængighedsbiblioteker.
  • En Haiku-port er nu tilgængelig.

Hvad er nyt i version 0.31.5:

  • Denne version indeholder indbygget grafik, vilkårlig præcisionsmatematik og forbedrede funktioner.

Hvad er nyt i version 0.31.3:

  • Tilføjet fraktalpakken til nemt at tegne fraktaler i Solaris, Mac, Linux og Windows.
  • På Solaris og Linux returnerer "gdi.mouse" nu standardværdier for trykte museknapper (det samme som Mac- og Windows-udgaverne).
  • Når Agena gives den -v-mulighed, udfører den ikke længere initialiseringsfilerne.
  • På UNIX eller Mac skal filnavnene på initialiseringsfilerne altid være `.agenainit`, uanset om de er i / usr / agena / lib eller den personlige mappe.
  • Den binære Mac-distribution for Intel-CPU'er kører omkring 30% hurtigere end tidligere udgivelser.
  • Funktionen `io.getkey` er nu tilgængelig i Mac OS X-udgaven.
  • På Mac returnerer os.system nu fuldstændige oplysninger om operativsystemet og CPU-typen. Bemærk, at den returnerer oplysninger om Darwin-kernen, og at den første post i den resulterende tabel nu er `Darwin` i stedet for` MacOSX`.
  • `os.memstate`,` os.freemem` og `os.beep` understøtter nu Mac OS X.
  • `io.anykey` er tilgængelig på alle platforme, men returnerer` fail 'på DOS og Mac. Således vil "gdi.draw" ikke kaste fejl længere på Mac, når du bruger 'mouse`-indstillingen.
  • `os.listcore` er blevet udvidet til kun at returnere fil, mappe eller linknavne. '' og '..' bliver nu aldrig returneret.
  • `os.list` anerkendte ikke nogen muligheder og returnerede en tom liste i stedet. Dette er blevet rettet. Også mulighederne kan nu kombineres. '' og '..' som det første argument er nu korrekt genkendt.
  • `os.curdir` erstatter nu automatisk tilbagekoblinger i stien bestemt med skråstreger.
  • `os.fstat` og` ads.attrib` styrtede Agena, hvis datoen for en fil overskrides tirsdag den 19. januar 2038. Dette er blevet fastsat ved enten at returnere et tomt tabel til datatasten (os.fstat), eller 0/0/01 00:00:00, (ads.attrib).
  • `utils.calendar` styrtede Agena, hvis dets argument var ugyldigt, negativt eller for stort. Dette er blevet ændret. Hvis en dato er udover tirsdag den 19. januar 2038, returneres den korrekte dato også.
  • De nye funktioner `os.screensize` og` os.mousebuttons` returnerer den aktuelle skærmopløsning og antallet af knapper på den vedhæftede mus henholdsvis (kun Windows).
  • Filen agena.ini.sample er blevet omdøbt til .agenainit.sample i UNIX / Mac-distributionerne.
  • En ny makefile til Solaris sendes nu med mapm Agena bindende for at kompilere de originale MAPM kilder skrevet af Michael C. Ring fuldt ud.

Hvad er nyt i version 0.31.2:

  • Mapm pakken til arbitrage matematik præcision er nu også tilgængelig i DOS udgave af Agena.
  • Antallet af cifre, der bruges af mappakken, initialiseres til 17 cifre ved opstart af Agena for DOS eller OS / 2 Warp. Før var standard 1 cifret.
  • C-koden for MAPM-bindingen er blevet standardiseret. Først skete DOS- og OS / 2-kildefilerne fra den til UNIX og Windows.
  • Små forbedringer til installationsprogrammerne til Windows og Mac OS X.
  • På Mac er dokumentationen nu tilgængelig i Bibliotek / Dokumentation / Agena i stedet for / Brugere / Del / Agena.
  • Synd-, cos-, arcsin-, arccos- og arctanfunktionerne returneres -0 i stedet for 0 som den imaginære enhed, hvilket førte til forkerte resultater, hvis returneringen af ​​disse funktioner var blevet anvendt til andre funktioner som ln (dvs. tegnet af den imaginære enhed af resultatet af disse andre funktioner var ukorrekt). Dette er blevet løst ved at indstille den imaginære enhed -0 til 0 i returnering af sin, cos, arcsin, arccos og arctan.
  • Arcsin- og arccosfunktionerne returnerede forkerte resultater for argumenter z, hvis abs (real ((z))) & lt; 1. Dette er blevet rettet.
  • I OS / 2 returneres de fleste komplekse aritmetiske funktioner udefineret. Dette er blevet rettet.
  • Bemærk, at der i OS / 2 og DOS i det komplekse domæne stadig er problemer med arccos- og arcsin-operatørerne, der returnerer udefineret i visse situationer.
  • Windows, i386 Solaris 10 og Linux versioner er nu samlet sammen med GCC 4.4.x (og uden xmath86.h), hvilket reducerede antallet af fejl i komplekse aritmetik betydeligt. Faktisk returnerer udførlige komplekse matematiske test-tilfælde nulfejl. Sparc-versionen er lavet sammen med GCC 4.3.3 for Sun Sparc og har mindre fejl i komplekse tal aritmetiske end 0.31.1 udgivelsen havde.
  • Omdøbt følgende omfatter filer: config.h - & gt; agncfg.h, chelpers.h - & gt; agnhlps.h, agnxlib.h -> agnxlib.h.
  • På gdi returnerer gdi.mouse nu standardværdier for trykte museknapper.

Hvad er nyt i version 0.31.1:

  • Agena 0.31 indeholder alle de grundlæggende værktøjer til at plotte punkter, linjer, cirkler, ellipser, rektangler, buer. osv., for at styre billedstørrelse og farver.

Hvad er nyt i version 0.31.0:

  • En sprogkonsekvensudgivelse med en fejlrettelse - er blevet frigivet. Se ændringsloggen for det, der er ændret.

Hvad er nyt i version 0.30.4:

  • Agena har nu indbygget grafik. Dette giver dig mulighed for at tegne grafer, billeder osv. I X11 eller Win32 Windows eller til GIF, PNG, JPEG, FIG eller PostScript filer, både i Solaris, Linux og Windows. Agena binder til det g2 grafiske bibliotek skrevet af Ljubomir Milanovic og Horst Wagner, for at give disse nye evner.
  • Agena 0.30 indeholder alle de grundlæggende værktøjer til at plotte punkter, linjer, cirkler, ellipser, rektangler, buer. osv., for at styre billedstørrelse og farver.
  • & gt; med 'gdi';
  • gdi-pakke v0.1.4 pr. 20. december 2009
  • bue, arkfyldt, baggrund, cirkel, cirkulæret, clearpalette, lukke, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, blæk, lastaccessed, line, newline, newpoint, åben, plot, plotfn, punkt, rektangel, rektangelfyldt , reset, resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, trekantfyldt, useink
  • Plotfn-funktionen tegner en eller flere grafer af funktioner i en reel, eventuelt sammen med akserne plottet i en brugerdefineret farve. Området for y-aksen kan også gives, ellers bestemmer Agena den bedste indstilling. Der er forskellige andre muligheder, som kan indstilles med setoptions-funktionen, og som gælder for alle grafer, der produceres i en session: vinduesopløsningen, farvekortet, linjetykkelsen og baggrundsfarven. Selvfølgelig kan brugeren tilsidesætte nogle eller alle muligheder for en bestemt plot. Singulariteter behandles ordentligt.

Hvad er nyt i version 0.30.3:

  • Agena 0.30.3 med indbygget grafik, vilkårlig præcisionsmatematik og forbedrede funktioner er blevet frigivet.

Hvad er nyt i version 0.30.2:

  • Agena har nu indbygget grafik. Dette giver dig mulighed for at tegne grafer, billeder osv. I X11 eller Win32 Windows eller til GIF, PNG, JPEG, FIG eller PostScript filer, både i Solaris, Linux og Windows. Agena binder til det g2 grafiske bibliotek skrevet af Ljubomir Milanovic og Horst Wagner, for at give disse nye evner.
  • Agena 0.30 indeholder alle de grundlæggende værktøjer til at plotte punkter, linjer, cirkler, ellipser, rektangler, buer. osv., for at styre billedstørrelse og farver.
  • & gt; med 'gdi';
  • gdi-pakke v0.1.4 pr. 20. december 2009
  • bue, arkfyldt, baggrund, cirkel, cirkulæret, clearpalette, lukke, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, blæk, lastaccessed, line, newline, newpoint, åben, plot, plotfn, punkt, rektangel, rektangelfyldt , reset, resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, trekantfyldt, useink
  • Plotfn-funktionen tegner en eller flere grafer af funktioner i en reel, eventuelt sammen med akserne plottet i en brugerdefineret farve. Området for y-aksen kan også gives, ellers bestemmer Agena den bedste indstilling. Der er forskellige andre muligheder, som kan indstilles med setoptions-funktionen, og som gælder for alle grafer, der produceres i en session: vinduesopløsningen, farvekortet, linjetykkelsen og baggrundsfarven. Selvfølgelig kan brugeren tilsidesætte nogle eller alle muligheder for en bestemt plot. Singulariteter behandles ordentligt.

Hvad er nyt i version 0.29.0:

  • Agena har nu indbygget grafik. Dette giver dig mulighed for at plotte grafer, billeder osv. I et vindue eller til en GIF-, PNG-, JPEG-, FIG- eller PostScript-fil i Solaris, Linux og Windows ved at inkludere en binding til g2-grafisk bibliotek skrevet af Ljubomir Milanovic og Horst Wagner.
  • Agena 0.29.0 indeholder alle de grundlæggende værktøjer til at plotte punkter, linjer, cirkler, ellipser, rektangler, buer. etc., for at styre farve og til at oprette billedfiler eller åbne X11 eller Win32 windows.
  • I en af ​​de kommende opdateringer giver en brugergrænseflade på højt niveau med funktionerne gdi.plotfn og gdi.plot dig mulighed for at plotte univariate funktioner og sæt punkter, der er i gang. De to funktioner er allerede inkluderet i Agena 0.29.0, men er stadig beta. Her er et eksempel:
  • & gt; med 'gdi';
  • gdi-pakke v0.1.0 fra 24. november 2009
  • bue, baggrund, cirkel, clearpalette, lukke, dash, ellipse, filledArc, filledCircle, filledEllipse, filledRectangle,
  • filledTriangle, flush, fontsize, initpalette, blæk, sidst tilgængelig, linje, åben, plot, plotfn, punkt, rektangel, nulstil
  • resetpalette, setinfo, setoptions, struktur, tekst, tykkelse, trekant, useink
  • Plotfn-funktionen tegner grafen for en funktion i en reel, eventuelt sammen med akserne plottet i en brugerdefineret farve. Området for y-aksen kan også gives, ellers forsøger Agena at bestemme den bedste indstilling. Der er forskellige andre muligheder, som kan indstilles med setoptions-funktionen, og som gælder for alle grafer, der produceres i en session: vinduesopløsningen, farvekortet, linjetykkelsen og baggrundsfarven. Selvfølgelig kan brugeren tilsidesætte nogle eller alle muligheder for en bestemt plot. Singulariteter behandles ordentligt.
  • plotfn (sin (x) * x & gt;, -5, 5, farve ~ 'blå', aksiskolour ~ 'grå', res ~ 640: 480);

Hvad er nyt i version 0.27.2:

  • Den nye toSet baselib-funktion konverterer en streng til et sæt af dets tegn og et bord eller en sekvens i et sæt.
  • io.readlines er blevet patched til at behandle linjer med mere end 2048 tegn. Funktionen udsender nu en fejl, hvis den interne hukommelsesallokering mislykkes. Den interne bufferstørrelse er blevet reduceret fra 2048 byte til 512 byte. Du kan ændre dette ved at tildele en anden værdi til AGN_IOREADLINES_MAXLINESIZE i filen agnconf.h.
  • io.readlines accepterer nu også filhåndtag. Når du bruger filhåndtag, skal du i modsætning til filnavne bemærke, at du skal lukke filen manuelt efter brug af io.readlines.
  • io.readlines returnerer ikke længere et tomt bord, hvis filen ikke findes. I stedet udsender det en fejl.
  • tilSeq returnerer nu en fejl i stedet for at mislykkes, hvis den ikke modtager en streng, et sæt eller en tabel.
  • Den anvendte baselib-funktion er blevet udvidet og kan returnere hukommelsesforbrug i bytes, kbytes og gbytes. Det er en C-funktion nu.
  • Den ugokumenterede gcinfo-funktion er blevet slettet. Dens funktionalitet er taget af brugt.
  • Den nye C API-funktion agn_usedbytes returnerer antallet af bytes, der bruges af systemet.
  • Korrigeret forkert fejlmeddelelse til toTable.
  • omdøbt C AOI-funktionen `agn_isioforcerror` til` agn_isioforceerror`.

Hvad er nyt i version 0.27.0:

  • Tilføjet fejlfunktionen math.erf, og den komplementære fejlfunktion math.erfc.
  • Tilføjede Bessel-funktionen af ​​den første slags math.besselj, og Bessel-funktionen af ​​den anden slags math.bessely. Ordren er givet ved det første argument, argumentet som det andet argument.
  • Hvis den nye miljøvariabel _EnvIoForceError er indstillet til en ikke-null-værdi (standard), afbrydes io.open, io.readlines og de forskellige biniofunktioner med en fejl i stedet for at vende tilbage normalt.
  • binio.readbytes og binio.readchar returnerede en tom sekvens i stedet for at mislykkes, hvis filen der skal læses, ikke eksisterede. Dette er blevet ændret: Mislykkes eller en fejl returneres nu.
  • arcsin og arccos er nu operatører og dermed omkring 40% hurtigere.
  • Tilføjet xor-operatøren, der udfører en boolsk eksklusiv-ELLER på værdier, der vurderer til eller er sande, falske, fejl og null.
  • Tilføjede operatøren, der kontrollerer, om et ord slutter i en given sætning og returnerer sin position som et nummer. Operatøren returnerer null, hvis strengene har samme længde, i det mindste en af ​​dem er den tomme streng, eller ordet slutter ikke i det givne mønster.
  • hasrtable returnerer nu kun sande, hvis den har en læs-skrive-husk tabel (opdateret af returopgørelsen).
  • Den nye funktion harrotabel bestemmer, om en funktion har en skrivebeskyttet huskeseddel (som ikke kan opdateres af returopgørelsen) og returnerer ægte eller falsk.
  • De nye operatører gethigh og getlow henter de højere og de lavere byte fra et tal (dvs. C double).
  • De nye operatører sethigh og setlow indstiller de højere og de lavere byte til et tal (dvs. C double).
  • Det nye operatørbånd, bor, bxor og bnot udfører bitvis og eller eksklusiv eller komplementær operationer på tal.
  • Den nye `kernel`-funktion konfigurerer indstillingerne for Agena-kernen. I øjeblikket kan det ændre den måde, hvorpå bitwise operatørerne arbejder internt (brug af signerede eller usignerede heltal), og hvordan tallene udskrives.
  • Med reelle tal x returnerer math.argument nu Pi i stedet for 0, hvis x & lt; 0.
  • På grund af en fejl i de underliggende ANSI C-biblioteksfunktioner producerede arcsin og arccos forkerte resultater med komplekse tal, hvis deres imaginære del var nul i UNIX-systemer. Dette er blevet rettet.
  • math.isPrime rapporteret falsk med nummer 2. Dette er blevet korrigeret.
  • I modsætning til manualen returnerede abs 2 med fejl. Nu returneres det -1 som dokumenteret.
  • Bitpakken er blevet fjernet.
  • Tilføjet den nye C API-funktion agn_isioforcerror, som kontrollerer, om _EnvIoForceError er blevet indstillet til en ikke-null-værdi.
  • Den nye C API-funktion agn_setbitwise bestemmer om operatørbåndet, bor, bnot, bxor og shift beregnes internt med enten signerede eller usignerede heltal.
  • Den nye C API-funktion agn_getbitwise returnerer tilstanden sat af agn_setbitwise.
  • Den nye C API-funktion agn_setdigits angiver antallet af cifre, der bruges til udskrivningstal.
  • Den nye C API-funktion agn_getdigits bestemmer antallet af cifre, der bruges til udskrivningsnumre.
  • Intern: Fjernet forældet "REPL" -indgang fra luaP_opnames.
  • Windows installationsprogrammet er blevet forbedret ved at kontrollere en tidligere installeret version af Agena ved at forhindre, at installationsprogrammet startes, hvis en anden forekomst allerede kører, og ved nogle andre små forbedringer.

Krav :

  • ncurses
  • GNU Readline

Lignende software

motor
motor

3 Jun 15

gears-less
gears-less

20 Feb 15

Kommentarer til Agena

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!