[2005/03/05] (Lisp) check_bounds() returns an integer.
(physio) Renamed m_obuf as m_outpos (physio) Replaced m_ringur by a vector.
Removed ringur_length
[2005/03/07] (runtime.h) Inlined
macros LL_PUSH, LL_POP,
LL_POP0, LL_ADJSTK and
LL_TOPSTACK.
Added functions
Lisp::check_int(),
Lisp::check_bounds(),
Lisp::check_symbol(),
Lisp::check_char(), and
Lisp::check_vector().
Made a Lisp method of
ck_int2, ck_int3,
ck_int4,
obj_to_string.
Added a name to the enumeration ll_ftype.
Changed retval of type_of to ll_type Removed a cast for explode push/pop.
(reader) Changed type of m_IS and m_IS_last to positions
[2005/03/09] (reader) Added two classes, for trace and ringur.
Removed some gotos
[2005/03/10] (list) Using pointers for compare.
Made Lisp::Lisp(lisp*) explicit.
Changed function type
bool lisp::equal(const lisp* y)const;
Added two functions lgetprop
[2005/03/12] (eval) Replaced static keyword for functions by namespace.
Added end test is_cons in e_progn Added 3 as subtype, for compiled functions.
Made Some character strings constant.
[2005/03/15] (lap)
Removed the union in the lap object
Replaced the object by two objects
Replaced the Lisp tables by vectors.
Replaced pointers to the lap by an offset.
[2005/03/16](eval)
Changed type of stack_pointer to an integer.
Changed LL_POP : replaces the stack slot by nil
Change type of quit_on_error to a enum
Added field fvali to a symbol
Removed a goto
[2005/03/31]
Changed fields PKGC and ALINK
to a_symbol* instead of type Lisp It compiles. Still does not run
Changed arg type of a Lisp function to const Lisp&
[2005/04/04] Split file gc into egc, and esymbols.
Removed a goto
(eval) Replaced check_larg and flatt by a non-recursive function
(eval, physio) Removed the variables left_arrow,
right_arrow
(hack for tracing...)
(eval) get_type does not signal an error.
Removed hacks for map, every, etc in the case of LAP
Use vectors in cirequal and circopy (eval) Added namespaces almost everywhere. Removed friends
Replaced my_equal by eval::equal
[Version 0.04, 2005/04/11] (display) Move value of ttyheight in Istack Changed type of graphic_list Changed type of vrule to a list of 3 integers.
[Version 0.05, 2005/04/14] Made File_reader::buffer static
Added a second method name_of Split peb2ioin two files
Made printerror use S_function instead of NULL
(physio) Removed ringur (physio) Removed m_pk as member
(ratio) Removed a_complex::atan and a_complex::atanh Split include files for ratio in public and private
(ratio) Removed the special case of NULL inumber
(ratio) Changed type of is_not_integer to bool
Removed 39 gotos
[Version 0.06, 2005/04/25] Renamed SLD to quad, everywhere, but for the namespace
Added a function cirprint-to-string.
Useful for testing Endymion
Namespace added in list
[2005/05/01] Renamed sld files as quad files
(eval) Added variable current_fct;
holds the current function, that is no more an argument
Added a new Lisp object: date Fixed a bug in reference counting
Defined a macro: COMMON_FIELDS.
Defined function ratio::haulong.
Fixewd bug in nrand48 Made catenate and string behave alike
Removed the errfix error
Added comparison for type Wstring
Recoded Euler Phi
Changed final test in isqrt
[2005/05/01] Hack (iroot x n), if n is not an integer
(bf0 Recoded get_interval Moved itable_size in a include file
Added reset_random32
[Version 0.08 (September 2005) Added type Symbol Made lap registers static
Removed the set_buf_last function
Removed initial cons in read_list Re-implemented try_atom (eval) Removed self argument of a subrf (display) Replaced to_lisp method by
print Changed number of arguments of tex_paren_args to one
Added class buffer Added file mforma
[Version 0.09 (September 2005)] Added file pretty
Made Polynomial and matrix fields protected/private
Added file elsode1
Replaced quad_gen_op_xx by gen_op_xx Added a function with fewer arguments for polynom/matrix set
Added oprec fourier
Added #ifdef NEED_FPE in newton.C
Replaced get_one by set_to_one Removed void* coefficients(); Replaced from_obj by from_Lobj
[version 0.11] Added seq
Made Module a Lisp object
Replaced hyperion by endymion wherever justified
(compiler) Changed type of To_compile to VT
Change type of Cfct to Lisp
(ecomp5) Added usage of w_var Changed type of potvar to non-Lisp
Changed number of arguments of VT::sv to zero
Removed calls to my_compiler_online
[version 0.12] Installed compiler
Removed friends for the compiler.
[Version 0.13, 26-12-2005] Removed test to string in caller for probepath etc
openo etc
Changed type of load1 [29-12-2005] (eratio1) Fixed initialisation of iinteger_10_8 (epola0) Bug fix: all matrices had the same type!
[31-12-2005] (epola4) Changed type of sparse poly.
(ratio) rat_to_float uses a buffer now
[06-01-2006] Changed rbp of case to 200
Allows arbitrary symbol lengths
Renamed mforma method to format,
and added to class Lisp,
namespace changed to forma.
Added a member function that returns a bool
Added method is_list to Lisp objects
Changed return type of (mforma 1.l0) to integer
Removed type ring_pol Use const pointers in eval::equaltype_of_eq Added ratio::nremainder Added Lisp lisp::to_Lisp() const Added a typedef Lisp_pair Added method is_mone for rats.
Added Minus one in rings mod n.
Added is_constant for polynomials
Made negdistrib, rat_arith_mixed_flag,
ratsimp variable-functions
Split esimpc.h in two parts
[Version 0.14 (February 2006)] Made VLisp an alias for vector<Lisp> Made all fields of display private
Made argument of a_graphic::compare const
(Displa) Changed refcount to -1 before casting to Lisp;
because the object could be destroyed
Added type a_num introduced.
Implemented the linear form of a polynomial as a vector
[2006/04/19] Replaced num_z and num_q by num_b
that has a Lisp number as value
Made most fields of Ring and Num private or protected
Changed return value of eval_pm_one to number not a Num
Added typedef for
Monom_1::List::const_iterator and
Monom_n::List::const_iterator Changed return type of internal Bezout to Lisp triple
(readline) Saved current string in case of ^P etc
(readline) Made history a vector
(display) Bug fix #:[1 2 3] displays OK
Changed return value of need_flist to void
Changed ring kernels type to Num
Added Reveal function for rats
Changed printing of rings
Added a function add_id that remembers RCS ids
Changed print function for rings
Added a function that returns num&den of a number
(eval) Added the function #:feval:apply (eval) Replaced my_length
by eval::length
[Version 0.15, 2006/05/13] Moved fifty lines from startup.ll to epretty.C
Removed some useless lines in startup.ll
Added a function a_fexpression::to_general Changed representation of sum, product, power
Removed function find_op Added putprop, getprop for fsymbols
Replaced #:ed:eval:fun by a get/set function.
Simplified the C code
Size of Istack correctly computed
Automatic call of declare_var_fun for system get/set
Changed type of power(x,y) for x and y double, to
a real or a pure imaginary
Constant functions endymion_names, endymion_values,
endymion_constants used instead of some unusable variables.
Added new print method for VT objects
Moved error messages in the endymion package
Added a function make_sfun; changed bootstrap order
[Version 0.16, June 2006] Made things like Slet symbolic constants
Removed files Startup.ll and startup.sis
Made %e, %i, Infinity constants
(sequences) Made all fields private
Replaced formel::feval_bra
by list::Lflist Hide internals of arrays
Version 0.17 (January 2007)M Moved min, max in an include file
Changed namespace list to list_ns
(efiles.C) Used buffer data structure
(main.C) Changed user_name to string
[Version 0.18 (February 2007)] (pathname) Removed empty_dir and empty_extension removed
Changed argument type of open_file1 to string
Made errors open_file and open_file1 not fatal
Checked return value of new fstream Removed error in expand_name Replaced class peb_converter by a namespace
Removed overflow in peb_scan Changed namespace name eval to eval_ns
Same for gc (peb2conv) Removed print method, tokens traced instead
Added two include files: einline.h and etypes1.h
Moved all functions of egc.C are in a namespace
Removed my_strcat
and my_strdup; using C++ strings instead
Removed cpu_time removed,
Renamed cpu_time1 renamed to
cpu_time Two functions named allocate_vector Removed new_intrnew_doublernew_complexrnew_quad_complexrmy_openr Use std::minr and std::maxr Renamed classes Sringur and
Strace as sreader_ringur
and sreader_trace, and made subclass of
Sreader, renamed symbolic_reader (IO) Modified enum file_status modified
Renamed files *peb* to *bep*
Added files eplot.C eplot.h
Version 0.20 (February 2007)
[Version 0.20, February 2007] (plot) Removed restrictions on size of strings
Removed Complex::print() using operator<< instead
Renamed some classes: inumber, all from bep
Made some fields private (ratio)
[Version 0.21, May 2007] Added splines
Use a special stack for recursive implode (error recovery)
Split physio in two part
Inmplemented IO buffers as Endymion buffers
Removed IS_inpos,IS_inmax, IS_lmargin,
IS_rmargin Changed reader to convert #<0x123>
to nil, as well as#<nil> Made prompt a variable function
Made printflush call the Itsoft.
Buf fix: The function pratom does not call itself
Feature addded: Control-backslash aborts endymion in (more).
Allowed eval_pol to evaluate splines.
[2007/06/27] Added class names FourierD, FourierQ, FourierO,
Changed Lisp types to
ll_type_fourier, ll_type_fourierQ, ll_type_fourierQ Renamed malloced_datato raw_data.
Removed const hack in Fourier print
Moves inline functions like is_some_type to etypes.h
Renamed mix.C, mix.h renamed to emix.C emix.h
Renamed PI to my_pi in an include file
[2007/06/28] (Poly printer) Removed class pol_coef_t.
(Polynom) Replaced macros by inline for some functions
like pol_coef. Plus overloading. Some const qualifiers added.
[2007/07/02] Renamed class symbolic_reader to Sreader Made gather_chars work on an implode list.
(Sreader) Set IS_lastr to 0 in case
gather_chars fails
Added more typechecks when reading polynomials.
Signal an error in the case #2P.
Renamed feval_print into feval::print Made Fourier_truncate work for all 3 types of Fourier.
Implemented neg_rotate for Quad and Oprec
Replaced namespace sld by quad_ns Added a few templates in fourier.C
Replaced errnra by errnRa in conversions (Poly)
Changed true-degree(fourier 0) to give (0 . -1),
so that 0 and 1/z have different degrees.
Added add_one to classes complex, quad, oprec, quad_complex, oprec_complex.
Replaced already existing function by i_add_one.
[2007/07/14] Enhanced Main::pprint Added function get_machine_name Removed heap_size Fixed a bug where only one option was stored
Added option -h -L, -S to the program
More cleanups in main.
Renamed data structures peb* to Bep*
(load_arl2_file) Read N floats, instead of N lines,
Allow file_ext=i_j in a parameter file
Added File_handler data structure
(ebep2conv.C) Removed Global variable out_fp Removed function Complex::to_file Removed plot_data_disc_only removed from bep class.
[Version 0.23, July 2007]
(arl2) Converted to vectors: method_table,
flag_table, many_init_table,
min_degs, iter_table Added a buffer for Gnuplot
Made filename of plotweight customizable
Converted Min_list to a list.
Converted data of Orth_poly to a vector.
Added data structures PolynomL, MatrixL, MatrixPL Converted data of Matrix and polynomials to vectors
Use trivial destructors for matrix and polynomials
Changed polynm::div_i to always compute the quotient
Converted arguments of dgesldgefa to vectors
Added include files efloat, enumber
Added inline operator for Numbers.
Converted data of Lfunctor and Nfunctors to iterators
Removed l2_quo_norm Removed functions to2doubles , from2doubles etc
Removed m_size field of poly
Removed realloc_poly (inline)
Fixed semantic bug in poly in case A+B, deg(A)>deg(B),
true_deg(A)<deg(B).
Removed Ratfrac::duplicate Changed type of data of PolynomD to Double
[September 2007.] [Integrator] Use a single data structure LsodeA Disallow zero for maximum step size hmax
Use an enumeration for state of affairs
Accept all istate values in lsode_checks
Changed names of y, quad_lin to functor_in, functor_q_in Removed error in ewset Removed error ``tout too close to t''
Renamed class a_foo as Ofoo for all Lisp objects.
Renamed arl2 classes.
Changed type of table and orth poly to pointers
[October 2007] (reader) Removed trace and ringur as member, because of inheritance
Replaced print_roots by is_unstable Changed interface to find_roots Changed compute_w_powers Made ewset
Version 0.25 (October 2007)
[October 2007] Moved result for find_roots in a vector.
(slot_inverse) Implemented only quad precision
(mat_horner_gen) Changed omega from polynomial to scalar
Inlined some functions for omega Corrected a bug in load, if last char of file is not newline
Corrected a bug if macro-evaluation yields an atom.
Added functions macro-expand and macro-expand1 added
(lsode) Renamed result_in_quad as precision and cur_n as
in_size.
Added a variable a_NP in OarL2.
Hacking with cur_prec in arl2mat simplified.
Removed 4 gotos in the code.
[January 2008, version 0.26] Added triple poles
Added multiplicity to slot Changed IO for slot, make it incompatible with hyperion
Renamed Bf_reset to bf_reset Removed variable next_serial Changed type of min_degs to boolean table
Removed r_find_new_min, r_find_new_min0 Changed internal target: now divided by pole multiplicity
Use short names instead of integrator_quad_y Changed size of tables like many_init_table to target/mult.
Removed gotos in Arl2_scalar_data::r_degree_one.
Set name of PS file to foo_d2_m3_22.ps for multiplicity 3
[May 2008, version 0.27] Change polynom evaluation
Changed types quad , oprec to QuadOprecQComplexOcomplex Changed buffer to Buffer class
Changed semantics of rat_to_float Replaced S by Q in poly/mat type
Changed a bug in poly conjugate
Use reference type whereever possible
Changed types to ll_type_polynomOC etc
Re-implemented Pol-eval
Changed names PwFunction ContinuitySaver PlotHelper<
Obep BepFlags BepPair [June 2008] Made size and degree system functions
Added a symbolic index to PW functions, omega, theta, value, assoc, and interpolation Changed value of B[data_on_circle] to boolean.
Added a fucntion to order PW items
Added macros increment and decrement Change syntax of BEP identifier: can contain +
Allows \n in strings.
Changed comment syntax: as in C++
Made the string "a/* b // c */ d" valid
Swapped meaning of { and << in symbolic evaluation.
[July 2008, version 0.28] Symbolic printer prints lineno in case of error
Implemented date_to_vector and vector_to_date Added functions uppercase, lowercase, transform Changed display of keywords in lower case
Added operators +=, -=, *= *= (splines) Optimised Interv function
Made operator If synonym to ifo Renamed even? odd? as evenp oddp Implemented functions min max Implemented operators || and &&
Implemented Repeat Merged read-from-vector into read-from-string Simplified implode (single function instead of two)
Implemented PLIST as ALIST.
Renamed all namespaces under the form foo_ns
Capitalised a lot of class names
Removed all macros catch_this... Renamed #:compiler:verbose to compiler_verbose Added a file etrace.C
Moved Compiler:;gensym out of class.
Implemented tarce_handler and trace_one Fixed lbp and rbp of text-space and text-comma.
Added #:feval:vector.
Implemented f(x:vector):=x[2] Changed psize of tagbody and let to 2
[August 2008, version 0.29] Optimised array_ref and array_set in the one index case
Added x[] that returns the type of x
Added more array semantics to some objects
Added extensible arrays
Added symbolic map and mapc Fixed a bug in matrix printing
Fixed size(a_matrix) Implemented quote-postfix (ratio) Removed global variable carry
Added (round 1.5) Modified rqm2: result is a reduced number
Removed the global variable is_not_integer
Removed function nx
fixed a bug in display of f() Improved a bit pretty print
Changed Lisp and symbolic reading of newline: CR ignored LF retained
Changed printing of newline in strings, see above
Changed name of brace from progn_op to op_progn
Changed vect_to_numb to accept 32 bit numbers
Added random33 Allows semi-colon instead of comma in list (symbolic reader)
Evaluating (compare #C(0 12) #C(0 524 )) gives -1
Fixed function compare-eps Fixed alphalessp to work with any argument.
Made Block objects of type Lisp
Removed BlockRecmac
[Sep 2008] Spline creator accepts null weight
Removed aux functions of Fourier_matrix
Removed splines_size Splines canm be read symbolically
Implemented array references with 2 indices for splines.
MacIntel params added
[January 2009, version 0.30] Re-implemented Fourier data structure via a ScaledVector
Removed ContinuitySaver
Changed Semantics of Fourier Ctor
[2009/01/12] Changes for FC10 compiler
Added string.h to standard headers.
Compare-eps gives division by 0 if both numbers equal
Changed (fill-polynom Fourier l), thye list is truncated if too long
Allow Fourier series without constant term
Added dependencies of eplot.h in Makefile