source: vis_dev/zchaff/zchaff_utils.cpp @ 78

Last change on this file since 78 was 10, checked in by cecile, 13 years ago

Zchaff

File size: 3.2 KB
Line 
1// *********************************************************************
2// Copyright 2000-2004, Princeton University.  All rights reserved.
3// By using this software the USER indicates that he or she has read,
4// understood and will comply with the following:
5//
6// --- Princeton University hereby grants USER nonexclusive permission
7// to use, copy and/or modify this software for internal, noncommercial,
8// research purposes only. Any distribution, including commercial sale
9// or license, of this software, copies of the software, its associated
10// documentation and/or modifications of either is strictly prohibited
11// without the prior consent of Princeton University.  Title to copyright
12// to this software and its associated documentation shall at all times
13// remain with Princeton University.  Appropriate copyright notice shall
14// be placed on all software copies, and a complete copy of this notice
15// shall be included in all copies of the associated documentation.
16// No right is  granted to use in advertising, publicity or otherwise
17// any trademark,  service mark, or the name of Princeton University.
18//
19//
20// --- This software and any associated documentation is provided "as is"
21//
22// PRINCETON UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS
23// OR IMPLIED, INCLUDING THOSE OF MERCHANTABILITY OR FITNESS FOR A
24// PARTICULAR PURPOSE, OR THAT  USE OF THE SOFTWARE, MODIFICATIONS, OR
25// ASSOCIATED DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS,
26// TRADEMARKS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY.
27//
28// Princeton University shall not be liable under any circumstances for
29// any direct, indirect, special, incidental, or consequential damages
30// with respect to any claim by USER or any third party on account of
31// or arising from the use, or inability to use, this software or its
32// associated documentation, even if Princeton University has been advised
33// of the possibility of those damages.
34// *********************************************************************
35
36#include <stdio.h>
37#include <stdarg.h>
38#include <stdlib.h>
39#include <unistd.h>
40#include <sys/time.h>
41#include <sys/resource.h>
42
43int _global_debug_leveli = 0;
44
45int _global_check_level = 0;
46
47void fatal(const char * fun, const char * file, int lineno, const char * fmt, ...) {
48  va_list ap;
49  fprintf(stderr, "***");
50  if (fun)
51    fprintf(stderr, " in %s", fun);
52  if (file)
53    fprintf(stderr, " at %s", file);
54  if (lineno)
55    fprintf(stderr, ":%d", lineno);
56  fprintf(stderr, " ");
57  va_start(ap, fmt);
58  vfprintf(stderr, fmt, ap);
59  va_end(ap);
60  fflush(stderr);
61  exit(1);
62}
63
64void warning(const char * fun, const char * file, int lineno, const char * fmt, ...) {
65  va_list ap;
66  fprintf(stderr, "***");
67  if (fun)
68    fprintf(stderr, " in %s", fun);
69  if (file)
70    fprintf(stderr, " at %s", file);
71  if (lineno)
72    fprintf(stderr, ":%d", lineno);
73  fprintf(stderr, " ");
74
75  va_start(ap, fmt);
76  vfprintf(stderr, fmt, ap);
77  va_end(ap);
78  fflush(stderr);
79}
80
81double get_cpu_time(void) {
82  double res;
83  struct rusage usage;
84  getrusage(RUSAGE_SELF, &usage);
85  res = usage.ru_utime.tv_usec + usage.ru_stime.tv_usec;
86  res *= 1e-6;
87  res += usage.ru_utime.tv_sec + usage.ru_stime.tv_sec;
88  return res;
89}
Note: See TracBrowser for help on using the repository browser.