Version.cpp

Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 1999-2009 Soeren Sonnenburg
00008  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
00009  */
00010 
00011 #include <shogun/base/Version.h>
00012 #include <shogun/lib/versionstring.h>
00013 
00014 using namespace shogun;
00015 
00016 namespace shogun
00017 {
00018 const int32_t Version::version_revision = VERSION_REVISION;
00019 const int32_t Version::version_year = VERSION_YEAR;
00020 const int32_t Version::version_month = VERSION_MONTH;
00021 const int32_t Version::version_day = VERSION_DAY;
00022 const int32_t Version::version_hour = VERSION_HOUR;
00023 const int32_t Version::version_minute = VERSION_MINUTE;
00024 const int32_t Version::version_parameter=VERSION_PARAMETER;
00025 const char Version::version_extra[128] = VERSION_EXTRA;
00026 const char Version::version_release[128] = VERSION_RELEASE;
00027 }
00028 
00029 Version::Version() : refcount(0)
00030 {
00031 }
00032 
00033 
00034 Version::~Version()
00035 {
00036 }
00037 
00039 void Version::print_version()
00040 {
00041     SG_SPRINT("libshogun (%s/%s%d)\n\n", MACHINE, VERSION_RELEASE, version_revision);
00042     SG_SPRINT("Copyright (C) 1999-2009 Fraunhofer Institute FIRST\n");
00043     SG_SPRINT("Copyright (C) 1999-2011 Max Planck Society\n");
00044     SG_SPRINT("Copyright (C) 2009-2011 Berlin Institute of Technology\n");
00045     SG_SPRINT("Copyright (C) 2012 Soeren Sonnenburg, Sergey Lisitsyn, Heiko Strathmann\n");
00046     SG_SPRINT("Written   (W) 1999-2012 Soeren Sonnenburg, Gunnar Raetsch et al.\n\n");
00047 #ifndef USE_SVMLIGHT
00048     SG_SPRINT("This is free software; see the source for copying conditions.  There is NO\n");
00049     SG_SPRINT("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n");
00050 #endif
00051     SG_SPRINT( "( configure options: \"%s\" compile flags: \"%s\" link flags: \"%s\" )\n", CONFIGURE_OPTIONS, COMPFLAGS_CPP, LINKFLAGS);
00052 }
00053 
00055 const char* Version::get_version_extra()
00056 {
00057     return version_extra;
00058 }
00059 
00061 const char* Version::get_version_release()
00062 {
00063     return version_release;
00064 }
00065 
00067 int32_t Version::get_version_revision()
00068 {
00069     return version_revision;
00070 }
00071 
00073 int32_t Version::get_version_year()
00074 {
00075     return version_year;
00076 }
00077 
00079 int32_t Version::get_version_month()
00080 {
00081     return version_month;
00082 }
00083 
00085 int32_t Version::get_version_day()
00086 {
00087     return version_day;
00088 }
00089 
00091 int32_t Version::get_version_hour()
00092 {
00093     return version_hour;
00094 }
00095 
00097 int32_t Version::get_version_minute()
00098 {
00099     return version_year;
00100 }
00101 
00103 int32_t Version::get_version_parameter()
00104 {
00105     return version_parameter;
00106 }
00107 
00109 int64_t Version::get_version_in_minutes()
00110 {
00111     return ((((version_year)*12 + version_month)*30 + version_day)* 24 + version_hour)*60 + version_minute;
00112 }
00113 
00117 int32_t Version::ref()
00118 {
00119     ++refcount;
00120     return refcount;
00121 }
00122 
00126 int32_t Version::ref_count() const
00127 {
00128     return refcount;
00129 }
00130 
00134 int32_t Version::unref()
00135 {
00136     if (refcount==0 || --refcount==0)
00137     {
00138         delete this;
00139         return 0;
00140     }
00141     else
00142         return refcount;
00143 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation