forked from bartvdbraak/blender
4f1c674ee0
http://crd.lbl.gov/~xiaoye/SuperLU/ This is a library to solve sparse matrix systems (type A*x=B). It is able to solve large systems very FAST. Only the necessary parts of the library are included to limit file size and compilation time. This means the example files, fortran interface, test files, matlab interface, cblas library, complex number part and build system have been left out. All (gcc) warnings have been fixed too. This library will be used for LSCM UV unwrapping. With this library, LSCM unwrapping can be calculated in a split second, making the unwrapping proces much more interactive. Added OpenNL (Open Numerical Libary): http://www.loria.fr/~levy/OpenNL/ OpenNL is a library to easily construct and solve sparse linear systems. We use a stripped down version, as an interface to SuperLU. This library was kindly given to use by Bruno Levy.
56 lines
923 B
C
56 lines
923 B
C
/*
|
|
* Purpose
|
|
* =======
|
|
* Returns the time in seconds used by the process.
|
|
*
|
|
* Note: the timer function call is machine dependent. Use conditional
|
|
* compilation to choose the appropriate function.
|
|
*
|
|
*/
|
|
|
|
/* We want this flag, safer than putting in build system */
|
|
#define NO_TIMER
|
|
|
|
#ifdef SUN
|
|
/*
|
|
* It uses the system call gethrtime(3C), which is accurate to
|
|
* nanoseconds.
|
|
*/
|
|
#include <sys/time.h>
|
|
|
|
double SuperLU_timer_() {
|
|
return ( (double)gethrtime() / 1e9 );
|
|
}
|
|
|
|
#else
|
|
|
|
#ifndef NO_TIMER
|
|
#include <sys/types.h>
|
|
#include <sys/times.h>
|
|
#include <time.h>
|
|
#include <sys/time.h>
|
|
#endif
|
|
|
|
#ifndef CLK_TCK
|
|
#define CLK_TCK 60
|
|
#endif
|
|
|
|
double SuperLU_timer_()
|
|
{
|
|
#ifdef NO_TIMER
|
|
/* no sys/times.h on WIN32 */
|
|
double tmp;
|
|
tmp = 0.0;
|
|
#else
|
|
struct tms use;
|
|
double tmp;
|
|
times(&use);
|
|
tmp = use.tms_utime;
|
|
tmp += use.tms_stime;
|
|
#endif
|
|
return (double)(tmp) / CLK_TCK;
|
|
}
|
|
|
|
#endif
|
|
|