Index: tol/stdlib/_init_stdlib.tol
===================================================================
--- tol/stdlib/_init_stdlib.tol	(revision 0904dac3913e3f9401ec520406da8549efccc929)
+++ tol/stdlib/_init_stdlib.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
@@ -124,4 +124,5 @@
 //////////////////////////////////////////////////////////////////////////////
 Real TolPackage::Client::Initialize(0);
+Real TolCint::StartActions(0);
 
 //////////////////////////////////////////////////////////////////////////////
Index: tol/stdlib/general/TolCint/TolCint.tol
===================================================================
--- tol/stdlib/general/TolCint/TolCint.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
+++ tol/stdlib/general/TolCint/TolCint.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
@@ -0,0 +1,32 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : TolCint.tol
+// PURPOSE: Defines NameBlock TolCint
+//////////////////////////////////////////////////////////////////////////////
+
+NameBlock TolCint = [[
+Text _.autodoc.description = "Tools for use with CINT API"
+".";
+
+Set _.autodoc.keys = [["TOL","CINT"]];
+Set _.autodoc.authors = [["vdebuen@tol-project.org"]];
+
+Text _root = GetAbsolutePath(".");
+
+#Embed "module.tol";
+
+Set _.standardModules = Copy(Empty);
+
+Real StartActions(Real void)
+{
+  Set Append(_.standardModules, [[
+    @Module tol_cint_casting = @Module::Load(_root+"/tol_cint_casting.cpp")
+  ]]);
+  True
+}
+
+]];
+
+//Sólo en version de pruebas
+//Real TolCint::Client::Initialize(0);
+
Index: tol/stdlib/general/TolCint/module.tol
===================================================================
--- tol/stdlib/general/TolCint/module.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
+++ tol/stdlib/general/TolCint/module.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
@@ -0,0 +1,30 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : module.tol
+// PURPOSE: Defines Class @Module
+//////////////////////////////////////////////////////////////////////////////
+
+Text _.autodoc.member.Module = "Handler for Cint modules. Loads a .cpp or .c "
+"file and unloads it when instance is destroyed.";
+
+//////////////////////////////////////////////////////////////////////////////
+Class @Module 
+//////////////////////////////////////////////////////////////////////////////
+{
+  Text _.path = "";
+  Real _.result = ?;
+
+  Static @Module Load(Text path)
+  {
+    @Module new = [[
+      Text _.path = path;
+      Real _.result = Cint.loadfile(_.path)
+    ]]
+  };
+  Real __destroy (Real void) 
+  {
+    If(_.path!="", Cint.unloadfile(_.path))
+  } 
+
+};
+
Index: tol/stdlib/general/TolCint/tol_cint_casting.cpp
===================================================================
--- tol/stdlib/general/TolCint/tol_cint_casting.cpp	(revision 3513d87097277521fb9849f99830c033f622f1f9)
+++ tol/stdlib/general/TolCint/tol_cint_casting.cpp	(revision 3513d87097277521fb9849f99830c033f622f1f9)
@@ -0,0 +1,69 @@
+/* -*- mode: C++ -*- */
+//////////////////////////////////////////////////////////////////////////////
+// FILE   : tol_cint_casting.cpp
+// PURPOSE: Defines C/C++ casting for allowed TOL types 
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+typedef double Real;
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+class Matrix
+//////////////////////////////////////////////////////////////////////////////
+{
+public:
+  int rows_;
+  int columns_;
+  double* buffer_;
+
+  Matrix(int rows, int columns, double* buffer)
+  : rows_(rows),
+    columns_(columns),
+    buffer_(buffer)
+  {}
+
+ ~Matrix() {}
+
+//Zero based vector access
+  double& operator[] (int k) const
+  {
+    return(buffer_[k]);
+  }
+//Zero based matrix access
+  double& operator[] (int i, int j) const
+  {
+    return(buffer_[i*columns_+j]);
+  }
+//One based vector access
+  double& operator() (int k) const
+  {
+    return(buffer_[k]);
+  }
+//One based matrix access
+  double& operator() (int i, int j) const
+  {
+    return(buffer_[(i-1)*columns_+j-1]);
+  }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+class Text
+//////////////////////////////////////////////////////////////////////////////
+{
+public:
+  int length_;
+  char* buffer_;
+
+  Text(int length, char* buffer)
+  : length_(length),
+    buffer_(buffer)
+  {}
+
+ ~Text() {}
+
+  double& operator() (int i) const
+  {
+    return(buffer_[i]);
+  }
+};
Index: tol/stdlib/general/_init_general.tol
===================================================================
--- tol/stdlib/general/_init_general.tol	(revision 0904dac3913e3f9401ec520406da8549efccc929)
+++ tol/stdlib/general/_init_general.tol	(revision 3513d87097277521fb9849f99830c033f622f1f9)
@@ -11,3 +11,4 @@
 Set Include("tol_tests/_init_tol_tests.tol");
 Set Include("TolPackage/TolPackage.tol");
+Set Include("TolCint/TolCint.tol");
 
