Commit 91c9544a authored by Davis King's avatar Davis King
Browse files

set the subversion eol-style to native for these files

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%402354
parent 8fa33842
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>Change Log</title> <title>Change Log</title>
<body from_file="svnlog.txt"> <body from_file="svnlog.txt">
<br/> <br/>
<center><a href="old_change_log.html">Old Change Logs</a></center> <center><a href="old_change_log.html">Old Change Logs</a></center>
<br/> <br/>
</body> </body>
</doc> </doc>
The Table of Contents.hhc file is auto generated by the toc.xml and htmlhelp_stylesheet.xsl files. The Table of Contents.hhc file is auto generated by the toc.xml and htmlhelp_stylesheet.xsl files.
You really can edit it if you want but I suggest you use the stylesheet to auto generate it instead. You really can edit it if you want but I suggest you use the stylesheet to auto generate it instead.
If you want to regenerate the table of contents file you can do so with If you want to regenerate the table of contents file you can do so with
the command "msxsl toc.xml htmlhelp_stylesheet.xsl" if you are using msxsl.exe. the command "msxsl toc.xml htmlhelp_stylesheet.xsl" if you are using msxsl.exe.
\ No newline at end of file
<TITLE>dlib C++ library</TITLE> <TITLE>dlib C++ library</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!-- <SCRIPT LANGUAGE="JavaScript"><!--
function redirect () { window.location.href = "docs/index.html"; } function redirect () { window.location.href = "docs/index.html"; }
//--></SCRIPT> //--></SCRIPT>
</HEAD> </HEAD>
<BODY onLoad="redirect()"> <BODY onLoad="redirect()">
<p> <p>
<a href="docs/index.html">click here to go to the documentation</a> <a href="docs/index.html">click here to go to the documentation</a>
</p> </p>
</BODY> </BODY>
</HTML> </HTML>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes' /> <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes' />
<xsl:variable name="main_menu" select="/htmlhelp_toc/main_menu_file"/> <xsl:variable name="main_menu" select="/htmlhelp_toc/main_menu_file"/>
<xsl:variable name="docs" select="/htmlhelp_toc/docs_folder"/> <xsl:variable name="docs" select="/htmlhelp_toc/docs_folder"/>
<xsl:variable name="show_include_file" select="/htmlhelp_toc/show_include_file"/> <xsl:variable name="show_include_file" select="/htmlhelp_toc/show_include_file"/>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz </xsl:variable> <xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz </xsl:variable>
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ </xsl:variable> <xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ </xsl:variable>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:template match="/htmlhelp_toc"> <xsl:template match="/htmlhelp_toc">
<HTML> <HTML>
<HEAD> <HEAD>
</HEAD><BODY> </HEAD><BODY>
<UL> <UL>
<xsl:apply-templates select="document($main_menu)/doc/menu"/> <xsl:apply-templates select="document($main_menu)/doc/menu"/>
</UL> </UL>
</BODY></HTML> </BODY></HTML>
</xsl:template> </xsl:template>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:template match="section"> <xsl:template match="section">
<xsl:param name="html_file" /> <xsl:param name="html_file" />
<xsl:param name="xml_file" /> <xsl:param name="xml_file" />
<xsl:choose> <xsl:choose>
<xsl:when test="count(/doc/menu/top/section) != 1"> <xsl:when test="count(/doc/menu/top/section) != 1">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="{name}"/> <param name="Name" value="{name}"/>
</OBJECT> </OBJECT>
</LI> </LI>
<UL> <UL>
<xsl:for-each select="item"> <xsl:for-each select="item">
<xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/> <xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/>
<xsl:apply-templates select="."> <xsl:apply-templates select=".">
<xsl:with-param name="xml_file" select="$xml_file"/> <xsl:with-param name="xml_file" select="$xml_file"/>
<xsl:with-param name="html_file" select="$html_file"/> <xsl:with-param name="html_file" select="$html_file"/>
</xsl:apply-templates> </xsl:apply-templates>
</xsl:for-each> </xsl:for-each>
</UL> </UL>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:for-each select="item"> <xsl:for-each select="item">
<xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/> <xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/>
<xsl:apply-templates select="."> <xsl:apply-templates select=".">
<xsl:with-param name="xml_file" select="$xml_file"/> <xsl:with-param name="xml_file" select="$xml_file"/>
<xsl:with-param name="html_file" select="$html_file"/> <xsl:with-param name="html_file" select="$html_file"/>
</xsl:apply-templates> </xsl:apply-templates>
</xsl:for-each> </xsl:for-each>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:template match="menu"> <xsl:template match="menu">
<xsl:param name="html_file" /> <xsl:param name="html_file" />
<xsl:param name="xml_file" /> <xsl:param name="xml_file" />
<xsl:for-each select="top/section"> <xsl:for-each select="top/section">
<xsl:apply-templates select="."> <xsl:apply-templates select=".">
<xsl:with-param name="xml_file" select="$xml_file"/> <xsl:with-param name="xml_file" select="$xml_file"/>
<xsl:with-param name="html_file" select="$html_file"/> <xsl:with-param name="html_file" select="$html_file"/>
</xsl:apply-templates> </xsl:apply-templates>
</xsl:for-each> </xsl:for-each>
</xsl:template> </xsl:template>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:template match="item"> <xsl:template match="item">
<xsl:param name="html_file" /> <xsl:param name="html_file" />
<xsl:param name="xml_file" /> <xsl:param name="xml_file" />
<xsl:choose> <xsl:choose>
<xsl:when test="name != ''"> <xsl:when test="name != ''">
<LI><OBJECT type="text/sitemap"> <LI><OBJECT type="text/sitemap">
<param name="Name" value="{name}"/> <param name="Name" value="{name}"/>
<xsl:choose> <xsl:choose>
<xsl:when test="link"> <xsl:when test="link">
<param name="Local" value="{$docs}\{link}"/> <param name="Local" value="{$docs}\{link}"/>
</xsl:when> </xsl:when>
<xsl:when test="@nolink = 'true'"> <xsl:when test="@nolink = 'true'">
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<param name="Local" value="{$docs}\{$html_file}#{name}"/> <param name="Local" value="{$docs}\{$html_file}#{name}"/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</OBJECT> </OBJECT>
</LI> </LI>
<xsl:choose> <xsl:choose>
<xsl:when test="sub"> <xsl:when test="sub">
<UL> <UL>
<xsl:for-each select="sub/item"> <xsl:for-each select="sub/item">
<xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/> <xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/>
<xsl:apply-templates select="."> <xsl:apply-templates select=".">
<xsl:with-param name="xml_file" select="$xml_file"/> <xsl:with-param name="xml_file" select="$xml_file"/>
<xsl:with-param name="html_file" select="$html_file"/> <xsl:with-param name="html_file" select="$html_file"/>
</xsl:apply-templates> </xsl:apply-templates>
</xsl:for-each> </xsl:for-each>
</UL> </UL>
</xsl:when> </xsl:when>
<xsl:when test="chm_sub"> <xsl:when test="chm_sub">
<UL> <UL>
<xsl:apply-templates select="document(chm_sub)/doc/menu"> <xsl:apply-templates select="document(chm_sub)/doc/menu">
<xsl:with-param name="xml_file" select="chm_sub"/> <xsl:with-param name="xml_file" select="chm_sub"/>
<xsl:with-param name="html_file" select="link"/> <xsl:with-param name="html_file" select="link"/>
</xsl:apply-templates> </xsl:apply-templates>
</UL> </UL>
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</xsl:when> </xsl:when>
<xsl:when test="@nolink = 'true'"> <xsl:when test="@nolink = 'true'">
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<LI><OBJECT type="text/sitemap"> <LI><OBJECT type="text/sitemap">
<param name="Name" value="{.}"/> <param name="Name" value="{.}"/>
<param name="Local" value="{$docs}\{$html_file}#{.}"/> <param name="Local" value="{$docs}\{$html_file}#{.}"/>
</OBJECT> </OBJECT>
</LI> </LI>
<xsl:variable name="cname" select="."/> <xsl:variable name="cname" select="."/>
<xsl:for-each select="document($xml_file)/doc/components/component"> <xsl:for-each select="document($xml_file)/doc/components/component">
<xsl:if test="name = $cname"> <xsl:if test="name = $cname">
<UL> <UL>
<xsl:if test="spec_file"> <xsl:if test="spec_file">
<xsl:choose> <xsl:choose>
<xsl:when test="spec_file/@link = 'true'"> <xsl:when test="spec_file/@link = 'true'">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="specification"/> <param name="Name" value="specification"/>
<param name="Local" value="{$docs}\{spec_file}.html#{name}"/> <param name="Local" value="{$docs}\{spec_file}.html#{name}"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="specification"/> <param name="Name" value="specification"/>
<param name="Local" value="{$docs}\{spec_file}.html"/> <param name="Local" value="{$docs}\{spec_file}.html"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
<xsl:if test="$show_include_file = 'true'"> <xsl:if test="$show_include_file = 'true'">
<xsl:if test="file"> <xsl:if test="file">
<xsl:choose> <xsl:choose>
<xsl:when test="spec_file/@link = 'true' "> <xsl:when test="spec_file/@link = 'true' ">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="include file"/> <param name="Name" value="include file"/>
<param name="Local" value="{$docs}\{file}.html"/> <param name="Local" value="{$docs}\{file}.html"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:when> </xsl:when>
<xsl:when test="spec_file != file"> <xsl:when test="spec_file != file">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="include file"/> <param name="Name" value="include file"/>
<param name="Local" value="{$docs}\{file}.html"/> <param name="Local" value="{$docs}\{file}.html"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
<xsl:if test="body_file"> <xsl:if test="body_file">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="body"/> <param name="Name" value="body"/>
<param name="Local" value="{$docs}\{body_file}.html#{name}"/> <param name="Local" value="{$docs}\{body_file}.html#{name}"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:if> </xsl:if>
<xsl:if test="extensions"> <xsl:if test="extensions">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="extensions"/> <param name="Name" value="extensions"/>
</OBJECT> </OBJECT>
</LI> </LI>
<UL> <UL>
<xsl:for-each select="extensions/extension"> <xsl:for-each select="extensions/extension">
<LI> <OBJECT type="text/sitemap"> <LI> <OBJECT type="text/sitemap">
<param name="Name" value="{name}"/> <param name="Name" value="{name}"/>
<param name="Local" value="{$docs}\{spec_file}.html"/> <param name="Local" value="{$docs}\{spec_file}.html"/>
</OBJECT> </OBJECT>
</LI> </LI>
</xsl:for-each> </xsl:for-each>
</UL> </UL>
</xsl:if> </xsl:if>
</UL> </UL>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<xsl:template match="sub"> <xsl:template match="sub">
<ul> <ul>
<xsl:for-each select="item"> <xsl:for-each select="item">
<xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/> <xsl:sort select="translate(concat(name,.),$lcletters, $ucletters)"/>
<xsl:apply-templates select="."/> <xsl:apply-templates select="."/>
</xsl:for-each> </xsl:for-each>
</ul> </ul>
</xsl:template> </xsl:template>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
</xsl:stylesheet> </xsl:stylesheet>
[OPTIONS] [OPTIONS]
Binary TOC=Yes Binary TOC=Yes
Compatibility=1.1 or later Compatibility=1.1 or later
Compiled file=help.chm Compiled file=help.chm
Contents file=Table of Contents.hhc Contents file=Table of Contents.hhc
Default topic=docs/index.html Default topic=docs/index.html
Display compile progress=Yes Display compile progress=Yes
Full-text search=Yes Full-text search=Yes
Language=0x409 English (United States) Language=0x409 English (United States)
Title=dLib Title=dLib
[FILES] [FILES]
docs/api.html docs/api.html
docs/dlib/test/makefile docs/dlib/test/makefile
docs/right.gif docs/right.gif
docs/down.gif docs/down.gif
docs/plus.gif docs/plus.gif
docs/minus.gif docs/minus.gif
docs/change_log.html docs/change_log.html
docs/compile.html docs/compile.html
docs/compress_stream_ex.cpp.html docs/compress_stream_ex.cpp.html
docs/compression.html docs/compression.html
docs/containers.html docs/containers.html
docs/dir_nav_ex.cpp.html docs/dir_nav_ex.cpp.html
docs/gui_api_ex.cpp.html docs/gui_api_ex.cpp.html
docs/index.html docs/index.html
docs/intro.html docs/intro.html
docs/kernel_1a.html docs/kernel_1a.html
docs/kernel_1b.html docs/kernel_1b.html
docs/kernel_1c.html docs/kernel_1c.html
docs/kernel_1da.html docs/kernel_1da.html
docs/kernel_1db.html docs/kernel_1db.html
docs/kernel_1ea.html docs/kernel_1ea.html
docs/kernel_1eb.html docs/kernel_1eb.html
docs/kernel_1ec.html docs/kernel_1ec.html
docs/kernel_2a.html docs/kernel_2a.html
docs/kernel_3a.html docs/kernel_3a.html
docs/kernel_3b.html docs/kernel_3b.html
docs/license.html docs/license.html
docs/network.html docs/network.html
docs/other.html docs/other.html
docs/metaprogramming.html docs/metaprogramming.html
docs/imaging.html docs/imaging.html
docs/parsing.html docs/parsing.html
docs/queue_ex.cpp.html docs/queue_ex.cpp.html
docs/release_notes.html docs/release_notes.html
docs/old_release_notes.html docs/old_release_notes.html
docs/sockets_ex.cpp.html docs/sockets_ex.cpp.html
[INFOTYPES] [INFOTYPES]
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="htmlhelp_stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="htmlhelp_stylesheet.xsl"?>
<htmlhelp_toc> <htmlhelp_toc>
<docs_folder>docs</docs_folder> <docs_folder>docs</docs_folder>
<main_menu_file>../main_menu.xml</main_menu_file> <main_menu_file>../main_menu.xml</main_menu_file>
<show_include_file>false</show_include_file> <show_include_file>false</show_include_file>
</htmlhelp_toc> </htmlhelp_toc>
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>How to compile</title> <title>How to compile</title>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<body> <body>
<br/><br/> <br/><br/>
<p> <p>
To use this library all you have to do is extract the library somewhere, make sure the folder <i>containing</i> To use this library all you have to do is extract the library somewhere, make sure the folder <i>containing</i>
the dlib folder is in your include path, and finally add <a href="dlib/all/source.cpp.html">dlib/all/source.cpp</a> the dlib folder is in your include path, and finally add <a href="dlib/all/source.cpp.html">dlib/all/source.cpp</a>
to your project. to your project.
</p> </p>
<p> <p>
An example makefile that uses this library can be found here: An example makefile that uses this library can be found here:
<a href="dlib/test/makefile">dlib/test/makefile</a>. It is the makefile used to build the regression <a href="dlib/test/makefile">dlib/test/makefile</a>. It is the makefile used to build the regression
test suite for this library. There is also a test suite for this library. There is also a
<web> <a href="http://www.cmake.org">CMake</a> </web> <chm>CMake</chm> makefile that builds the <web> <a href="http://www.cmake.org">CMake</a> </web> <chm>CMake</chm> makefile that builds the
regression test suite at <a href="dlib/test/CMakeLists.txt.html">dlib/test/CMakeLists.txt</a> and another regression test suite at <a href="dlib/test/CMakeLists.txt.html">dlib/test/CMakeLists.txt</a> and another
CMake makefile that builds all the example programs at CMake makefile that builds all the example programs at
<a href="examples/CMakeLists.txt.html">examples/CMakeLists.txt</a> <a href="examples/CMakeLists.txt.html">examples/CMakeLists.txt</a>
</p> </p>
<p> <p>
I try to make sure everything compiles fine under Visual Studio .NET 2003 (and above) and gcc. The compilers that will give you trouble are listed at the bottom of the page. I try to make sure everything compiles fine under Visual Studio .NET 2003 (and above) and gcc. The compilers that will give you trouble are listed at the bottom of the page.
</p> </p>
<p> <p>
Again, note that you should <b><i>not</i></b> add the dlib folder itself to your compiler's include path. Again, note that you should <b><i>not</i></b> add the dlib folder itself to your compiler's include path.
Doing so will cause the Doing so will cause the
build to fail because of name collisions (such as dlib/string.h and string.h from the standard library). build to fail because of name collisions (such as dlib/string.h and string.h from the standard library).
Instead you should add the folder that contains the dlib folder to your include search path and then use Instead you should add the folder that contains the dlib folder to your include search path and then use
include statements of the form <tt>#include &lt;dlib/queue.h&gt;</tt>. This will ensure that everything include statements of the form <tt>#include &lt;dlib/queue.h&gt;</tt>. This will ensure that everything
builds correctly. builds correctly.
</p> </p>
<center><h1>Preprocessor Directives</h1></center> <center><h1>Preprocessor Directives</h1></center>
<p> <p>
There are a few preprocessor directives that you can supply during the build process to cause the There are a few preprocessor directives that you can supply during the build process to cause the
library to build in various optional ways. The most people will probably not want library to build in various optional ways. The most people will probably not want
to mess with these at all and just use the library in its default build. But they are listed to mess with these at all and just use the library in its default build. But they are listed
here in the event that you need to use them. here in the event that you need to use them.
</p> </p>
<anchor>DLIB_THREAD_POOL_TIMEOUT</anchor> <anchor>DLIB_THREAD_POOL_TIMEOUT</anchor>
<h3>#define DLIB_ISO_CPP_ONLY</h3> <h3>#define DLIB_ISO_CPP_ONLY</h3>
<p> <p>
This is a #define directive that you can set to cause the library to exclude all non ISO C++ code (The things in the <a href="api.html">API wrappers</a> section and any objects that depend on those wrappers). This is a #define directive that you can set to cause the library to exclude all non ISO C++ code (The things in the <a href="api.html">API wrappers</a> section and any objects that depend on those wrappers).
This is useful if you are trying to build on a system that isn't fully supported by the library or if you This is useful if you are trying to build on a system that isn't fully supported by the library or if you
just decide you don't want any of that stuff compiled into your program for your own reasons. just decide you don't want any of that stuff compiled into your program for your own reasons.
</p> </p>
<anchor>DLIB_NO_GUI_SUPPORT</anchor> <anchor>DLIB_NO_GUI_SUPPORT</anchor>
<h3>#define DLIB_NO_GUI_SUPPORT</h3> <h3>#define DLIB_NO_GUI_SUPPORT</h3>
<p> <p>
This is just like the DLIB_ISO_CPP_ONLY option except that it excludes only the GUI part of the library. This is just like the DLIB_ISO_CPP_ONLY option except that it excludes only the GUI part of the library.
An example of when you might want to use this would be if you don't need GUI support and you are building An example of when you might want to use this would be if you don't need GUI support and you are building
on a UNIX platform that doesn't have the X11 headers installed. on a UNIX platform that doesn't have the X11 headers installed.
</p> </p>
<anchor>NO_MAKEFILE</anchor> <anchor>NO_MAKEFILE</anchor>
<h3>#define NO_MAKEFILE</h3> <h3>#define NO_MAKEFILE</h3>
<p> <p>
This preprocessor directive causes the dlib headers to pull in all the This preprocessor directive causes the dlib headers to pull in all the
code that would normally be built in dlib/all/source.cpp. Thus if you #define NO_MAKEFILE you won't code that would normally be built in dlib/all/source.cpp. Thus if you #define NO_MAKEFILE you won't
have to add dlib/all/source.cpp to your project. The <i>only</i> time this is useful is when your have to add dlib/all/source.cpp to your project. The <i>only</i> time this is useful is when your
project consists of a single translation unit (i.e. a single cpp file). In this instance NO_MAKEFILE project consists of a single translation unit (i.e. a single cpp file). In this instance NO_MAKEFILE
allows you to easily build your project on the command line by saying something like <tt>g++ -DNO_MAKEFILE allows you to easily build your project on the command line by saying something like <tt>g++ -DNO_MAKEFILE
project.cpp</tt>. But again, this is only for single cpp file projects. If you use NO_MAKEFILE with projects project.cpp</tt>. But again, this is only for single cpp file projects. If you use NO_MAKEFILE with projects
that contain more than one cpp file you will get linker errors about multiply defined symbols. that contain more than one cpp file you will get linker errors about multiply defined symbols.
</p> </p>
<p> <p>
Also note that if you use this macro then the <a href="metaprogramming.html#DLIB_STACK_TRACE">stack trace</a> Also note that if you use this macro then the <a href="metaprogramming.html#DLIB_STACK_TRACE">stack trace</a>
functionality in the library will be disabled. functionality in the library will be disabled.
</p> </p>
<anchor>DLIB_THREAD_POOL_TIMEOUT</anchor> <anchor>DLIB_THREAD_POOL_TIMEOUT</anchor>
<h3>#define DLIB_THREAD_POOL_TIMEOUT &lt;time-in-milliseconds&gt;</h3> <h3>#define DLIB_THREAD_POOL_TIMEOUT &lt;time-in-milliseconds&gt;</h3>
<p> <p>
If you use the <a href="dlib/threads/threads_kernel_abstract.h#create_new_thread">create_new_thread</a> function If you use the <a href="dlib/threads/threads_kernel_abstract.h#create_new_thread">create_new_thread</a> function
to create your threads then you receive the benefit of the dlib thread pool. This pool enables the create_new_thread to create your threads then you receive the benefit of the dlib thread pool. This pool enables the create_new_thread
function to spawn new threads very rapidly since it draws threads back out of its thread pool when the pool isn't function to spawn new threads very rapidly since it draws threads back out of its thread pool when the pool isn't
empty. empty.
</p> </p>
<p> <p>
Thus, when a thread that was created by create_new_thread ends it actually goes back into the dlib thread pool Thus, when a thread that was created by create_new_thread ends it actually goes back into the dlib thread pool
and waits DLIB_THREAD_POOL_TIMEOUT milliseconds before totally terminating and releasing its resources back and waits DLIB_THREAD_POOL_TIMEOUT milliseconds before totally terminating and releasing its resources back
to the operating system. The default timeout used by this library is 30,000 milliseconds (30 seconds). You to the operating system. The default timeout used by this library is 30,000 milliseconds (30 seconds). You
may however change this to whatever you like by defining DLIB_THREAD_POOL_TIMEOUT to some new value. may however change this to whatever you like by defining DLIB_THREAD_POOL_TIMEOUT to some new value.
</p> </p>
<center><h1>Compilers</h1></center> <center><h1>Compilers</h1></center>
<h2>Visual Studio .NET 2003</h2> <h2>Visual Studio .NET 2003</h2>
<p>You need to link to one of the multithreaded C run-time libraries if you are using the threading stuff. You can do <p>You need to link to one of the multithreaded C run-time libraries if you are using the threading stuff. You can do
this by setting it in the project options. If you don't you will get some error about _beginthreadex not linking. this by setting it in the project options. If you don't you will get some error about _beginthreadex not linking.
</p> </p>
<h2>Visual C++ toolkit 2003</h2> <h2>Visual C++ toolkit 2003</h2>
<p> <p>
This is a pretty good compiler and it is free. But it can be a major pain to use. This is a pretty good compiler and it is free. But it can be a major pain to use.
To get it working you have to download the platform sdk along with the toolkit itself. To get it working you have to download the platform sdk along with the toolkit itself.
both of these things are available from the microsoft web page for free. both of these things are available from the microsoft web page for free.
</p> </p>
<p> <p>
Once you have the toolkit and platform sdk installed you should be ready to go. Once you have the toolkit and platform sdk installed you should be ready to go.
Go to start -> programs -> microsoft visual c++ toolkit 2003 -> Visual C++ Toolkit 2003 Command Prompt. Then switch to the directory that contains your source and the dlib folder. Go to start -> programs -> microsoft visual c++ toolkit 2003 -> Visual C++ Toolkit 2003 Command Prompt. Then switch to the directory that contains your source and the dlib folder.
</p> </p>
<p> <p>
The following is the command I use and yours should look similar: The following is the command I use and yours should look similar:
<tt>cl /O2 -DNO_MAKEFILE /EHsc /MT "%1"</tt> <br/> <tt>cl /O2 -DNO_MAKEFILE /EHsc /MT "%1"</tt> <br/>
The %1 should be replaced with the cpp file(s) you want to compile. The %1 should be replaced with the cpp file(s) you want to compile.
</p> </p>
<p> <p>
You may also have to tell the compiler where the include and lib folders are in the platform sdk. You may also have to tell the compiler where the include and lib folders are in the platform sdk.
If the above command doesn't work try this one (change paths appropriately for your system): If the above command doesn't work try this one (change paths appropriately for your system):
<tt>cl /O2 -DNO_MAKEFILE /EHsc /MT /I"C:\Program Files\Microsoft Platform SDK\Include" "%1" /link /LIBPATH:"C:\Program Files\Microsoft Platform SDK\Lib\" </tt> <tt>cl /O2 -DNO_MAKEFILE /EHsc /MT /I"C:\Program Files\Microsoft Platform SDK\Include" "%1" /link /LIBPATH:"C:\Program Files\Microsoft Platform SDK\Lib\" </tt>
</p> </p>
<h2>gcc</h2> <h2>gcc</h2>
<p> <p>
I generally use gcc version 4.1 but most other versions of gcc work just fine also (except 2.95, see below). I generally use gcc version 4.1 but most other versions of gcc work just fine also (except 2.95, see below).
</p> </p>
<p> <p>
The command line I generally use is "g++ -D NO_MAKEFILE -lnsl -lpthread file.cpp" I think you need to The command line I generally use is "g++ -D NO_MAKEFILE -lnsl -lpthread file.cpp" I think you need to
tell it to link nsl to make the threading stuff work right, I honestly can't remember what part of tell it to link nsl to make the threading stuff work right, I honestly can't remember what part of
the library requires it I have just been doing it for so long :) the library requires it I have just been doing it for so long :)
</p> </p>
<p> <p>
If you are using the sockets stuff then on some platforms you need to supply the -lsocket option. Or if you are using the gui stuff you will need to supply the -lX11 option. If you are using the sockets stuff then on some platforms you need to supply the -lsocket option. Or if you are using the gui stuff you will need to supply the -lX11 option.
</p> </p>
<p> <p>
If you compile on solaris you have to give the -lsocket If you compile on solaris you have to give the -lsocket
option if you use the sockets API. option if you use the sockets API.
</p> </p>
<h2>gcc on windows</h2> <h2>gcc on windows</h2>
<p> <p>
The commands for gcc on windows are the same as above but you may also have to link (via the -l option) to the following libraries: gdi32, comctl32, user32, ws2_32, or imm32. The commands for gcc on windows are the same as above but you may also have to link (via the -l option) to the following libraries: gdi32, comctl32, user32, ws2_32, or imm32.
</p> </p>
<center><h1>Problem Compilers</h1></center> <center><h1>Problem Compilers</h1></center>
<p> <p>
Below is a list of the problems I can remember with various compilers. All the problems here are Below is a list of the problems I can remember with various compilers. All the problems here are
bugs in the compiler and are a pain to write workarounds for (or the workarounds are slow/unsatisfactory) so I have no plans to deal with them. Just avoid these compilers in the bugs in the compiler and are a pain to write workarounds for (or the workarounds are slow/unsatisfactory) so I have no plans to deal with them. Just avoid these compilers in the
given situations. given situations.
</p> </p>
<li/> <b> Visual Studio .NET and earlier versions </b> <li/> <b> Visual Studio .NET and earlier versions </b>
<ul> <ul>
These compilers don't compile standard C++ very well. Visual Studio 6 These compilers don't compile standard C++ very well. Visual Studio 6
doesn't even make any pretenses about being standards compliant. Visual Studio .NET is a lot doesn't even make any pretenses about being standards compliant. Visual Studio .NET is a lot
better but has some bugs with how it implements namespace lookups so most of my code will not better but has some bugs with how it implements namespace lookups so most of my code will not
compile in Visual Studio .NET. (Note that Visual Studio .NET <I>2003</I> works just fine) compile in Visual Studio .NET. (Note that Visual Studio .NET <I>2003</I> works just fine)
</ul> </ul>
<li/> <b> gcc 2.95 </b> <li/> <b> gcc 2.95 </b>
<ul> <ul>
<p> <p>
The dir_nav component will not be able to list directories that contain files bigger than 4GB because The dir_nav component will not be able to list directories that contain files bigger than 4GB because
I had to use stat() rather than stat64() when compiling under this compiler. I had to use stat() rather than stat64() when compiling under this compiler.
</p> </p>
<p> <p>
There are also some other problems with gcc 2.95. There are also some other problems with gcc 2.95.
I believe all the containers work and all the API wrappers I believe all the containers work and all the API wrappers
but the GUI stuff works. It is sort of touch and go though. but the GUI stuff works. It is sort of touch and go though.
</p> </p>
</ul> </ul>
</body> </body>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
</doc> </doc>
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<body> <body>
<center><h1>dlib C++ library</h1></center> <center><h1>dlib C++ library</h1></center>
<br/><br/> <br/><br/>
<p> <p>
<web>Welcome to the dlib C++ library's homepage. </web> <web>Welcome to the dlib C++ library's homepage. </web>
<chm>Welcome to the dlib C++ library documentation.</chm> <chm>Welcome to the dlib C++ library documentation.</chm>
It is a modern C++ library with a focus on portability It is a modern C++ library with a focus on portability
and program correctness. It strives to be easy to use right and hard to use wrong. and program correctness. It strives to be easy to use right and hard to use wrong.
Thus, it comes with extensive documentation and thorough debugging modes. Thus, it comes with extensive documentation and thorough debugging modes.
</p> </p>
<p> <p>
The library is open source software and is licensed The library is open source software and is licensed
under the <a href="license.html">Boost Software License</a>. under the <a href="license.html">Boost Software License</a>.
The <a href="intro.html">introduction</a> contains everything you need to know to get The <a href="intro.html">introduction</a> contains everything you need to know to get
started using the library. However, if you have any questions, comments, or complaints feel free to started using the library. However, if you have any questions, comments, or complaints feel free to
<a href='mailto:davisking@users.sourceforge.net'>email me</a><web> or post in the <a href='mailto:davisking@users.sourceforge.net'>email me</a><web> or post in the
sourceforge <a href='http://sourceforge.net/forum/?group_id=130373'>Forums</a></web>. sourceforge <a href='http://sourceforge.net/forum/?group_id=130373'>Forums</a></web>.
</p> </p>
<chm> <chm>
<p> <p>
For updates to this project check its sourceforge page at <a href="http://dclib.sourceforge.net">http://dclib.sourceforge.net</a>. For updates to this project check its sourceforge page at <a href="http://dclib.sourceforge.net">http://dclib.sourceforge.net</a>.
</p> </p>
</chm> </chm>
<br/> <br/>
<p> <p>
<h2>Major Features</h2> <h2>Major Features</h2>
<ul> <ul>
<li><b>Documentation</b> <li><b>Documentation</b>
<ul> <ul>
<li>Unlike a lot of open source projects, this one provides complete and precise <li>Unlike a lot of open source projects, this one provides complete and precise
documentation for every class and function. There are also debugging modes that check the documentation for every class and function. There are also debugging modes that check the
documented preconditions for functions. When this is enabled it will catch the vast majority of documented preconditions for functions. When this is enabled it will catch the vast majority of
bugs caused by calling functions incorrectly or using objects in an incorrect manner. bugs caused by calling functions incorrectly or using objects in an incorrect manner.
</li> </li>
<li>Lots of example programs are provided</li> <li>Lots of example programs are provided</li>
<li><i>I consider the documentation to be the most important part of the library</i>. So if you find anything <li><i>I consider the documentation to be the most important part of the library</i>. So if you find anything
that isn't documented, isn't clear, or has out of date documentation, tell me and I will fix it. that isn't documented, isn't clear, or has out of date documentation, tell me and I will fix it.
</li> </li>
</ul> </ul>
</li> </li>
<li><b>Portable Code</b> <li><b>Portable Code</b>
<ul> <ul>
<li>All non ISO C++ code is isolated inside the OS abstraction layers which are kept as small as possible. <li>All non ISO C++ code is isolated inside the OS abstraction layers which are kept as small as possible.
The rest of the library is either layered on top of the OS The rest of the library is either layered on top of the OS
abstraction layers or is pure ISO C++. </li> abstraction layers or is pure ISO C++. </li>
<li>Big/little endian agnostic</li> <li>Big/little endian agnostic</li>
<li>No other packages are required to use the library. Only APIs that are <li>No other packages are required to use the library. Only APIs that are
provided by an out of the box OS are used. </li> provided by an out of the box OS are used. </li>
<li>The library is tested regularly on win32, Linux, and Mac OS X systems. However, it should <li>The library is tested regularly on win32, Linux, and Mac OS X systems. However, it should
work on any POSIX system and has been tested on Solaris, HPUX, and the BSDs.</li> work on any POSIX system and has been tested on Solaris, HPUX, and the BSDs.</li>
</ul> </ul>
</li> </li>
<li><b>Threading</b> <li><b>Threading</b>
<ul> <ul>
<li>The library provides a portable and simple <a href="api.html#threads">threading API</a></li> <li>The library provides a portable and simple <a href="api.html#threads">threading API</a></li>
<li>A <a href="other.html#pipe">pipe</a> for inter-thread communication</li> <li>A <a href="other.html#pipe">pipe</a> for inter-thread communication</li>
<li>A <a href="other.html#timer">timer</a> object capable of generating events that are regularly spaced in time</li> <li>A <a href="other.html#timer">timer</a> object capable of generating events that are regularly spaced in time</li>
<li><a href="api.html#thread_specific_data">Thread specific data</a></li> <li><a href="api.html#thread_specific_data">Thread specific data</a></li>
<li><a href="api.html#threaded_object">Threaded objects</a></li> <li><a href="api.html#threaded_object">Threaded objects</a></li>
<li><a href="api.html#thread_function">Threaded functions</a></li> <li><a href="api.html#thread_function">Threaded functions</a></li>
</ul> </ul>
</li> </li>
<li><b>Networking</b> <li><b>Networking</b>
<ul> <ul>
<li>The library provides a portable and simple <a href="api.html#sockets">TCP sockets API</a></li> <li>The library provides a portable and simple <a href="api.html#sockets">TCP sockets API</a></li>
<li>An object to help you make TCP based <a href="network.html#server">servers</a></li> <li>An object to help you make TCP based <a href="network.html#server">servers</a></li>
<li>A <a href="network.html#sockstreambuf">streambuf</a> object that enables TCP sockets <li>A <a href="network.html#sockstreambuf">streambuf</a> object that enables TCP sockets
to interoperate with the C++ iostreams library </li> to interoperate with the C++ iostreams library </li>
<li>A simple <a href="network.html#http">HTTP server</a> object you can use to embed a <li>A simple <a href="network.html#http">HTTP server</a> object you can use to embed a
web server into your applications</li> web server into your applications</li>
</ul> </ul>
</li> </li>
<li><b>Graphical User Interfaces</b> <li><b>Graphical User Interfaces</b>
<ul> <ul>
<li>The library provides a portable and simple core <a href="api.html#gui_core">GUI API</a></li> <li>The library provides a portable and simple core <a href="api.html#gui_core">GUI API</a></li>
<li>Implemented on top of the core GUI API are numerous <a href="api.html#gui_widgets">widgets</a></li> <li>Implemented on top of the core GUI API are numerous <a href="api.html#gui_widgets">widgets</a></li>
<li>Unlike many other GUI toolkits, the entire dlib GUI toolkit is threadsafe</li> <li>Unlike many other GUI toolkits, the entire dlib GUI toolkit is threadsafe</li>
</ul> </ul>
</li> </li>
<li><b>Numerical Algorithms</b> <li><b>Numerical Algorithms</b>
<ul> <ul>
<li>A fast <a href="containers.html#matrix">matrix</a> object implemented using the expression templates technique</li> <li>A fast <a href="containers.html#matrix">matrix</a> object implemented using the expression templates technique</li>
<li>Numerous linear algebra and mathematical operations are defined for the matrix object such as the <li>Numerous linear algebra and mathematical operations are defined for the matrix object such as the
<a href="dlib/matrix/matrix_utilities_abstract.h.html#svd">singular value decomposition</a>, <a href="dlib/matrix/matrix_utilities_abstract.h.html#svd">singular value decomposition</a>,
<a href="dlib/matrix/matrix_utilities_abstract.h.html#trans">transpose</a>, <a href="dlib/matrix/matrix_utilities_abstract.h.html#trans">transpose</a>,
<a href="dlib/matrix/matrix_math_functions_abstract.h.html#sin">trig functions</a>, etc...</li> <a href="dlib/matrix/matrix_math_functions_abstract.h.html#sin">trig functions</a>, etc...</li>
<li>Unconstrained optimization algorithms such as <li>Unconstrained optimization algorithms such as
<a href="algorithms.html#find_min_conjugate_gradient">conjugate gradient</a> and <a href="algorithms.html#find_min_quasi_newton">quasi newton</a> techniques</li> <a href="algorithms.html#find_min_conjugate_gradient">conjugate gradient</a> and <a href="algorithms.html#find_min_quasi_newton">quasi newton</a> techniques</li>
<li>A <a href="algorithms.html#bigint">big integer</a> object</li> <li>A <a href="algorithms.html#bigint">big integer</a> object</li>
<li>A <a href="algorithms.html#rand">random number</a> object</li> <li>A <a href="algorithms.html#rand">random number</a> object</li>
</ul> </ul>
</li> </li>
<li><b>Machine Learning Algorithms</b> <li><b>Machine Learning Algorithms</b>
<ul> <ul>
<li><a href="algorithms.html#mlp">multi layer perceptrons</a> </li> <li><a href="algorithms.html#mlp">multi layer perceptrons</a> </li>
<li><a href="algorithms.html#svm_nu_train">nu support vector machines</a> for classification</li> <li><a href="algorithms.html#svm_nu_train">nu support vector machines</a> for classification</li>
<li>An online <a href="algorithms.html#krls">kernel RLS regression</a> algorithm</li> <li>An online <a href="algorithms.html#krls">kernel RLS regression</a> algorithm</li>
<li>An online kernelized <a href="algorithms.html#kcentroid">centroid estimator</a></li> <li>An online kernelized <a href="algorithms.html#kcentroid">centroid estimator</a></li>
<li>A kernelized <a href="algorithms.html#kkmeans">k-means</a> clustering algorithm</li> <li>A kernelized <a href="algorithms.html#kkmeans">k-means</a> clustering algorithm</li>
<li>Bayesian Network inference algorithms such as the <li>Bayesian Network inference algorithms such as the
<a href="algorithms.html#bayesian_network_join_tree">join tree</a> algorithm and <a href="algorithms.html#bayesian_network_join_tree">join tree</a> algorithm and
<a href="algorithms.html#bayesian_network_gibbs_sampler">Gibbs sampler</a> Markov Chain Monte Carlo algorithm</li> <a href="algorithms.html#bayesian_network_gibbs_sampler">Gibbs sampler</a> Markov Chain Monte Carlo algorithm</li>
</ul> </ul>
</li> </li>
<li><b>Image Processing</b> <li><b>Image Processing</b>
<ul> <ul>
<li>Windows BMP <a href="imaging.html#load_bmp">read</a> and <a href="imaging.html#save_bmp">write</a> support</li> <li>Windows BMP <a href="imaging.html#load_bmp">read</a> and <a href="imaging.html#save_bmp">write</a> support</li>
<li>Automatic color space conversion between various pixel types</li> <li>Automatic color space conversion between various pixel types</li>
<li>Common image operations such as edge finding and morphological operations</li> <li>Common image operations such as edge finding and morphological operations</li>
</ul> </ul>
</li> </li>
<li><b>Data Compression and Integrity Algorithms</b> <li><b>Data Compression and Integrity Algorithms</b>
<ul> <ul>
<li>A <a href="algorithms.html#crc32">CRC 32</a> object</li> <li>A <a href="algorithms.html#crc32">CRC 32</a> object</li>
<li><a href="algorithms.html#md5">MD5</a> functions</li> <li><a href="algorithms.html#md5">MD5</a> functions</li>
<li>Various abstracted objects representing parts of <a href="compression.html">data compression</a> <li>Various abstracted objects representing parts of <a href="compression.html">data compression</a>
algorithms. Many forms of the PPM algorithm are included. </li> algorithms. Many forms of the PPM algorithm are included. </li>
</ul> </ul>
</li> </li>
<li><b>Testing</b> <li><b>Testing</b>
<ul> <ul>
<li>A thread safe <a href="other.html#logger">logger</a> object styled after the popular Java logger log4j</li> <li>A thread safe <a href="other.html#logger">logger</a> object styled after the popular Java logger log4j</li>
<li>A modular <a href="other.html#dlib_testing_suite">unit testing framework</a></li> <li>A modular <a href="other.html#dlib_testing_suite">unit testing framework</a></li>
<li>Various <a href="metaprogramming.html">assert</a> macros useful for testing preconditions</li> <li>Various <a href="metaprogramming.html">assert</a> macros useful for testing preconditions</li>
</ul> </ul>
</li> </li>
<li><b>General Utilities</b> <li><b>General Utilities</b>
<ul> <ul>
<li>A type-safe <a href="other.html#byte_orderer">object</a> to convert between big and little endian byte orderings</li> <li>A type-safe <a href="other.html#byte_orderer">object</a> to convert between big and little endian byte orderings</li>
<li>A <a href="parsing.html#cmd_line_parser">command line parser</a> with the ability to <li>A <a href="parsing.html#cmd_line_parser">command line parser</a> with the ability to
parse and validate command lines with various types of arguments and options</li> parse and validate command lines with various types of arguments and options</li>
<li>An <a href="parsing.html#xml_parser">XML parser</a></li> <li>An <a href="parsing.html#xml_parser">XML parser</a></li>
<li>An object that can perform <a href="parsing.html#base64">base64</a> conversions</li> <li>An object that can perform <a href="parsing.html#base64">base64</a> conversions</li>
<li>Many <a href="containers.html">container classes</a></li> <li>Many <a href="containers.html">container classes</a></li>
<li><a href="other.html#serialize">Serialization support</a></li> <li><a href="other.html#serialize">Serialization support</a></li>
<li>Many <a href="other.html#memory_manager">memory manager</a> objects that implement <li>Many <a href="other.html#memory_manager">memory manager</a> objects that implement
differnt memory pooling strategies</li> differnt memory pooling strategies</li>
</ul> </ul>
</li> </li>
</ul> </ul>
</p> </p>
</body> </body>
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
</doc> </doc>
This diff is collapsed.
<text> <text>
The Canterbury Corpus The Canterbury Corpus
file size packed size bpb corruption file size packed size bpb corruption
text: 152089 86995 4.576 no text: 152089 86995 4.576 no
play: 125179 75430 4.82062 no play: 125179 75430 4.82062 no
html: 24603 16209 5.27058 no html: 24603 16209 5.27058 no
Csrc: 11150 7084 5.08269 no Csrc: 11150 7084 5.08269 no
list: 3721 2224 4.78151 no list: 3721 2224 4.78151 no
Excl: 1029744 440758 3.42421 no Excl: 1029744 440758 3.42421 no
tech: 426754 248345 4.65552 no tech: 426754 248345 4.65552 no
poem: 481861 273394 4.53897 no poem: 481861 273394 4.53897 no
fax: 513216 75036 1.16966 no fax: 513216 75036 1.16966 no
SPRC: 38240 25660 5.3682 no SPRC: 38240 25660 5.3682 no
man: 4227 2663 5.03998 no man: 4227 2663 5.03998 no
average: 4.42981 average: 4.42981
time: 875ms time: 875ms
The Calgary Corpus The Calgary Corpus
file size packed size bpb corruption file size packed size bpb corruption
bib: 111261 72533 5.21534 no bib: 111261 72533 5.21534 no
book1: 768771 435527 4.53219 no book1: 768771 435527 4.53219 no
book2: 610856 364597 4.7749 no book2: 610856 364597 4.7749 no
geo: 102400 72600 5.67188 no geo: 102400 72600 5.67188 no
news: 377109 244377 5.18422 no news: 377109 244377 5.18422 no
obj1: 21504 16183 6.02046 no obj1: 21504 16183 6.02046 no
obj2: 246814 189902 6.15531 no obj2: 246814 189902 6.15531 no
paper1: 53161 33144 4.98772 no paper1: 53161 33144 4.98772 no
paper2: 82199 47398 4.613 no paper2: 82199 47398 4.613 no
pic: 513216 75036 1.16966 no pic: 513216 75036 1.16966 no
progc: 39611 25885 5.22784 no progc: 39611 25885 5.22784 no
progl: 71646 42688 4.76655 no progl: 71646 42688 4.76655 no
progp: 49379 30180 4.88953 no progp: 49379 30180 4.88953 no
trans: 93695 64603 5.51603 no trans: 93695 64603 5.51603 no
average: 4.9089 average: 4.9089
time: 1.11sec time: 1.11sec
The Artificial Corpus The Artificial Corpus
file size packed size bpb corruption file size packed size bpb corruption
a: 1 7 56 no a: 1 7 56 no
aaa: 100000 20 0.0016 no aaa: 100000 20 0.0016 no
alphabet: 100000 58912 4.71296 no alphabet: 100000 58912 4.71296 no
random: 100000 75202 6.01616 no random: 100000 75202 6.01616 no
average: 16.6827 average: 16.6827
time: 93ms time: 93ms
The Large Corpus The Large Corpus
file size packed size bpb corruption file size packed size bpb corruption
E.coli: 4638690 1162352 2.00462 no E.coli: 4638690 1162352 2.00462 no
bible: 4047392 2194059 4.33674 no bible: 4047392 2194059 4.33674 no
word: 2473400 1542086 4.98774 no word: 2473400 1542086 4.98774 no
average: 3.77637 average: 3.77637
time: 3.766sec time: 3.766sec
</text> </text>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>kernel_1a</title> <title>kernel_1a</title>
<body from_file="kernel_1a.txt"/> <body from_file="kernel_1a.txt"/>
<menu from_file="compression.xml"/> <menu from_file="compression.xml"/>
</doc> </doc>
<text> <text>
The Canterbury Corpus The Canterbury Corpus
file size packed size bpb corruption file size packed size bpb corruption
text: 152089 66165 3.48033 no text: 152089 66165 3.48033 no
play: 125179 54572 3.48761 no play: 125179 54572 3.48761 no
html: 24603 11661 3.79173 no html: 24603 11661 3.79173 no
Csrc: 11150 4733 3.39587 no Csrc: 11150 4733 3.39587 no
list: 3721 1629 3.50228 no list: 3721 1629 3.50228 no
Excl: 1029744 343447 2.66821 no Excl: 1029744 343447 2.66821 no
tech: 426754 188332 3.5305 no tech: 426754 188332 3.5305 no
poem: 481861 204240 3.39085 no poem: 481861 204240 3.39085 no
fax: 513216 54127 0.843731 no fax: 513216 54127 0.843731 no
SPRC: 38240 18307 3.82992 no SPRC: 38240 18307 3.82992 no
man: 4227 2100 3.97445 no man: 4227 2100 3.97445 no
average: 3.26323 average: 3.26323
time: 844ms time: 844ms
The Calgary Corpus The Calgary Corpus
file size packed size bpb corruption file size packed size bpb corruption
bib: 111261 48130 3.46069 no bib: 111261 48130 3.46069 no
book1: 768771 346572 3.6065 no book1: 768771 346572 3.6065 no
book2: 610856 288605 3.77968 no book2: 610856 288605 3.77968 no
geo: 102400 61124 4.77531 no geo: 102400 61124 4.77531 no
news: 377109 196085 4.15975 no news: 377109 196085 4.15975 no
obj1: 21504 12445 4.62984 no obj1: 21504 12445 4.62984 no
obj2: 246814 127142 4.12106 no obj2: 246814 127142 4.12106 no
paper1: 53161 25438 3.82807 no paper1: 53161 25438 3.82807 no
paper2: 82199 37295 3.62973 no paper2: 82199 37295 3.62973 no
pic: 513216 54127 0.843731 no pic: 513216 54127 0.843731 no
progc: 39611 19090 3.85549 no progc: 39611 19090 3.85549 no
progl: 71646 29773 3.32446 no progl: 71646 29773 3.32446 no
progp: 49379 20795 3.36904 no progp: 49379 20795 3.36904 no
trans: 93695 40922 3.49406 no trans: 93695 40922 3.49406 no
average: 3.6341 average: 3.6341
time: 1.109sec time: 1.109sec
The Artificial Corpus The Artificial Corpus
file size packed size bpb corruption file size packed size bpb corruption
a: 1 7 56 no a: 1 7 56 no
aaa: 100000 20 0.0016 no aaa: 100000 20 0.0016 no
alphabet: 100000 83 0.00664 no alphabet: 100000 83 0.00664 no
random: 100000 77775 6.222 no random: 100000 77775 6.222 no
average: 15.5576 average: 15.5576
time: 94ms time: 94ms
The Large Corpus The Large Corpus
file size packed size bpb corruption file size packed size bpb corruption
E.coli: 4638690 1151913 1.98662 no E.coli: 4638690 1151913 1.98662 no
bible: 4047392 1651476 3.26428 no bible: 4047392 1651476 3.26428 no
word: 2473400 1133090 3.66488 no word: 2473400 1133090 3.66488 no
average: 2.97193 average: 2.97193
time: 3.672sec time: 3.672sec
</text> </text>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>kernel_1b</title> <title>kernel_1b</title>
<body from_file="kernel_1b.txt"/> <body from_file="kernel_1b.txt"/>
<menu from_file="compression.xml"/> <menu from_file="compression.xml"/>
</doc> </doc>
<text> <text>
The Canterbury Corpus The Canterbury Corpus
file size packed size bpb corruption file size packed size bpb corruption
text: 152089 51810 2.72525 no text: 152089 51810 2.72525 no
play: 125179 44002 2.8121 no play: 125179 44002 2.8121 no
html: 24603 8602 2.79706 no html: 24603 8602 2.79706 no
Csrc: 11150 3399 2.43874 no Csrc: 11150 3399 2.43874 no
list: 3721 1272 2.73475 no list: 3721 1272 2.73475 no
Excl: 1029744 237165 1.84252 no Excl: 1029744 237165 1.84252 no
tech: 426754 147090 2.75737 no tech: 426754 147090 2.75737 no
poem: 481861 169981 2.82208 no poem: 481861 169981 2.82208 no
fax: 513216 54230 0.845336 no fax: 513216 54230 0.845336 no
SPRC: 38240 15190 3.17782 no SPRC: 38240 15190 3.17782 no
man: 4227 1763 3.33665 no man: 4227 1763 3.33665 no
average: 2.57179 average: 2.57179
time: 1.031sec time: 1.031sec
The Calgary Corpus The Calgary Corpus
file size packed size bpb corruption file size packed size bpb corruption
bib: 111261 37264 2.67939 no bib: 111261 37264 2.67939 no
book1: 768771 280052 2.91428 no book1: 768771 280052 2.91428 no
book2: 610856 221616 2.90237 no book2: 610856 221616 2.90237 no
geo: 102400 62115 4.85273 no geo: 102400 62115 4.85273 no
news: 377109 155282 3.29416 no news: 377109 155282 3.29416 no
obj1: 21504 11235 4.17969 no obj1: 21504 11235 4.17969 no
obj2: 246814 97319 3.15441 no obj2: 246814 97319 3.15441 no
paper1: 53161 19664 2.95916 no paper1: 53161 19664 2.95916 no
paper2: 82199 29837 2.90388 no paper2: 82199 29837 2.90388 no
pic: 513216 54230 0.845336 no pic: 513216 54230 0.845336 no
progc: 39611 14610 2.9507 no progc: 39611 14610 2.9507 no
progl: 71646 21637 2.41599 no progl: 71646 21637 2.41599 no
progp: 49379 14204 2.30122 no progp: 49379 14204 2.30122 no
trans: 93695 27848 2.37776 no trans: 93695 27848 2.37776 no
average: 2.90936 average: 2.90936
time: 1.297sec time: 1.297sec
The Artificial Corpus The Artificial Corpus
file size packed size bpb corruption file size packed size bpb corruption
a: 1 7 56 no a: 1 7 56 no
aaa: 100000 18 0.00144 no aaa: 100000 18 0.00144 no
alphabet: 100000 65 0.0052 no alphabet: 100000 65 0.0052 no
random: 100000 90704 7.25632 no random: 100000 90704 7.25632 no
average: 15.8157 average: 15.8157
time: 203ms time: 203ms
The Large Corpus The Large Corpus
file size packed size bpb corruption file size packed size bpb corruption
E.coli: 4638690 1141437 1.96855 no E.coli: 4638690 1141437 1.96855 no
bible: 4047392 1263237 2.49689 no bible: 4047392 1263237 2.49689 no
word: 2473400 876621 2.83536 no word: 2473400 876621 2.83536 no
average: 2.4336 average: 2.4336
time: 3.391sec time: 3.391sec
</text> </text>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>kernel_1c</title> <title>kernel_1c</title>
<body from_file="kernel_1c.txt"/> <body from_file="kernel_1c.txt"/>
<menu from_file="compression.xml"/> <menu from_file="compression.xml"/>
</doc> </doc>
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<doc> <doc>
<title>kernel_1da</title> <title>kernel_1da</title>
<body from_file="kernel_1da.txt"/> <body from_file="kernel_1da.txt"/>
<menu from_file="compression.xml"/> <menu from_file="compression.xml"/>
</doc> </doc>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment