[RPL/2] RPL/2 4.0.5 is out

BERTRAND Joel joel.bertrand at systella.fr
Mer 9 Sep 18:31:09 CEST 2009


	Hello,

	New release with a lot of new features, probably new bugs and some bug 
fixes...

* Wed Sep 09 2009 BERTRAND Joël <rpl at systella.fr> rpl-4.0.5 (RPL/2)
- some bugfixes are added in process management;
- all process management is rewritten to avoid usage of defunct process
or thread number;
- new major bug is fixed in interruptions.c. Sometimes, when 
retrait_thread() was called before a pending interruption5 (SIGFSTOP), 
signal handler uses a freed semaphore and corrupts heap;
- CLRERR is added to erase previous errors;
- ERRN and ERRM return exception message and number;
- major bug is fixed in interruptions.c. All signal are now bufferised
when semaphore_liste_threads is null to avoid deadlock. This bug only
occured when STOP was sent to a dying thread or process (when this 
thread or process was running retrait_thread());
- matrix rank is computed before matrix inversion;
- file locks are added to stdin and stdout. stderr is not locked because
all messages written by signal handlers are sent to stderr;
- configure.in script is modified to test gcc version and avoid a bug in
gcc older than 4.4;
- some benchmarks have been done :

cauchy:[~/rpl/bench] > ./bench.rpl
+++RPL/2 (R) version 4.0.5 (mardi 04/08/2009, 18:23:07 CEST)
+++Copyright (C) 1989 à 2008, 2009 BERTRAND Joël
Number of scalar operations per second and per core : 2109867.29809482

Workstation :
cauchy:[~/rpl/build] > uname -a
Linux cauchy 2.6.30.1 #1 SMP PREEMPT Thu Jul 16 09:49:46 2009 x86_64 
GNU/Linux
cauchy:[~/rpl/build] > cat /proc/cpuinfo | grep "model name"
model name      : Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz
model name      : Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz
cauchy:[~/rpl/build] > gfortran -v 2>&1 | grep "gcc version"
gcc version 4.3.3 (Debian 4.3.3-14)
cauchy:[~/rpl/build] >

- SVL and SVD are added;
- COND and RANK are added;
- DIAG-> and ->DIAG are added;
- major bug is fixed in DET intrinsic. DET is rewritten to avoid usage 
of eigenvalues. In a first time, matrix rank is estimated to force 
determinant to zero if matrix is rank deficient. If not, a PLU 
decomposition is done to compute determinant;
- QR matrix decomposition is added;
- LQ matrix decomposition is added;
- Fortran90 files are rewritten to use Fortran2003 bind(C) statement and
Fortran preprocessor;
- default compilation options are now -Wall -Wextra -Wno-pointer-sign
-Wno-unused-parameter;
- all mathematical exceptions are now signaled by exceptions instead of
execution error;
- minor bug is fixed in both CSTOP and RSTOP intrinsics. Without this 
fix, you can call twice CSTOP without RSTOP;
- named semaphore support is added (CRSMPHR, CLRSMPHR, SMHRDECR, 
SMPHRINCR, SMPHRTRYDECR, SMPHGETV).

	Regards,

	JKB


Plus d'informations sur la liste de diffusion RPL2