* Drop libglademm dep, upgrade gtkmm dep to 2.12.1 and use
Gtkbuilder instead of Glade::XML * Misc bugfixes git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1326 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
a40c636ba7
commit
d704fc4b13
|
@ -20,7 +20,7 @@
|
|||
|
||||
dnl ----------------- CONFIGURE ---------------------
|
||||
|
||||
AC_INIT([sgpemv2],[1.0],[matteo@member.fsf.org])
|
||||
AC_INIT([sgpemv2],[1.0.1],[matteo@member.fsf.org])
|
||||
|
||||
if test -f "`pwd`/configure.ac"; then
|
||||
AC_MSG_FAILURE([
|
||||
|
@ -65,7 +65,6 @@ AC_CHECK_CXXFLAG([CXXFLAGS], [Wall])
|
|||
AC_CHECK_CXXFLAG([CXXFLAGS], [pedantic])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [Wextra])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [Wno-long-long])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [fvisibility-inlines-hidden])
|
||||
AC_CHECK_LDFLAG([LDFLAGS],[--as-needed])
|
||||
|
||||
dnl see if we've to enable debug flags
|
||||
|
@ -90,6 +89,8 @@ AC_ARG_ENABLE([visibility-support],
|
|||
AC_MSG_CHECKING([whether to use new GCC visibility attributes])
|
||||
if test "x$enable_gcc_visibility" = "xno"; then
|
||||
CPPFLAGS="${CPPFLAGS} -DDISABLE_VISIBILITY_SUPPORT"
|
||||
else
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [fvisibility-inlines-hidden])
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_gcc_visibility])
|
||||
|
||||
|
@ -137,7 +138,8 @@ AC_MSG_RESULT([$compile_tests])
|
|||
AM_CONDITIONAL([COND_TESTS], [test "$compile_tests" = "yes"])
|
||||
|
||||
dnl output files
|
||||
AC_CONFIG_FILES([config/Doxyfile config/sgpemv2.pc config/sgpemv2-uninstalled.pc])
|
||||
AC_CONFIG_FILES([config/Doxyfile config/sgpemv2.pc \
|
||||
config/sgpemv2-uninstalled.pc data/sgpemv2.desktop])
|
||||
AC_CONFIG_HEADERS([config.h:config.h.in])
|
||||
|
||||
# force include of configuration header in every compilation unit
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
Encoding=UTF-8
|
||||
|
||||
Type=Application
|
||||
Version=0.9
|
||||
Version=@PACKAGE_VERSION@
|
||||
Name=SGPEMv2
|
||||
Categories=Education;Engineering;GTK
|
||||
Categories=Education;Engineering;GTK;
|
||||
|
||||
GenericName=Process Scheduling Simulator
|
||||
GenericName[it]=Simulatore della Gestione dei Processi
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
curdir="$(pwd)"
|
||||
|
||||
if [ "${1}" == "" ]; then
|
||||
if [ "${1}" = "" ]; then
|
||||
echo "You need to pass the control file as the first parameter of this script."
|
||||
echo "Usage: ./build.sh <control-file> <package.tar.bz2>"
|
||||
exit -1
|
||||
|
|
|
@ -4,7 +4,7 @@ Section: misc
|
|||
Priority: optional
|
||||
Architecture: i386
|
||||
Pre-Depends: libstdc++6
|
||||
Depends: libgtkmm-2.4-1c2a, libglademm-2.4-1c2a, libxml2 (>= 2.6.10), libcairo, python (>= 2.3)
|
||||
Depends: libgtkmm-2.4-1c2a, libglademm-2.4-1c2a, libxml2 (>= 2.6.10), libcairo, python (>= 2.3), python (<< 2.5)
|
||||
Installed-Size: @SIZE@
|
||||
Maintainer: Marco Trevisan <evenjn@gmail.com>
|
||||
Provides: sgpemv2
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
Package: sgpemv2
|
||||
Version: 1.0.1
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Architecture: i386
|
||||
Pre-Depends: libstdc++6
|
||||
Depends: libgtkmm-2.4-1c2a, libglademm-2.4-1c2a, libxml2 (>= 2.6.10), libcairo, python (>= 2.3)
|
||||
Installed-Size: @SIZE@
|
||||
Maintainer: Marco Trevisan <evenjn@gmail.com>
|
||||
Provides: sgpemv2
|
||||
Description: A graphical process management simulator with educational purposes.
|
||||
.
|
||||
SGPEM is an Italian acronym, standing for "Simulatore della Gestione
|
||||
dei Processi in un Elaboratore Multiprogrammato" (in English, "Process
|
||||
Management Simulator for a Multitasking Computer"). It was initially
|
||||
developed for use inside the "Operating Systems" teaching, part of the
|
||||
Computer Science course of the University of Padova, Italy.
|
||||
.
|
||||
The aim of SGPEM is to provide an easy-to-use environment for simulating
|
||||
process scheduling policies, and for assigning resources in a multitasking
|
||||
computer. SGPEMv2 is an educational software, and it can help students
|
||||
to better understand the functionality of operating systems.
|
|
@ -1257,7 +1257,7 @@ Here there's a quick reference about such commands:
|
|||
|
||||
@table @samp
|
||||
|
||||
@item svn checkout @emph{http://svn.thgnet.it/swe/drafts}
|
||||
@item svn checkout @emph{http://svn.gna.org/svn/sgpemv2/trunk}
|
||||
Downloads a copy of the current @samp{drafts/} directory contents.
|
||||
Checking out the root repository dir (@samp{swe/}) may
|
||||
result, in near future, to a @strong{big} download, as
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
This is SGPEMv2 User Manual (version @value{VERSION},
|
||||
@value{UPDATED}).
|
||||
|
||||
Copyright @copyright{} 2005-2006 University of Padova, dept. of Pure
|
||||
Copyright @copyright{} 2005-2007 University of Padova, dept. of Pure
|
||||
and Applied Mathematics
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -89,13 +89,15 @@ Free Documentation License''.
|
|||
@unnumbered History
|
||||
|
||||
@table @strong
|
||||
@item 2007, March 5th @r{-- Matteo Settenvini}
|
||||
Updated subsection ``The Schedulables/Requests tree''
|
||||
@item 2006, September 12th @r{--- Luca Vezzaro}
|
||||
Updated section "From the commandline"
|
||||
Updated section ``From the commandline''
|
||||
@item 2006, September 9th @r{--- Luca Vezzaro}
|
||||
Written documentation for section "The Schedulables/Requests tree"
|
||||
and section "The Resources list"
|
||||
Written documentation for section ``The Schedulables/Requests tree''
|
||||
and section ``The Resources list''
|
||||
@item 2006, September 8th @r{--- Luca Vezzaro}
|
||||
Written documentation for section "Overall view of the main window"
|
||||
Written documentation for section ``Overall view of the main window''
|
||||
@item 2006, September 8th @r{--- Matteo Settenvini}
|
||||
Update chapters about building and installation. Rewrite some of the
|
||||
chapter about extending SGPEMv2 with custom CPU policies, and add a
|
||||
|
@ -160,8 +162,8 @@ help students to better understand the functionality of operating systems.
|
|||
|
||||
We recommend that you read the manual following the the structure that
|
||||
we layed out for it. You will be gently led trough Installation, Configuration and Usage of SGPEMv2.
|
||||
If you find yourself in trouble reading the manual, please don't hesitate to contact us at
|
||||
@email{swe@@thgnet.it}.
|
||||
If you find yourself in trouble reading the manual, please don't hesitate to contact us via
|
||||
@url{https://mail.gna.org/listinfo/sgpemv2-devel}.
|
||||
|
||||
@c % --------------------------------------------------
|
||||
|
||||
|
@ -171,7 +173,7 @@ If you find yourself in trouble reading the manual, please don't hesitate to con
|
|||
@cindex reporting
|
||||
|
||||
We welcome bug reports and suggestions for any aspect of the SGPEM v2 system, program in general,
|
||||
documentation, installation... anything. Please email us at @email{swe@@thgnet.it}.
|
||||
documentation, installation... anything. Please contact us via @url{https://mail.gna.org/listinfo/sgpemv2-devel}.
|
||||
For bug reporters, include enough information for us to reproduce the problem. In general:
|
||||
@itemize
|
||||
@item
|
||||
|
@ -763,6 +765,10 @@ add threads or requests you must select a process or a thread, respectively.
|
|||
To remove or edit an entity simply select it, and the popup menu will contain the remove
|
||||
or edit operation specific for that entity.
|
||||
|
||||
Note also that adding a process, since version 1.0.1, automatically
|
||||
adds also a ``Main'' thread. This is for your convenience: you're
|
||||
still able to modify/delete it if you want.
|
||||
|
||||
Anyway, these functionalities are only useful for a stopped simulation. While the simulation
|
||||
is not in a stopped state, a lot of dynamic information is displayed by the widget.
|
||||
|
||||
|
|
|
@ -25,15 +25,15 @@ AC_INIT([sgpemv2-pyloader],[1.0],[matteo@member.fsf.org])
|
|||
if test -f "`pwd`/configure.ac"; then
|
||||
AC_MSG_FAILURE([
|
||||
** This seems to be the pkg root directory.
|
||||
** Compiling here your sources is considered
|
||||
** as unpolite as exploring your nose with
|
||||
** your pinky whilst attending a wedding party.
|
||||
** Compiling here your sources is considered
|
||||
** as unpolite as exploring your nose with
|
||||
** your pinky whilst attending a wedding party.
|
||||
** Please create a new dir as described in
|
||||
** the README file, and then run configure
|
||||
** into it. If you think you've got it right,
|
||||
** please inform the mantainer of this error!
|
||||
** He'll thoroughfully bash his head on the wall.],
|
||||
-1 )
|
||||
** please inform the mantainer of this error!
|
||||
** He'll thoroughfully bash his head on the wall.],
|
||||
-1 )
|
||||
fi
|
||||
|
||||
AC_GNU_SOURCE
|
||||
|
@ -42,7 +42,7 @@ AC_CONFIG_AUX_DIR(config)
|
|||
AC_CANONICAL_TARGET
|
||||
|
||||
dnl starting automake
|
||||
AM_INIT_AUTOMAKE([dejagnu dist-bzip2 subdir-objects])
|
||||
AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects])
|
||||
|
||||
dnl gettext & libtool
|
||||
AC_PROG_LIBTOOL
|
||||
|
@ -77,6 +77,22 @@ else
|
|||
AC_CHECK_CXXFLAG([CXXFLAGS], [DNDEBUG])
|
||||
fi
|
||||
|
||||
|
||||
dnl see if we have to enable visibility support
|
||||
AC_ARG_ENABLE([visibility-support],
|
||||
AS_HELP_STRING([--enable-visibility-support],
|
||||
[enable the new GCC visibility support; requires GCC >= 4.0 to work.]),
|
||||
[enable_gcc_visibility="$enableval"],
|
||||
[enable_gcc_visibility="no"])
|
||||
AC_MSG_CHECKING([whether to use new GCC visibility attributes])
|
||||
if test "x$enable_gcc_visibility" = "xno"; then
|
||||
CPPFLAGS="${CPPFLAGS} -DDISABLE_VISIBILITY_SUPPORT"
|
||||
else
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [fvisibility-inlines-hidden])
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_gcc_visibility])
|
||||
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl make
|
||||
|
|
|
@ -32,7 +32,7 @@ dnl @author Rafael Laboissiere <laboissiere@psy.mpg.de>
|
|||
dnl @author Andrew Collier <colliera@nu.ac.za>
|
||||
dnl @author Matteo Settenvini <matteo@member.fsf.org>
|
||||
dnl @author Horst Knorr <hk_classes@knoda.org>
|
||||
dnl @version 2006-02-05
|
||||
dnl @version 2008-01-16
|
||||
dnl @license GPLWithACException
|
||||
|
||||
AC_DEFUN([AC_PYTHON_DEVEL],[
|
||||
|
@ -134,48 +134,65 @@ $ac_distutils_result])
|
|||
if test -z "$PYTHON_LDFLAGS"; then
|
||||
# (makes two attempts to ensure we've got a version number
|
||||
# from the interpreter)
|
||||
py_version=`$PYTHON -c "from distutils.sysconfig import *; \
|
||||
ac_python_version=`$PYTHON -c "from distutils.sysconfig import *; \
|
||||
from string import join; \
|
||||
print join(get_config_vars('VERSION'))"`
|
||||
if test "$py_version" == "[None]"; then
|
||||
if test "$ac_python_version" = "[None]"; then
|
||||
if test -n "$PYTHON_VERSION"; then
|
||||
py_version=$PYTHON_VERSION
|
||||
ac_python_version=$PYTHON_VERSION
|
||||
else
|
||||
py_version=`$PYTHON -c "import sys; \
|
||||
ac_python_version=`$PYTHON -c "import sys; \
|
||||
print sys.version[[:3]]"`
|
||||
fi
|
||||
fi
|
||||
|
||||
PYTHON_LDFLAGS=`$PYTHON -c "from distutils.sysconfig import *; \
|
||||
from string import join; \
|
||||
print '-L' + get_python_lib(0,1);"`
|
||||
# First, the library directory:
|
||||
ac_python_libdir=`$PYTHON -c \
|
||||
"import distutils.sysconfig,string; \
|
||||
print string.join(filter(None, \
|
||||
distutils.sysconfig.get_config_vars('LIBDIR')))"`
|
||||
|
||||
# We could have a versioned library, or an unversioned one,
|
||||
# even if the second case is discouraged. So, let's check for
|
||||
# the versioned one first, and fallback on the second later.
|
||||
LIBS="$ac_save_LIBS $PYTHON_LDFLAGS"
|
||||
CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
|
||||
# Before checking for libpythonX.Y, we need to know
|
||||
# the extension the OS we're on uses for libraries:
|
||||
ac_python_soext=`$PYTHON -c \
|
||||
"import distutils.sysconfig, string; \
|
||||
print string.join(filter(None, \
|
||||
distutils.sysconfig.get_config_vars('SO')))"`
|
||||
|
||||
AC_LANG_PUSH([C])
|
||||
AC_CHECK_LIB([python$py_version], [Py_Initialize],
|
||||
[PYTHON_LDFLAGS="$PYTHON_LDFLAGS -lpython$py_version"],
|
||||
AC_CHECK_LIB([python], [Py_Initialize],
|
||||
[PYTHON_LDFLAGS="$PYTHON_LDFLAGS -lpython"],
|
||||
[PYTHON_LDFLAGS=""])
|
||||
)
|
||||
AC_LANG_POP
|
||||
# Now, for the library:
|
||||
ac_python_soname=`$PYTHON -c \
|
||||
"import distutils.sysconfig,string; \
|
||||
print string.join(filter(None, \
|
||||
distutils.sysconfig.get_config_vars('LDLIBRARY')))"`
|
||||
|
||||
if test -z "$PYTHON_LDFLAGS"; then
|
||||
AC_MSG_ERROR([
|
||||
Could not link test program to Python. Maybe the main Python library has been
|
||||
installed in some non-standard library path. If so, pass it to configure,
|
||||
via the LDFLAGS environment variable.
|
||||
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
|
||||
])
|
||||
fi
|
||||
# Strip away extension from the end to canonicalize its name:
|
||||
ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"`
|
||||
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
# This small piece shamelessly adapted from PostgreSQL python macro;
|
||||
# credits goes to momjian, I think. I'd like to put the right name
|
||||
# in the credits, if someone can point me in the right direction... ?
|
||||
#
|
||||
if test -n "$ac_python_libdir" -a -n "$ac_python_library" \
|
||||
-a x"$ac_python_library" != x"$ac_python_soname"
|
||||
then
|
||||
# use the official shared library
|
||||
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
|
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
|
||||
else
|
||||
# old way: use libpython from python_configdir
|
||||
ac_python_libdir=`$PYTHON -c \
|
||||
"from distutils.sysconfig import get_python_lib as f; \
|
||||
import os; \
|
||||
print os.path.join(f(plat_specific=1,standard_lib=1),'config');"`
|
||||
PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
|
||||
fi
|
||||
|
||||
if test -z "PYTHON_LDFLAGS"; then
|
||||
AC_MSG_ERROR([
|
||||
Cannot determine location of your Python DSO. Please check it was installed with
|
||||
dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
|
||||
])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$PYTHON_LDFLAGS])
|
||||
AC_SUBST([PYTHON_LDFLAGS])
|
||||
|
@ -231,14 +248,16 @@ $ac_distutils_result])
|
|||
|
||||
AC_MSG_RESULT([$pythonexists])
|
||||
|
||||
if test ! "$pythonexists" = "yes"; then
|
||||
if test ! "$pythonexists" = "yes"; then
|
||||
AC_MSG_ERROR([
|
||||
Could not link test program to Python. Maybe the main Python library has been
|
||||
installed in some non-standard library path. If so, pass it to configure,
|
||||
via the LDFLAGS environment variable.
|
||||
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
|
||||
============================================================================
|
||||
ERROR!
|
||||
You probably have to install the development version of the Python package
|
||||
for your distribution. The exact name of this package varies among them.
|
||||
Take also a look to config.log. If everything looks all right, please
|
||||
report the problem to the macro maintainer.
|
||||
============================================================================
|
||||
])
|
||||
PYTHON_VERSION=""
|
||||
|
|
|
@ -25,15 +25,15 @@ AC_INIT([sgpemv2-xmlsave],[1.0],[matteo@member.fsf.org])
|
|||
if test -f "`pwd`/configure.ac"; then
|
||||
AC_MSG_FAILURE([
|
||||
** This seems to be the pkg root directory.
|
||||
** Compiling here your sources is considered
|
||||
** as unpolite as exploring your nose with
|
||||
** your pinky whilst attending a wedding party.
|
||||
** Compiling here your sources is considered
|
||||
** as unpolite as exploring your nose with
|
||||
** your pinky whilst attending a wedding party.
|
||||
** Please create a new dir as described in
|
||||
** the README file, and then run configure
|
||||
** into it. If you think you've got it right,
|
||||
** please inform the mantainer of this error!
|
||||
** He'll thoroughfully bash his head on the wall.],
|
||||
-1 )
|
||||
** please inform the mantainer of this error!
|
||||
** He'll thoroughfully bash his head on the wall.],
|
||||
-1 )
|
||||
fi
|
||||
|
||||
AC_GNU_SOURCE
|
||||
|
@ -61,7 +61,6 @@ AC_CHECK_CXXFLAG([CXXFLAGS], [Wall])
|
|||
AC_CHECK_CXXFLAG([CXXFLAGS], [pedantic])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [Wextra])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [Wno-long-long])
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [fvisibility-inlines-hidden])
|
||||
AC_CHECK_LDFLAG([LDFLAGS], [--as-needed])
|
||||
|
||||
dnl see if we've to enable debug flags
|
||||
|
@ -77,6 +76,22 @@ else
|
|||
AC_CHECK_CXXFLAG([CXXFLAGS], [DNDEBUG])
|
||||
fi
|
||||
|
||||
|
||||
dnl see if we have to enable visibility support
|
||||
AC_ARG_ENABLE([visibility-support],
|
||||
AS_HELP_STRING([--enable-visibility-support],
|
||||
[enable the new GCC visibility support; requires GCC >= 4.0 to work.]),
|
||||
[enable_gcc_visibility="$enableval"],
|
||||
[enable_gcc_visibility="no"])
|
||||
AC_MSG_CHECKING([whether to use new GCC visibility attributes])
|
||||
if test "x$enable_gcc_visibility" = "xno"; then
|
||||
CPPFLAGS="${CPPFLAGS} -DDISABLE_VISIBILITY_SUPPORT"
|
||||
else
|
||||
AC_CHECK_CXXFLAG([CXXFLAGS], [fvisibility-inlines-hidden])
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_gcc_visibility])
|
||||
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl make
|
||||
|
|
415
po/sgpemv2.pot
415
po/sgpemv2.pot
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
// src/backend/scheduler.cc - Copyright 2005, 2006, University
|
||||
// src/backend/scheduler.cc - Copyright 2005-2007 University
|
||||
// of Padova, dept. of Pure and Applied
|
||||
// Mathematics
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// src/parseopts.cc - Copyright 2005, 2006, University
|
||||
// src/parseopts.cc - Copyright 2005-2007, University
|
||||
// of Padova, dept. of Pure and Applied
|
||||
// Mathematics
|
||||
//
|
||||
|
@ -98,14 +98,14 @@ parse_options(int argc, char** argv)
|
|||
|
||||
try
|
||||
{
|
||||
// Parse options, initialising the Gtk::Main at the same time
|
||||
// Parse options, initialising the Gtk at the same time
|
||||
gboolean gui_initializable = gtk_init_check(&argc, &argv);
|
||||
context.parse(argc, argv);
|
||||
|
||||
GlobalPreferences& prefs = GlobalPreferences::get_instance();
|
||||
try
|
||||
{
|
||||
prefs.load_configrc();
|
||||
|
||||
}
|
||||
catch (std::exception e)
|
||||
{
|
||||
|
@ -131,7 +131,7 @@ parse_options(int argc, char** argv)
|
|||
|
||||
vector<CPUPolicyManager*> managers = CPUPoliciesGatekeeper::get_instance().get_registered();
|
||||
|
||||
if (no_gui_enabled)
|
||||
if (no_gui_enabled || !gui_initializable)
|
||||
{
|
||||
// We don't return to main, instead we
|
||||
// initialize the command line version
|
||||
|
@ -154,10 +154,11 @@ parse_options(int argc, char** argv)
|
|||
}
|
||||
else
|
||||
{
|
||||
Gtk::Main main(argc, argv);
|
||||
GuiBuilder* gui = new GuiBuilder();
|
||||
if (fnames.begin() != fnames.end())
|
||||
gui->open_file(*fnames.begin());
|
||||
Gtk::Main::run(gui->get_initial_window());
|
||||
main.run(gui->get_initial_window());
|
||||
delete gui;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// src/schedulables_tree_widget.cc - Copyright 2005, 2006, University
|
||||
// src/schedulables_tree_widget.cc - Copyright 2005-2007, University
|
||||
// of Padova, dept. of Pure and Applied
|
||||
// Mathematics
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// src/text_simulation.cc - Copyright 2005, 2006, University
|
||||
// src/text_simulation.cc - Copyright 2005-2007, University
|
||||
// of Padova, dept. of Pure and Applied
|
||||
// Mathematics
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue