Xraylib

Latest version: v4.1.5

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

2.12

Build system has changed completely: the new system is based on autoconf,
automake and libtool. Tests were conducted on different systems using
different compilers. An overview:
C-library: linux (Fedora 10 (gcc 4.3.2) and 11 (gcc 4.4.0), both 64-bit), Mac OS X (Leopard (gcc 4.0.1 and gcc 4.4.0) Intel 32-bit), Solaris 10 (Sun C 5.10 32-bit)
Fortran bindings: linux (Fedora 10 (gfortran 4.3.2) and 11 (gfortran 4.4.0), both 64-bit), Mac OS X (Leopard (gfortran 4.4.0, g95 and ifort) Intel 32-bit), Solaris 10 (Sun Fortran 95 8.4 32-bit)
Perl bindings: linux (Fedora 10 (perl 5.10.0) and 11 (perl 5.10.0), both 64-bit), Mac OS X (Leopard (perl 5.8.9) Intel 32-bit), Solaris 10 (perl 5.8.4 32-bit)
Python bindings and xraylib executable: linux (Fedora 10 (python 2.5) and 11 (python 2.6), both 64-bit), Mac OS X (Leopard (python 2.5) Intel 32-bit)
IDL bindings: linux (Fedora 10 (idl 7.1) 64-bit), Mac OS X (Leopard idl 7.0 Intel 32-bit)

A spec file and pkg-config files were added as well. RPM
packages were created for Fedora 10 and 11 x86_64 systems.

2.11

Complete rewrite of the IDL bindings, using the DLM approach.
Definition of the COMMON block XRAYLIB containing all the xraylib macros. This
has the advantage that these convenient variables can now be used inside
functions and procedures. An example is provided in xrlexample5.pro.

In order for IDL to find the XRayLib DLM at runtime it is necessary that the
user makes sure that the IDL_DLM_PATH environment variable points to the idl
subdirectory of the xraylib installation folder!

2.10

Minor changes: adjusted the placing of xraylib.mod into lib for the gfortran
compiler
Definition of two macros in xraylib.h: XRL_VERSION_MAJOR and XRL_VERSION_MINOR
Recalculation (smoothing) of second derivatives of kissel cross section data. This was done to avoid erratic behaviour of interpolation near absorption edges.
Support for IDL bindings on Mac (Tested on an Intel Mac running Mac OS X 10.4 and IDL 7.0)
Minor changes to install.sh: Python bindings disabled when running on Mac etc...

2.9

Introduction of partial photoelectric cross sections (data of L. Kissel) ->
kissel_pe.dat
New functions were added based on these partial PE CS:
// Kissel Photoelectric cross sections
float CS_Photo_Total(int Z, float E);
float CSb_Photo_Total(int Z, float E);
float CS_Photo_Partial(int Z, int shell, float E);
float CSb_Photo_Partial(int Z, int shell, float E);

// XRF cross sections using Kissel partial photoelectric cross sections
float CS_FluorLine_Kissel(int Z, int line, float E);
float CSb_FluorLine_Kissel(int Z, int line, float E);

// Total cross sections (photoionization+Rayleigh+Compton) using Kissel Total
// photoelectric cross sections
float CS_Total_Kissel(int Z, float E);
float CSb_Total_Kissel(int Z, float E);

The user is now given the opportunity to choose at installation time between
hardcoding the data or calling the data at run time with XRayInit.

TODO: rewrite the IDL bindings completely in favor of the DLM approach,
recommended by IDL

2.8

All the physical data is now hardcoded during the compilation phase, making
the initialization at run time redundant. (Thanks to Teemu Ikonen for
contributing the code)
Added bindings for Perl and Fortran 2003. For use of the Fortran 2003, a
recent compiler like Intel Fortran 10.0, G95 or GFortran 4.3.0 is needed.
The installation scripts are now gone and have been replaced by a Makefile
Partial support for Mac OS X -> C, C++ dynamic libraries compile and run, as
well as the Fortran and Perl bindings. The Python bindings do not work. The
IDL bindings have not been tested yet.
Examples for C shared libraries, Perl and Fortran bindings were added.
SWIG is now a requirement for using the Perl and Python bindings.

2.7

- Added anomalous scattering factor Fii (fii.c, fii.dat)

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.