Preparation for 1.4 release.
git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@4 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
parent
8bad5e136a
commit
59d3e21ef6
30
Makefile.am
30
Makefile.am
@ -1,32 +1,10 @@
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = lib sample
|
||||
|
||||
docdir = $(prefix)/share/doc/@PACKAGE@
|
||||
doc_DATA = README INSTALL COPYING AUTHORS ChangeLog
|
||||
|
||||
liblbfgsincludedir = $(includedir)
|
||||
liblbfgsinclude_HEADERS = \
|
||||
include/lbfgs.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
autogen.sh
|
||||
|
||||
lib_LTLIBRARIES = liblbfgs.la
|
||||
noinst_PROGRAMS = lbfgssample
|
||||
|
||||
liblbfgs_la_SOURCES = \
|
||||
lib/arithmetic_ansi.h \
|
||||
lib/arithmetic_sse_double.h \
|
||||
lib/arithmetic_sse_float.h \
|
||||
lib/lbfgs.c
|
||||
|
||||
liblbfgs_la_LDFLAGS = \
|
||||
-no-undefined \
|
||||
-release @VERSION@
|
||||
|
||||
lbfgssample_SOURCES = \
|
||||
sample/sample.c
|
||||
|
||||
lbfgssample_LDADD = ./liblbfgs.la
|
||||
|
||||
AM_CFLAGS = @CFLAGS@
|
||||
INCLUDES = @INCLUDES@
|
||||
autogen.sh \
|
||||
lbfgs.sln
|
||||
|
@ -102,5 +102,5 @@ AC_SUBST(INCLUDES)
|
||||
dnl ------------------------------------------------------------------
|
||||
dnl Output the configure results.
|
||||
dnl ------------------------------------------------------------------
|
||||
AC_CONFIG_FILES(Makefile)
|
||||
AC_CONFIG_FILES(Makefile lib/Makefile sample/Makefile)
|
||||
AC_OUTPUT
|
||||
|
@ -33,9 +33,6 @@
|
||||
extern "C" {
|
||||
#endif/*__cplusplus*/
|
||||
|
||||
#define USE_SSE 1
|
||||
#define __SSE2__ 1
|
||||
|
||||
/*
|
||||
* The default precision of floating point values is 64bit (double).
|
||||
*/
|
||||
@ -57,7 +54,7 @@ typedef float lbfgsfloatval_t;
|
||||
typedef double lbfgsfloatval_t;
|
||||
|
||||
#else
|
||||
#error "liblbfgs supports single (float; LBFGS_FLOAT = 32) or double (double; LBFGS_FLOAT=64) precision only."
|
||||
#error "libLBFGS supports single (float; LBFGS_FLOAT = 32) or double (double; LBFGS_FLOAT=64) precision only."
|
||||
|
||||
#endif
|
||||
|
||||
@ -341,9 +338,11 @@ In this formula, ||.|| denotes the Euclidean norm.
|
||||
* @param n The number of variables.
|
||||
* @param x The array of variables. A client program can set
|
||||
* default values for the optimization and receive the
|
||||
* optimization result through this array. The memory
|
||||
* block of this array must be aligned to 16 for liblbfgs
|
||||
* built with SSE/SSE2 optimization routine enabled.
|
||||
* optimization result through this array. This array
|
||||
* must be allocated by ::lbfgs_malloc function
|
||||
* for libLBFGS built with SSE/SSE2 optimization routine
|
||||
* enabled. The library built without SSE/SSE2
|
||||
* optimization does not have such a requirement.
|
||||
* @param ptr_fx The pointer to the variable that receives the final
|
||||
* value of the objective function for the variables.
|
||||
* This argument can be set to \c NULL if the final
|
||||
@ -393,10 +392,11 @@ void lbfgs_parameter_init(lbfgs_parameter_t *param);
|
||||
/**
|
||||
* Allocate an array for variables.
|
||||
*
|
||||
* Use this function to allocate a variable array for liblbfgs built with
|
||||
* or without SSE/SSE2 optimization routine enabled. When SSE/SSE2 routine in
|
||||
* liblbfgs is disabled, it is unnecessary to use this function; liblbfgs
|
||||
* accepts a variable array allocated by any
|
||||
* This function allocates an array of variables for the convenience of
|
||||
* ::lbfgs function; the function has a requreiemt for a variable array
|
||||
* when libLBFGS is built with SSE/SSE2 optimization routines. A user does
|
||||
* not have to use this function for libLBFGS built without SSE/SSE2
|
||||
* optimization.
|
||||
*
|
||||
* @param n The number of variables.
|
||||
*/
|
||||
@ -483,7 +483,7 @@ This library is used by:
|
||||
|
||||
@section download Download
|
||||
|
||||
- <a href="http://www.chokkan.org/software/dist/liblbfgs-1.3.tar.gz">Source code</a>
|
||||
- <a href="http://www.chokkan.org/software/dist/libLBFGS-1.4.tar.gz">Source code</a>
|
||||
|
||||
libLBFGS is distributed under the term of the
|
||||
<a href="http://opensource.org/licenses/mit-license.php">MIT license</a>.
|
||||
@ -494,11 +494,16 @@ libLBFGS is distributed under the term of the
|
||||
::lbfgs_parameter_t::linesearch was added to choose either MoreThuente
|
||||
method (::LBFGS_LINESEARCH_MORETHUENTE) or backtracking algorithm
|
||||
(::LBFGS_LINESEARCH_BACKTRACKING).
|
||||
- Fixed a serious bug: the previous version did not compute
|
||||
psuedo-gradients properly in the line search routine. This bug might
|
||||
quit an iteration process too early when the orthant-wise L-BFGS routine
|
||||
was activated (0 < ::lbfgs_parameter_t::orthantwise_c).
|
||||
- Added configure script.
|
||||
- Fixed a bug: the previous version did not compute psuedo-gradients
|
||||
properly in the line search routines for OW-LQN. This bug might quit
|
||||
an iteration process too early when the OW-LQN routine was activated
|
||||
(0 < ::lbfgs_parameter_t::orthantwise_c).
|
||||
- Configure script for POSIX environments.
|
||||
- SSE/SSE2 optimizations with GCC.
|
||||
- New functions ::lbfgs_malloc and ::lbfgs_free to use SSE/SSE2 routines
|
||||
transparently. It is uncessary to use these functions for libLBFGS built
|
||||
without SSE/SSE2 routines; you can still use any memory allocators if
|
||||
SSE/SSE2 routines are disabled in libLBFGS.
|
||||
- Version 1.3 (2007-12-16):
|
||||
- An API change. An argument was added to lbfgs() function to receive the
|
||||
final value of the objective function. This argument can be set to
|
||||
|
24
lib/Makefile.am
Normal file
24
lib/Makefile.am
Normal file
@ -0,0 +1,24 @@
|
||||
# $Id$
|
||||
|
||||
EXTRA_DIST = \
|
||||
lib.vcproj
|
||||
|
||||
liblbfgsincludedir = $(includedir)
|
||||
liblbfgsinclude_HEADERS = \
|
||||
../include/lbfgs.h
|
||||
|
||||
lib_LTLIBRARIES = liblbfgs.la
|
||||
|
||||
liblbfgs_la_SOURCES = \
|
||||
arithmetic_ansi.h \
|
||||
arithmetic_sse_double.h \
|
||||
arithmetic_sse_float.h \
|
||||
../include/lbfgs.h \
|
||||
lbfgs.c
|
||||
|
||||
liblbfgs_la_LDFLAGS = \
|
||||
-no-undefined \
|
||||
-release @VERSION@
|
||||
|
||||
AM_CFLAGS = @CFLAGS@
|
||||
INCLUDES = @INCLUDES@
|
@ -169,6 +169,7 @@ static int update_trial_interval(
|
||||
int *brackt
|
||||
);
|
||||
|
||||
#if defined(USE_SSE) && (defined(__SSE__) || defined(__SSE2__))
|
||||
static int round_out_variables(int n)
|
||||
{
|
||||
n += 7;
|
||||
@ -176,6 +177,7 @@ static int round_out_variables(int n)
|
||||
n *= 8;
|
||||
return n;
|
||||
}
|
||||
#endif/*defined(USE_SSE)*/
|
||||
|
||||
lbfgsfloatval_t* lbfgs_malloc(int n)
|
||||
{
|
||||
|
14
sample/Makefile.am
Normal file
14
sample/Makefile.am
Normal file
@ -0,0 +1,14 @@
|
||||
# $Id$
|
||||
|
||||
EXTRA_DIST = \
|
||||
sample.vcproj
|
||||
|
||||
noinst_PROGRAMS = sample
|
||||
|
||||
sample_SOURCES = \
|
||||
sample.c
|
||||
|
||||
sample_LDADD = ../lib/liblbfgs.la
|
||||
|
||||
AM_CFLAGS = @CFLAGS@
|
||||
INCLUDES = @INCLUDES@
|
Loading…
Reference in New Issue
Block a user