Ejemplo n.º 1
0
int main (int argc, const char *argv [])
{
	int	n;
	const POOL_LIMITS str = {
		2, ~0, 0
	}, refs = {
		2, ~0, 0
	}, dtypes = {
		2, ~0, 0
	}, ddata = {
		2, ~0, 0
	};

	n = do_switches (argc, argv);
	fail_unless (str_pool_init (&str, &refs, 20000, 1) == 0);
	fail_unless (dds_typesupport_init () == 0);
	fail_unless (xd_pool_init (&dtypes, &ddata) == 0);

	if (n == argc)
		run_all ();
	else
		while (n < argc)
			run_named (argv [n++]);

	xd_pool_final ();
	dds_typesupport_final ();
	str_pool_free ();
	return (0);
}
Ejemplo n.º 2
0
int main(int argc, char *argv[]) {

#ifdef _MSC_VER
	char buf[1024];
	GetCurrentDirectory(1024, buf);
	sd_log_info("cwd is %s\n", buf);
#endif

	if (argc > 1) {
		int i;
		for (i=1; i<argc; i++) {
#define TEST_FOUND(topic, name) if (!strcmp(#topic "_" #name, argv[i]))\
			{\
				sd_log_info("running test %s_%s selected by cli arg.", #topic, #name); \
				sd_test__ ## topic ## _ ## name(); \
			}
#include "test_list.h"
#undef TEST_FOUND
		}
	}
	else
		run_all();

	return sd_test_report();
}
Ejemplo n.º 3
0
/* Usage will ProjectEuler N, where N is the problem number to run */
int main(int argc, char *argv[])
{
    pe_data_t pedata ;
    int ProblemNumber  = 0;

    if (argc != 2)
        {
            printf("Not enough arguments, or too many arguments.\n");
            printf("Proper usage is: ./ProjectEuler #, where # is the problem number to run\n");
        }

    else
        {
            // Configure parameters
            ProblemNumber    = atoi(argv[1]);
            pedata.verbosity = 0 ; // change to > 0 for verbose outputs

            // Check and run solution
            if ( ProblemNumber == 0)
                run_all(&pedata);
            else if (ProblemNumber <= NUM_PROBLEMS)
                run_solution(&pedata,ProblemNumber);
            else
                printf("Problem #%03d not found.\n", ProblemNumber);

        }

    return 0;
}
Ejemplo n.º 4
0
// run the command or send it to the right nodes
char *route_command(struct nli *nli, int who, char *rmt, char *cmd, char *buf, char *uq)
{
	char *r		= NULL;
	switch (who) {
		// run local
		case 0:
			r = run_local(nli, cmd);
			break;
		// run on specified remote
		case 1:
			r = run_remote(rmt, buf, cmd, uq);
			break;
		// run on all
		case 2: 
			r = run_all(nli, cmd, buf, uq);
			if (check_if_trace(cmd)) {
				char *tmp = NULL;
				tmp = str_replace("\n|", "\n ", r);
				if (r) free(r);
				r = tmp;
			}
			break;
	}
	return r;
}
Ejemplo n.º 5
0
int main(int argc, char* argv[])
{
  int total;
  init_K(G_maxargs);
  G_callvm = (DCCallVM*) dcNewCallVM(4096);
  total = run_all();
  printf("result: call_suite: %d\n", total);
  return 0;
}
Ejemplo n.º 6
0
static void balloon_all(const Scope& scope) {
  auto wq = workqueue_foreach<DexMethod*>(mt_balloon);
  walk::methods(scope, [&](DexMethod* m) {
    if (m->get_dex_code()) {
      wq.add_item(m);
    }
  });
  wq.run_all();
}
Ejemplo n.º 7
0
void
run_gnuplot (int argc, char *argv[])
{
  char  *plot_filename;
  char  *data_filename;
  FILE  *fp;
  int   i;
     
  plot_filename = (char *) (*__gmp_allocate_func)
    (strlen (option_gnuplot_basename) + 20);
  data_filename = (char *) (*__gmp_allocate_func)
    (strlen (option_gnuplot_basename) + 20);
      
  sprintf (plot_filename, "%s.gnuplot", option_gnuplot_basename);
  sprintf (data_filename, "%s.data",    option_gnuplot_basename);

  fp = fopen_for_write (plot_filename);

  fprintf (fp, "# Generated with:\n");
  fprintf (fp, "#");
  for (i = 0; i < argc; i++)
    fprintf (fp, " %s", argv[i]);
  fprintf (fp, "\n");
  fprintf (fp, "\n");

  fprintf (fp, "reset\n");

  /* Putting the key at the top left is usually good, and you can change it
     interactively if it's not. */
  fprintf (fp, "set key left\n");

  /* designed to make it possible to see crossovers easily */
  fprintf (fp, "set data style lines\n");

  fprintf (fp, "plot ");
  for (i = 0; i < num_choices; i++)
    {
      fprintf (fp, " \"%s\" using 1:%d", data_filename, i+2);
      fprintf (fp, " title \"%s\"", choice[i].name);

      if (i != num_choices-1)
        fprintf (fp, ", \\");
      fprintf (fp, "\n");
    }

  fprintf (fp, "load \"-\"\n");
  fclose_written (fp, plot_filename);

  fp = fopen_for_write (data_filename);

  /* Unbuffered so you can see where the program was up to if it crashes or
     you kill it. */
  setbuf (fp, NULL);

  run_all (fp);
  fclose_written (fp, data_filename);
}
Ejemplo n.º 8
0
int
main (void)
{
//      g_mem_set_vtable(glib_mem_profiler_table);
//      g_atexit(g_mem_profile);
	g_type_init ();
	ifnet_destroy ();
	wpa_parser_destroy ();
	ifnet_init ("net");
	wpa_parser_init ("wpa_supplicant.conf");
	printf ("Initialization complete\n");
	run_all (TRUE);
	ifnet_destroy ();
	wpa_parser_destroy ();
	return 0;
}
Ejemplo n.º 9
0
int main(int argc, char **argv)
{
    verbose = getenv("LIBCBIO_TESTS_VERBOSE") ? 1 : 0;
    core = getenv("LIBCBIO_TESTS_COREDUMP") ? 1 : 0;

    ++verbose;

    if (argc == 1) {
        run_single(get_testcase(argv[0]));
    } else {
        run_all();
    }

    /* Not reached */
    return 0;
}
Ejemplo n.º 10
0
int main(int argc, char* argv[])
{
  int total;

  dcTest_initPlatform();

  init_K(G_maxargs);
  G_callvm = (DCCallVM*) dcNewCallVM(4096);
  dcReset(G_callvm);
  total = run_all();
  printf("result: call_suite: %d\n", total);

  dcTest_deInitPlatform();

  return 0;
}
Ejemplo n.º 11
0
DexClasses DexLoader::load_dex(const char* location, dex_stats_t* stats) {
  m_file.open(location, boost::iostreams::mapped_file::readonly);
  if (!m_file.is_open()) {
    fprintf(stderr, "error: cannot create memory-mapped file: %s\n", location);
    exit(EXIT_FAILURE);
  }
  auto dh = reinterpret_cast<const dex_header*>(m_file.const_data());
  validate_dex_header(dh, m_file.size());
  if (dh->class_defs_size == 0) {
    return DexClasses(0);
  }
  m_idx = new DexIdx(dh);
  auto off = (uint64_t)dh->class_defs_off;
  auto limit = off + dh->class_defs_size * sizeof(dex_class_def);
  always_assert_log(off < m_file.size(), "class_defs_off out of range");
  always_assert_log(limit <= m_file.size(), "invalid class_defs_size");
  m_class_defs =
      reinterpret_cast<const dex_class_def*>(m_file.const_data() + off);
  DexClasses classes(dh->class_defs_size);
  m_classes = &classes;

  auto lwork = new class_load_work[dh->class_defs_size];
  auto wq =
      workqueue_mapreduce<class_load_work*, std::vector<std::exception_ptr>>(
        class_work, exc_reducer);
  for (uint32_t i = 0; i < dh->class_defs_size; i++) {
    lwork[i].dl = this;
    lwork[i].num = i;
    wq.add_item(&lwork[i]);
  }
  const auto exceptions = wq.run_all();
  delete[] lwork;

  if (!exceptions.empty()) {
    // At least one of the workers raised an exception
    aggregate_exception ae(exceptions);
    throw ae;
  }

  gather_input_stats(stats, dh);

  return classes;
}
Ejemplo n.º 12
0
int
main (int argc, char *argv[])
{
  int  i;
  int  opt;

  /* Unbuffered so output goes straight out when directed to a pipe or file
     and isn't lost on killing the program half way.  */
  setbuf (stdout, NULL);

  for (;;)
    {
      #if _GNU_SOURCE
      opt = getopt(argc, argv, "a:CcDd::EFf:o:p:P:r::Rs:t:ux:y:w:W:z");
      #else
      opt = getopt(argc, argv, "a:CcDd:EFf:o:p:P:r:Rs:t:ux:y:w:W:z");
      #endif
      if (opt == EOF)
        break;

      switch (opt) {
      case 'a':
        if (strcmp (optarg, "random") == 0)       option_data = DATA_RANDOM;
        else if (strcmp (optarg, "random2") == 0) option_data = DATA_RANDOM2;
        else if (strcmp (optarg, "zeros") == 0)   option_data = DATA_ZEROS;
        else if (strcmp (optarg, "aas") == 0)     option_data = DATA_AAS;
        else if (strcmp (optarg, "ffs") == 0)     option_data = DATA_FFS;
        else if (strcmp (optarg, "2fd") == 0)     option_data = DATA_2FD;
        else
          {
            fprintf (stderr, "unrecognised data option: %s\n", optarg);
            exit (1);
          }
        break;
      case 'C':
        if (option_unit  != UNIT_SECONDS) goto bad_unit;
        option_unit = UNIT_CYCLESPERLIMB;
        break;
      case 'c':
        if (option_unit != UNIT_SECONDS)
          {
          bad_unit:
            fprintf (stderr, "cannot use more than one of -c, -C\n");
            exit (1);
          }
        option_unit = UNIT_CYCLES;
        break;
      case 'D':
        if (option_cmp != CMP_ABSOLUTE) goto bad_cmp;
        option_cmp = CMP_DIFFPREV;
        break;
      case 'd':
        if (option_cmp != CMP_ABSOLUTE)
          {
          bad_cmp:
            fprintf (stderr, "cannot use more than one of -d, -D, -r\n");
            exit (1);
          }
        option_cmp = CMP_DIFFERENCE;
        option_cmp_pos=0;
        if(optarg!=0)option_cmp_pos=atoi(optarg)-1;        
        break;
      case 'E':
        option_square = 1;
        break;
      case 'F':
        option_square = 2;
        break;
      case 'f':
        option_factor = atof (optarg);
        if (option_factor <= 1.0)
          {
            fprintf (stderr, "-f factor must be > 1.0\n");
            exit (1);
          }
        break;
      case 'o':
        speed_option_set (optarg);
        break;
      case 'P':
        option_gnuplot = 1;
        option_gnuplot_basename = optarg;
        break;
      case 'p':
        speed_precision = atoi (optarg);
        break;
      case 'R':
        option_seed = time (NULL);
        break;
      case 'r':
        if (option_cmp != CMP_ABSOLUTE)
          goto bad_cmp;
        option_cmp = CMP_RATIO;
        option_cmp_pos=0;
        if(optarg!=0)option_cmp_pos = atoi(optarg)-1;
        break;
      case 's':
        {
          char  *s;
          for (s = strtok (optarg, ","); s != NULL; s = strtok (NULL, ","))
            {
              if (size_num == size_allocnum)
                {
                  size_array = (struct size_array_t *)
                    __gmp_allocate_or_reallocate
                    (size_array,
                     size_allocnum * sizeof(size_array[0]),
                     (size_allocnum+10) * sizeof(size_array[0]));
                  size_allocnum += 10;
                }
              size_array[size_num].inc = 0;
              if (sscanf (s, "%ld(%ld)%ld",
                          &size_array[size_num].start,
                          &size_array[size_num].inc,
                          &size_array[size_num].end) != 3)
                {

                  if (sscanf (s, "%ld-%ld",
                              &size_array[size_num].start,
                              &size_array[size_num].end) != 2)
                    {
                      size_array[size_num].start = size_array[size_num].end
                        = atol (s);
                    }
               }

              if (size_array[size_num].start < 0
                  || size_array[size_num].end < 0
                  || size_array[size_num].start > size_array[size_num].end)
                {
                  fprintf (stderr, "invalid size parameter: %s\n", s);
                  exit (1);
                }

              size_num++;
            }
        }
        break;
      case 't':
        option_step = atol (optarg);
        if (option_step < 1)
          {
            fprintf (stderr, "-t step must be >= 1\n");
            exit (1);
          }
        break;
      case 'u':
        option_resource_usage = 1;
        break;
      case 'z':
        sp.cache = 1;
        break;
      case 'x':
        sp.align_xp = atol (optarg);
        check_align_option ("-x", sp.align_xp);
        break;
      case 'y':
        sp.align_yp = atol (optarg);
        check_align_option ("-y", sp.align_yp);
        break;
      case 'w':
        sp.align_wp = atol (optarg);
        check_align_option ("-w", sp.align_wp);
        break;
      case 'W':
        sp.align_wp2 = atol (optarg);
        check_align_option ("-W", sp.align_wp2);
        break;
      case '?':
        exit(1);
      }
    }

  if (optind >= argc)
    {
      usage ();
      exit (1);
    }

  if (size_num == 0)
    {
      fprintf (stderr, "-s <size> must be specified\n");
      exit (1);
    }

  gmp_randinit_default (__gmp_rands);
  __gmp_rands_initialized = 1;
  gmp_randseed_ui (__gmp_rands, option_seed);

  choice = (struct choice_t *) (*__gmp_allocate_func)
    ((argc - optind) * sizeof(choice[0]));
  for ( ; optind < argc; optind++)
    {
      struct choice_t  c;
      routine_find (&c, argv[optind]);
      choice[num_choices] = c;
      num_choices++;
    }
  
  if ((option_cmp == CMP_RATIO || option_cmp == CMP_DIFFERENCE) &&
      num_choices < 2)
    {
      fprintf (stderr, "WARNING, -d or -r does nothing when only one routine requested\n");
    }

  speed_time_init ();
  if (option_unit == UNIT_CYCLES || option_unit == UNIT_CYCLESPERLIMB)
    speed_cycletime_need_cycles ();
  else
    speed_cycletime_need_seconds ();

  if (option_gnuplot)
    {
      run_gnuplot (argc, argv);
    }
  else
    {
      if (option_unit == UNIT_SECONDS)
        printf ("overhead %.9f secs", speed_measure (speed_noop, NULL));
      else
        printf ("overhead %.2f cycles",
                speed_measure (speed_noop, NULL) / speed_cycletime);
      printf (", precision %d units of %.2e secs",
              speed_precision, speed_unittime);
      
      if (speed_cycletime == 1.0 || speed_cycletime == 0.0)
        printf (", CPU freq unknown\n");
      else
        printf (", CPU freq %.2f MHz\n", 1e-6/speed_cycletime);

      printf ("       ");
      for (i = 0; i < num_choices; i++)
        printf (" %*s", COLUMN_WIDTH, choice[i].name); 
      printf ("\n");

      run_all (stdout);
    }

  if (option_resource_usage)
    {
#if HAVE_GETRUSAGE
      {
        /* This doesn't give data sizes on linux 2.0.x, only utime. */
        struct rusage  r;
        if (getrusage (RUSAGE_SELF, &r) != 0)
          perror ("getrusage");
        else
          printf ("getrusage(): utime %ld.%06ld data %ld stack %ld maxresident %ld\n",
                  r.ru_utime.tv_sec, r.ru_utime.tv_usec,
                  r.ru_idrss, r.ru_isrss, r.ru_ixrss); 
      }
#else
      printf ("getrusage() not available\n");
#endif

      /* Linux kernel. */
      {
        char  buf[128];
        sprintf (buf, "/proc/%d/status", getpid());
        if (access (buf, R_OK) == 0)
          {
            sprintf (buf, "cat /proc/%d/status", getpid());
            system (buf);
          }

      }
    }

  return 0;
}
Ejemplo n.º 13
0
int main()
{
        int natm = 60;
        int nbas = natm*20;
        // ATM_SLOTS = 6; BAS_SLOTS = 8;
        int *atm = malloc(sizeof(int) * natm * ATM_SLOTS);
        int *bas = malloc(sizeof(int) * nbas * BAS_SLOTS);
        double *env = malloc(sizeof(double) * 10000);

        int i, n, off;
        off = PTR_ENV_START; // = 20

        atm(CHARGE_OF, 0)=6; atm(PTR_COORD, 0)=off; env[off+0]=-0.779; env[off+1]= 0.757; env[off+2]= 0.000; off+=3;
        atm(CHARGE_OF, 1)=6; atm(PTR_COORD, 1)=off; env[off+0]= 0.684; env[off+1]= 0.757; env[off+2]= 0.000; off+=3;
        atm(CHARGE_OF, 2)=6; atm(PTR_COORD, 2)=off; env[off+0]= 1.376; env[off+1]= 1.956; env[off+2]= 0.000; off+=3;
        atm(CHARGE_OF, 3)=6; atm(PTR_COORD, 3)=off; env[off+0]= 0.644; env[off+1]= 3.224; env[off+2]=-0.000; off+=3;
        atm(CHARGE_OF, 4)=6; atm(PTR_COORD, 4)=off; env[off+0]=-0.739; env[off+1]= 3.224; env[off+2]= 0.000; off+=3;
        atm(CHARGE_OF, 5)=6; atm(PTR_COORD, 5)=off; env[off+0]=-1.471; env[off+1]= 1.956; env[off+2]= 0.000; off+=3;
        atm(CHARGE_OF, 6)=6; atm(PTR_COORD, 6)=off; env[off+0]=-1.231; env[off+1]=-0.348; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF, 7)=6; atm(PTR_COORD, 7)=off; env[off+0]=-0.047; env[off+1]=-1.032; env[off+2]=-1.367; off+=3;
        atm(CHARGE_OF, 8)=6; atm(PTR_COORD, 8)=off; env[off+0]= 1.137; env[off+1]=-0.348; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF, 9)=6; atm(PTR_COORD, 9)=off; env[off+0]= 2.257; env[off+1]=-0.196; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,10)=6; atm(PTR_COORD,10)=off; env[off+0]= 2.561; env[off+1]= 2.118; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF,11)=6; atm(PTR_COORD,11)=off; env[off+0]= 1.376; env[off+1]= 4.169; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF,12)=6; atm(PTR_COORD,12)=off; env[off+0]= 0.684; env[off+1]= 5.063; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,13)=6; atm(PTR_COORD,13)=off; env[off+0]=-0.779; env[off+1]= 5.063; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,14)=6; atm(PTR_COORD,14)=off; env[off+0]=-1.471; env[off+1]= 4.169; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF,15)=6; atm(PTR_COORD,15)=off; env[off+0]=-2.656; env[off+1]= 3.485; env[off+2]=-1.367; off+=3;
        atm(CHARGE_OF,16)=6; atm(PTR_COORD,16)=off; env[off+0]=-2.655; env[off+1]= 2.118; env[off+2]=-0.845; off+=3;
        atm(CHARGE_OF,17)=6; atm(PTR_COORD,17)=off; env[off+0]=-3.083; env[off+1]= 1.071; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,18)=6; atm(PTR_COORD,18)=off; env[off+0]=-2.351; env[off+1]=-0.196; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,19)=6; atm(PTR_COORD,19)=off; env[off+0]=-0.047; env[off+1]=-1.526; env[off+2]=-2.661; off+=3;
        atm(CHARGE_OF,20)=6; atm(PTR_COORD,20)=off; env[off+0]=-1.231; env[off+1]=-1.365; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,21)=6; atm(PTR_COORD,21)=off; env[off+0]=-2.351; env[off+1]=-0.718; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,22)=6; atm(PTR_COORD,22)=off; env[off+0]=-3.083; env[off+1]= 0.226; env[off+2]=-3.857; off+=3;
        atm(CHARGE_OF,23)=6; atm(PTR_COORD,23)=off; env[off+0]=-3.536; env[off+1]= 1.332; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,24)=6; atm(PTR_COORD,24)=off; env[off+0]=-3.536; env[off+1]= 2.626; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,25)=6; atm(PTR_COORD,25)=off; env[off+0]=-3.083; env[off+1]= 3.732; env[off+2]=-2.660; off+=3;
        atm(CHARGE_OF,26)=6; atm(PTR_COORD,26)=off; env[off+0]=-2.352; env[off+1]= 4.677; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,27)=6; atm(PTR_COORD,27)=off; env[off+0]=-1.231; env[off+1]= 5.324; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,28)=6; atm(PTR_COORD,28)=off; env[off+0]= 2.561; env[off+1]= 3.485; env[off+2]=-1.367; off+=3;
        atm(CHARGE_OF,29)=6; atm(PTR_COORD,29)=off; env[off+0]= 1.136; env[off+1]= 4.307; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,30)=6; atm(PTR_COORD,30)=off; env[off+0]= 2.256; env[off+1]= 4.155; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,31)=6; atm(PTR_COORD,31)=off; env[off+0]= 2.988; env[off+1]= 2.887; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,32)=6; atm(PTR_COORD,32)=off; env[off+0]= 2.561; env[off+1]= 1.841; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,33)=6; atm(PTR_COORD,33)=off; env[off+0]= 1.376; env[off+1]= 2.002; env[off+2]=-6.518; off+=3;
        atm(CHARGE_OF,34)=6; atm(PTR_COORD,34)=off; env[off+0]=-0.779; env[off+1]= 3.201; env[off+2]=-6.518; off+=3;
        atm(CHARGE_OF,35)=6; atm(PTR_COORD,35)=off; env[off+0]=-1.231; env[off+1]= 4.307; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,36)=6; atm(PTR_COORD,36)=off; env[off+0]=-0.047; env[off+1]= 4.991; env[off+2]=-5.150; off+=3;
        atm(CHARGE_OF,37)=6; atm(PTR_COORD,37)=off; env[off+0]=-0.047; env[off+1]= 5.485; env[off+2]=-3.857; off+=3;
        atm(CHARGE_OF,38)=6; atm(PTR_COORD,38)=off; env[off+0]= 1.136; env[off+1]= 5.324; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,39)=6; atm(PTR_COORD,39)=off; env[off+0]= 2.257; env[off+1]= 4.677; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,40)=6; atm(PTR_COORD,40)=off; env[off+0]= 3.441; env[off+1]= 2.626; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,41)=6; atm(PTR_COORD,41)=off; env[off+0]= 3.441; env[off+1]= 1.332; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,42)=6; atm(PTR_COORD,42)=off; env[off+0]= 2.989; env[off+1]= 0.226; env[off+2]=-3.857; off+=3;
        atm(CHARGE_OF,43)=6; atm(PTR_COORD,43)=off; env[off+0]= 2.561; env[off+1]= 0.473; env[off+2]=-5.150; off+=3;
        atm(CHARGE_OF,44)=6; atm(PTR_COORD,44)=off; env[off+0]= 1.376; env[off+1]=-0.210; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,45)=6; atm(PTR_COORD,45)=off; env[off+0]= 0.644; env[off+1]= 0.734; env[off+2]=-6.518; off+=3;
        atm(CHARGE_OF,46)=6; atm(PTR_COORD,46)=off; env[off+0]=-0.739; env[off+1]= 0.734; env[off+2]=-6.518; off+=3;
        atm(CHARGE_OF,47)=6; atm(PTR_COORD,47)=off; env[off+0]=-1.471; env[off+1]= 2.002; env[off+2]=-6.518; off+=3;
        atm(CHARGE_OF,48)=6; atm(PTR_COORD,48)=off; env[off+0]=-2.352; env[off+1]= 4.155; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,49)=6; atm(PTR_COORD,49)=off; env[off+0]=-3.084; env[off+1]= 2.887; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,50)=6; atm(PTR_COORD,50)=off; env[off+0]=-2.656; env[off+1]= 1.840; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,51)=6; atm(PTR_COORD,51)=off; env[off+0]=-2.656; env[off+1]= 0.473; env[off+2]=-5.150; off+=3;
        atm(CHARGE_OF,52)=6; atm(PTR_COORD,52)=off; env[off+0]=-1.471; env[off+1]=-0.210; env[off+2]=-5.673; off+=3;
        atm(CHARGE_OF,53)=6; atm(PTR_COORD,53)=off; env[off+0]=-0.779; env[off+1]=-1.104; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,54)=6; atm(PTR_COORD,54)=off; env[off+0]= 0.684; env[off+1]=-1.104; env[off+2]=-4.873; off+=3;
        atm(CHARGE_OF,55)=6; atm(PTR_COORD,55)=off; env[off+0]= 1.136; env[off+1]=-1.365; env[off+2]=-3.506; off+=3;
        atm(CHARGE_OF,56)=6; atm(PTR_COORD,56)=off; env[off+0]= 2.257; env[off+1]=-0.718; env[off+2]=-3.012; off+=3;
        atm(CHARGE_OF,57)=6; atm(PTR_COORD,57)=off; env[off+0]= 2.988; env[off+1]= 3.732; env[off+2]=-2.661; off+=3;
        atm(CHARGE_OF,58)=6; atm(PTR_COORD,58)=off; env[off+0]= 2.989; env[off+1]= 1.071; env[off+2]=-1.644; off+=3;
        atm(CHARGE_OF,59)=6; atm(PTR_COORD,59)=off; env[off+0]= 0.684; env[off+1]= 3.201; env[off+2]=-6.518; off+=3;

        // cc-pVDZ
        env[off+ 0] = 6665.0; // s
        env[off+ 1] = 1000.0;
        env[off+ 2] = 228.00;
        env[off+ 3] = 64.710;
        env[off+ 4] = 21.060;
        env[off+ 5] = 7.4950;
        env[off+ 6] = 2.7970;
        env[off+ 7] = 0.5215;
        env[off+ 8] = 0.000692*CINTgto_norm(0,env[off+0]); env[off+16] =-0.000146*CINTgto_norm(0,env[off+0]);
        env[off+ 9] = 0.005329*CINTgto_norm(0,env[off+1]); env[off+17] =-0.001154*CINTgto_norm(0,env[off+1]);
        env[off+10] = 0.027077*CINTgto_norm(0,env[off+2]); env[off+18] =-0.005725*CINTgto_norm(0,env[off+2]);
        env[off+11] = 0.101718*CINTgto_norm(0,env[off+3]); env[off+19] =-0.023312*CINTgto_norm(0,env[off+3]);
        env[off+12] = 0.274740*CINTgto_norm(0,env[off+4]); env[off+20] =-0.063955*CINTgto_norm(0,env[off+4]);
        env[off+13] = 0.448564*CINTgto_norm(0,env[off+5]); env[off+21] =-0.149981*CINTgto_norm(0,env[off+5]);
        env[off+14] = 0.285074*CINTgto_norm(0,env[off+6]); env[off+22] =-0.127262*CINTgto_norm(0,env[off+6]);
        env[off+15] = 0.015204*CINTgto_norm(0,env[off+7]); env[off+23] = 0.544529*CINTgto_norm(0,env[off+7]);
        env[off+24] = 0.1596; // s
        env[off+25] = 1*CINTgto_norm(0,env[off+24]);
        env[off+26] = 9.4390; // p
        env[off+27] = 2.0020;
        env[off+28] = 0.5456;
        env[off+29] = 0.038109*CINTgto_norm(1,env[off+26]);
        env[off+30] = 0.209480*CINTgto_norm(1,env[off+27]);
        env[off+31] = 0.508557*CINTgto_norm(1,env[off+28]);
        env[off+32] = 0.1517; // p
        env[off+33] = 1*CINTgto_norm(1,env[off+32]);
        env[off+34] = 0.55; // d
        env[off+35] = 1*CINTgto_norm(2,env[off+34]);
        for (i = 0, n = 0; i < natm; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = i;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 8;
                bas[NCTR_OF  +BAS_SLOTS*n] = 2;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+8;
                n++;

                bas[ATOM_OF  +BAS_SLOTS*n] = i;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+24;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+25;
                n++;

                bas[ATOM_OF  +BAS_SLOTS*n] = i;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+26;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+29;
                n++;

                bas[ATOM_OF  +BAS_SLOTS*n] = i;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+32;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+33;
                n++;

                bas[ATOM_OF  +BAS_SLOTS*n] = i;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+34;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+35;
                n++;
        }
        nbas = n;

        run_all(atm, natm, bas, nbas, env);
        // 6478s on one core of 3.1G I5 CPU
        free(atm);
        free(bas);
        free(env);
}
Ejemplo n.º 14
0
void runner::run_single_filter(const std::string& filter)
{
    std::istringstream sstream(filter);

    std::string testcase_name;
    std::string benchmark_name;

    std::getline(sstream, testcase_name, '.');

    if (!sstream)
        throw std::runtime_error("Error malformed gauge_filter"
                                 " (example MyTest.*)");

    std::getline(sstream, benchmark_name);

    if (!sstream)
    {
        throw std::runtime_error("Error malformed gauge_filter"
                                 " (example MyTest.*)");
    }

    // Evaluate all possible filter combinations
    if (testcase_name == "*" && benchmark_name == "*")
    {
        run_all();
    }
    else if (testcase_name == "*")
    {
        // The benchmark must be run for each of the testcases for which
        // it belongs. If the requested benchmark is not found, throw an
        // error

        bool benchmark_found = false;

        for (const auto& testcase : m_impl->m_testcases)
        {
            for (const auto& b : testcase.second)
            {
                if (benchmark_name == b.first)
                {

                    uint32_t id = b.second;
                    assert(m_impl->m_benchmarks.find(id) !=
                           m_impl->m_benchmarks.end());

                    auto& make = m_impl->m_benchmarks[id];
                    auto benchmark = make();
                    run_benchmark_configurations(benchmark);
                    benchmark_found = true;
                }
            }
        }

        if (!benchmark_found)
        {
            throw std::runtime_error("Error benchmark not found");
        }
    }
    else if (benchmark_name == "*")
    {
        // All the benchmarks from a testcase must be run. If the requested
        // testcase is not found, throw an error

        if (m_impl->m_testcases.find(testcase_name) ==
                m_impl->m_testcases.end())
        {
            throw std::runtime_error("Error testcase not found");
        }

        auto& benchmarks = m_impl->m_testcases[testcase_name];

        for (auto& b : benchmarks)
        {
            uint32_t id = b.second;

            assert(m_impl->m_benchmarks.find(id) !=
                   m_impl->m_benchmarks.end());

            auto& make = m_impl->m_benchmarks[id];
            auto benchmark = make();

            run_benchmark_configurations(benchmark);
        }
    }
    else
    {
        // Run the specific testcase_name.benchmark_name pair
        if (m_impl->m_testcases.find(testcase_name) ==
                m_impl->m_testcases.end())
        {
            throw std::runtime_error("Error testcase not found");
        }

        auto& benchmarks = m_impl->m_testcases[testcase_name];

        if (benchmarks.find(benchmark_name) == benchmarks.end())
        {
            throw std::runtime_error("Error benchmark not found");
        }

        uint32_t id = benchmarks.find(benchmark_name)->second;

        assert(m_impl->m_benchmarks.find(id) !=
               m_impl->m_benchmarks.end());

        auto& make = m_impl->m_benchmarks[id];
        auto benchmark = make();

        run_benchmark_configurations(benchmark);
    }
}
Ejemplo n.º 15
0
void runner::run_unsafe(int argc, const char* argv[])
{
    assert(m_impl);

    po::options_description options("Gauge");

    options.add_options()
    ("help", "produce help message")
    ("print_tests", "print testcases")
    ("print_benchmarks", "print benchmarks")
    ("result_filter",
     po::value<std::vector<std::string> >()->multitoken(),
     "Filter which results should be stored "
     "for example ./benchmark --result_filter=time multiple filters "
     "can be a comma separated list of filters e.g. "
     "--result_filter=time throughput")
    ("gauge_filter",
     po::value<std::vector<std::string> >()->multitoken(),
     "Filter which test-cases or benchmarks to run based on their name "
     "for example ./benchmark --gauge_filter=MyTest.* or "
     "--gauge_filter=*.MyBenchmark or even --gauge_filter=*.* "
     "Multiple filters can also be specified e.g. "
     "--gauge_filter=MyTest.one MyTest.two")
    ("runs", po::value<uint32_t>(),
     "Sets the number of runs to complete. Overrides the "
     "settings specified in the benchmark ex. --runs=50")
    ("add_column",
     po::value<std::vector<std::string> >()->multitoken(),
     "Add a column to the test results, this can be use to "
     "add custom information to the result files "
     "./benchmark --add_column cpu=i7 "
     "\"date=Monday 1st June 2021\"")
    ("dry_run",
     "Initializes the benchmark without running it. This is useful to "
     "check whether the right command-line arguments have been passed "
     "to the benchmark executable.");

    options.add(m_impl->m_options_description);

    po::variables_map vm;
    po::store(po::parse_command_line(argc, argv, options), vm);
    po::notify(vm);

    m_impl->m_options = vm;


    if (m_impl->m_options.count("help"))
    {
        std::cout << options << std::endl;
        return;
    }

    if (m_impl->m_options.count("print_tests"))
    {
        for (const auto& testcase : m_impl->m_testcases)
        {
            std::cout << testcase.first << " ";
        }
        std::cout << std::endl;
        return;
    }

    if (m_impl->m_options.count("print_benchmarks"))
    {
        for (const auto& testcase : m_impl->m_testcases)
        {
            for (const auto& benchmark : testcase.second)
            {
                std::cout << testcase.first << "."
                          << benchmark.first << std::endl;
            }
        }
        return;
    }

    if (m_impl->m_options.count("add_column"))
    {
        auto v = m_impl->m_options["add_column"].as<
                 std::vector<std::string> >();
        for (const auto& s : v)
        {
            parse_add_column(s);
        }
    }

    // Deliver possible options to printers and start them
    for (auto& printer: m_impl->m_printers)
    {
        printer->set_options(m_impl->m_options);
    }

    // Notify all printers that we are starting
    for (auto& printer: enabled_printers())
    {
        printer->start();
    }
    // Check whether we should run all tests or whether we
    // should use a filter
    if (m_impl->m_options.count("gauge_filter"))
    {
        auto f = m_impl->m_options["gauge_filter"]
                 .as<std::vector<std::string>>();
        run_all_filters(f);
    }
    else
    {
        run_all();
    }

    // Notify all printers that we are done
    for (auto& printer: enabled_printers())
    {
        printer->end();
    }
}
Ejemplo n.º 16
0
void out_ () {

    std_str = run_all();
}
Ejemplo n.º 17
0
int main()
{
        int natm = 8;
        int nbas = natm*20;
        // ATM_SLOTS = 6; BAS_SLOTS = 8;
        int *atm = malloc(sizeof(int) * natm * ATM_SLOTS);
        int *bas = malloc(sizeof(int) * nbas * BAS_SLOTS);
        double *env = malloc(sizeof(double) * 10000);

        int i, j, ia, n, off;
        off = PTR_ENV_START; // = 20

        atm(CHARGE_OF,0)=6; atm(PTR_COORD,0)=off; env[off+0]= 0.000; env[off+1]= 0.000; env[off+2]= 0.769; off+=3;
        atm(CHARGE_OF,1)=1; atm(PTR_COORD,1)=off; env[off+0]= 0.000; env[off+1]= 1.014; env[off+2]= 1.174; off+=3;
        atm(CHARGE_OF,2)=1; atm(PTR_COORD,2)=off; env[off+0]=-0.878; env[off+1]=-0.507; env[off+2]= 1.174; off+=3;
        atm(CHARGE_OF,3)=1; atm(PTR_COORD,3)=off; env[off+0]= 0.878; env[off+1]=-0.507; env[off+2]= 1.174; off+=3;
        atm(CHARGE_OF,4)=6; atm(PTR_COORD,4)=off; env[off+0]= 0.000; env[off+1]= 0.000; env[off+2]=-0.769; off+=3;
        atm(CHARGE_OF,5)=1; atm(PTR_COORD,5)=off; env[off+0]= 0.000; env[off+1]= 1.014; env[off+2]=-1.174; off+=3;
        atm(CHARGE_OF,6)=1; atm(PTR_COORD,6)=off; env[off+0]=-0.878; env[off+1]=-0.507; env[off+2]=-1.174; off+=3;
        atm(CHARGE_OF,7)=1; atm(PTR_COORD,7)=off; env[off+0]= 0.878; env[off+1]=-0.507; env[off+2]=-1.174; off+=3;

        // 6-31G
        env[off+0 ] = 3047.5249; env[off+6 ] = 0.0018347*CINTgto_norm(0,env[off+0 ]);
        env[off+1 ] = 457.36951; env[off+7 ] = 0.0140373*CINTgto_norm(0,env[off+1 ]);
        env[off+2 ] = 103.94869; env[off+8 ] = 0.0688426*CINTgto_norm(0,env[off+2 ]);
        env[off+3 ] = 29.210155; env[off+9 ] = 0.2321844*CINTgto_norm(0,env[off+3 ]);
        env[off+4 ] = 9.2866630; env[off+10] = 0.4679413*CINTgto_norm(0,env[off+4 ]);
        env[off+5 ] = 3.1639270; env[off+11] = 0.3623120*CINTgto_norm(0,env[off+5 ]);
        env[off+12] = 7.8682724; env[off+15] =-0.1193324*CINTgto_norm(0,env[off+12]);
        env[off+13] = 1.8812885; env[off+16] =-0.1608542*CINTgto_norm(0,env[off+13]);
        env[off+14] = 0.5442493; env[off+17] = 1.1434564*CINTgto_norm(0,env[off+14]);
        env[off+18] = 0.1687144; env[off+19] = 1.0000000*CINTgto_norm(0,env[off+18]);
        env[off+20] = 7.8682724; env[off+23] = 0.0689991*CINTgto_norm(1,env[off+20]);
        env[off+21] = 1.8812885; env[off+24] = 0.3164240*CINTgto_norm(1,env[off+21]);
        env[off+22] = 0.5442493; env[off+25] = 0.7443083*CINTgto_norm(1,env[off+22]);
        env[off+26] = 0.1687144; env[off+27] = 1.0000000*CINTgto_norm(1,env[off+26]);
        env[off+28] = 18.731137; env[off+31] = 0.0334946*CINTgto_norm(0,env[off+28]);
        env[off+29] = 2.8253937; env[off+32] = 0.2347269*CINTgto_norm(0,env[off+29]);
        env[off+30] = 0.6401217; env[off+33] = 0.8137573*CINTgto_norm(0,env[off+30]);
        env[off+34] = 0.1612778; env[off+35] = 1.0000000*CINTgto_norm(0,env[off+34]);
        for (i = 0, ia = 0, n = 0; i < 2; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 6;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+6;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+12;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+15;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+18;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+19;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+20;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+23;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+26;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+27;
                n++;
                ia++;
                for (j = 0; j < 3; j++) {
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+28;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+31;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+34;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+35;
                        n++;
                        ia++;
                }
        }
        nbas = n;
        printf("6-31G basis\n");
        run_all(atm, natm, bas, nbas, env);

        // 6-311G**
        env[off+ 0] = 4563.240; env[off+17] = 0.0019666*CINTgto_norm(0,env[off+ 0]);
        env[off+ 1] = 682.0240; env[off+18] = 0.0152306*CINTgto_norm(0,env[off+ 1]);
        env[off+ 2] = 154.9730; env[off+19] = 0.0761269*CINTgto_norm(0,env[off+ 2]);
        env[off+ 3] = 44.45530; env[off+20] = 0.2608010*CINTgto_norm(0,env[off+ 3]);
        env[off+ 4] = 13.02900; env[off+21] = 0.6164620*CINTgto_norm(0,env[off+ 4]);
        env[off+ 5] = 1.827730; env[off+22] = 0.2210060*CINTgto_norm(0,env[off+ 5]);
        env[off+ 6] = 20.96420; env[off+23] = 0.1146600*CINTgto_norm(0,env[off+ 6]);
        env[off+ 7] = 4.803310; env[off+24] = 0.9199990*CINTgto_norm(0,env[off+ 7]);
        env[off+ 8] = 1.459330; env[off+25] = -0.003030*CINTgto_norm(0,env[off+ 8]);
        env[off+ 9] = 0.483456; env[off+26] = 1.0000000*CINTgto_norm(0,env[off+ 9]);
        env[off+10] = 0.145585; env[off+27] = 1.0000000*CINTgto_norm(0,env[off+10]);
        env[off+11] = 20.96420; env[off+28] = 0.0402487*CINTgto_norm(1,env[off+11]);
        env[off+12] = 4.803310; env[off+29] = 0.2375940*CINTgto_norm(1,env[off+12]);
        env[off+13] = 1.459330; env[off+30] = 0.8158540*CINTgto_norm(1,env[off+13]);
        env[off+14] = 0.483456; env[off+31] = 1.0000000*CINTgto_norm(1,env[off+14]);
        env[off+15] = 0.145585; env[off+32] = 1.0000000*CINTgto_norm(1,env[off+15]);
        env[off+16] = 0.626000; env[off+33] = 1.0000000*CINTgto_norm(2,env[off+16]);
        env[off+34] = 33.86500; env[off+40] = 0.0254938*CINTgto_norm(0,env[off+34]);
        env[off+35] = 5.094790; env[off+41] = 0.1903730*CINTgto_norm(0,env[off+35]);
        env[off+36] = 1.158790; env[off+42] = 0.8521610*CINTgto_norm(0,env[off+36]);
        env[off+37] = 0.325840; env[off+43] = 1.0000000*CINTgto_norm(0,env[off+37]);
        env[off+38] = 0.102741; env[off+44] = 1.0000000*CINTgto_norm(0,env[off+38]);
        env[off+39] = 0.750000; env[off+45] = 1.0000000*CINTgto_norm(0,env[off+39]);
        for (i = 0, ia = 0, n = 0; i < 2; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 6;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+17;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 6;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+23;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 9;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+26;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+10;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+27;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+11;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+28;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+14;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+31;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+15;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+32;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+16;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+33;
                n++;
                ia++;
                for (j = 0; j < 3; j++) {
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+34;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+40;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+37;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+43;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+38;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+44;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+39;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+45;
                        n++;
                        ia++;
                }
        }
        nbas = n;
        printf("6-311G(dp) basis\n");
        run_all(atm, natm, bas, nbas, env);

        // cc-pVDZ, C
        env[off+ 0] = 6665.0; env[off+ 8]=0.000692*CINTgto_norm(0,env[off+ 0]); env[off+16]=-0.000146*CINTgto_norm(0,env[off+0]);
        env[off+ 1] = 1000.0; env[off+ 9]=0.005329*CINTgto_norm(0,env[off+ 1]); env[off+17]=-0.001154*CINTgto_norm(0,env[off+1]);
        env[off+ 2] = 228.00; env[off+10]=0.027077*CINTgto_norm(0,env[off+ 2]); env[off+18]=-0.005725*CINTgto_norm(0,env[off+2]);
        env[off+ 3] = 64.710; env[off+11]=0.101718*CINTgto_norm(0,env[off+ 3]); env[off+19]=-0.023312*CINTgto_norm(0,env[off+3]);
        env[off+ 4] = 21.060; env[off+12]=0.274740*CINTgto_norm(0,env[off+ 4]); env[off+20]=-0.063955*CINTgto_norm(0,env[off+4]);
        env[off+ 5] = 7.4950; env[off+13]=0.448564*CINTgto_norm(0,env[off+ 5]); env[off+21]=-0.149981*CINTgto_norm(0,env[off+5]);
        env[off+ 6] = 2.7970; env[off+14]=0.285074*CINTgto_norm(0,env[off+ 6]); env[off+22]=-0.127262*CINTgto_norm(0,env[off+6]);
        env[off+ 7] = 0.5215; env[off+15]=0.015204*CINTgto_norm(0,env[off+ 7]); env[off+23]= 0.544529*CINTgto_norm(0,env[off+7]);
        env[off+24] = 0.1596; env[off+25]=1.000000*CINTgto_norm(0,env[off+24]);
        env[off+26] = 9.4390; env[off+29]=0.038109*CINTgto_norm(1,env[off+26]);
        env[off+27] = 2.0020; env[off+30]=0.209480*CINTgto_norm(1,env[off+27]);
        env[off+28] = 0.5456; env[off+31]=0.508557*CINTgto_norm(1,env[off+28]);
        env[off+32] = 0.1517; env[off+33]=1.000000*CINTgto_norm(1,env[off+32]);
        env[off+34] = 0.55  ; env[off+35]=1.000000*CINTgto_norm(2,env[off+34]);
        // H
        env[off+36] = 13.010; env[off+39]=0.019685*CINTgto_norm(0,env[off+36]);
        env[off+37] = 1.9620; env[off+40]=0.137977*CINTgto_norm(0,env[off+37]);
        env[off+38] = 0.4446; env[off+41]=0.478148*CINTgto_norm(0,env[off+38]);
        env[off+42] = 0.1220; env[off+43]=1       *CINTgto_norm(0,env[off+42]);
        env[off+44] = 0.7270; env[off+45]=1       *CINTgto_norm(0,env[off+44]);
        for (i = 0, ia = 0, n = 0; i < 2; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 8;
                bas[NCTR_OF  +BAS_SLOTS*n] = 2;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+8;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+24;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+25;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+26;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+29;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+32;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+33;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+34;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+35;
                n++;
                ia++;
                for (j = 0; j < 3; j++) {
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+36;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+39;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+42;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+43;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+44;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+45;
                        n++;
                        ia++;
                }
        }
        nbas = n;
        printf("cc-pVDZ basis\n");
        run_all(atm, natm, bas, nbas, env);

        // cc-pVTZ
        env[off+ 0] = 8236.0; env[off+18]= 0.000531*CINTgto_norm(0,env[off+ 0]); env[off+26]=-0.000113*CINTgto_norm(0,env[off+ 0]);
        env[off+ 1] = 1235.0; env[off+19]= 0.004108*CINTgto_norm(0,env[off+ 1]); env[off+27]=-0.000878*CINTgto_norm(0,env[off+ 1]);
        env[off+ 2] = 280.80; env[off+20]= 0.021087*CINTgto_norm(0,env[off+ 2]); env[off+28]=-0.004540*CINTgto_norm(0,env[off+ 2]);
        env[off+ 3] = 79.270; env[off+21]= 0.081853*CINTgto_norm(0,env[off+ 3]); env[off+29]=-0.018133*CINTgto_norm(0,env[off+ 3]);
        env[off+ 4] = 25.590; env[off+22]= 0.234817*CINTgto_norm(0,env[off+ 4]); env[off+30]=-0.055760*CINTgto_norm(0,env[off+ 4]);
        env[off+ 5] = 8.9970; env[off+23]= 0.434401*CINTgto_norm(0,env[off+ 5]); env[off+31]=-0.126895*CINTgto_norm(0,env[off+ 5]);
        env[off+ 6] = 3.3190; env[off+24]= 0.346129*CINTgto_norm(0,env[off+ 6]); env[off+32]=-0.170352*CINTgto_norm(0,env[off+ 6]);
        env[off+ 7] = 0.3643; env[off+25]=-0.008983*CINTgto_norm(0,env[off+ 7]); env[off+33]= 0.598684*CINTgto_norm(0,env[off+ 7]);
        env[off+ 8] = 0.9059; env[off+34]= 1.000000*CINTgto_norm(0,env[off+ 8]);
        env[off+ 9] = 0.1285; env[off+35]= 1.000000*CINTgto_norm(0,env[off+ 9]);
        env[off+10] = 18.710; env[off+36]= 0.014031*CINTgto_norm(1,env[off+10]);
        env[off+11] = 4.1330; env[off+37]= 0.086866*CINTgto_norm(1,env[off+11]);
        env[off+12] = 1.2000; env[off+38]= 0.290216*CINTgto_norm(1,env[off+12]);
        env[off+13] = 0.3827; env[off+39]= 1.000000*CINTgto_norm(1,env[off+13]);
        env[off+14] = 0.1209; env[off+40]= 1.000000*CINTgto_norm(1,env[off+14]);
        env[off+15] = 1.0970; env[off+41]= 1.000000*CINTgto_norm(2,env[off+15]);
        env[off+16] = 0.3180; env[off+42]= 1.000000*CINTgto_norm(2,env[off+16]);
        env[off+17] = 0.7610; env[off+43]= 1.000000*CINTgto_norm(3,env[off+17]);
        env[off+44] = 33.870; env[off+52]= 0.006068*CINTgto_norm(0,env[off+44]);
        env[off+45] = 5.0950; env[off+53]= 0.045308*CINTgto_norm(0,env[off+45]);
        env[off+46] = 1.1590; env[off+54]= 0.202822*CINTgto_norm(0,env[off+46]);
        env[off+47] = 0.3258; env[off+55]= 1.000000*CINTgto_norm(0,env[off+47]);
        env[off+48] = 0.1027; env[off+56]= 1.000000*CINTgto_norm(0,env[off+48]);
        env[off+49] = 1.4070; env[off+57]= 1.000000*CINTgto_norm(1,env[off+49]);
        env[off+50] = 0.3880; env[off+58]= 1.000000*CINTgto_norm(1,env[off+50]);
        env[off+51] = 1.0570; env[off+59]= 1.000000*CINTgto_norm(2,env[off+51]);
        for (i = 0, ia = 0, n = 0; i < 2; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 8;
                bas[NCTR_OF  +BAS_SLOTS*n] = 2;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+18;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 8;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+34;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 9;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+35;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+10;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+38;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+13;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+39;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+14;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+40;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+15;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+41;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+16;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+42;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 3;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+17;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+43;
                n++;
                ia++;
                for (j = 0; j < 3; j++) {
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+44;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+52;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+47;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+55;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+48;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+56;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+49;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+57;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+50;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+58;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 2;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+51;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+59;
                        n++;
                        ia++;
                }
        }
        nbas = n;
        printf("cc-pVTZ basis\n");
        run_all(atm, natm, bas, nbas, env);

        env[off+ 0] = 33980.; env[off+24]= 0.000091*CINTgto_norm(0,env[off+ 0]); env[off+33]= -0.000019*CINTgto_norm(0,env[off+0]);
        env[off+ 1] = 5089.0; env[off+25]= 0.000704*CINTgto_norm(0,env[off+ 1]); env[off+34]= -0.000151*CINTgto_norm(0,env[off+1]);
        env[off+ 2] = 1157.0; env[off+26]= 0.003693*CINTgto_norm(0,env[off+ 2]); env[off+35]= -0.000785*CINTgto_norm(0,env[off+2]);
        env[off+ 3] = 326.60; env[off+27]= 0.015360*CINTgto_norm(0,env[off+ 3]); env[off+36]= -0.003324*CINTgto_norm(0,env[off+3]);
        env[off+ 4] = 106.10; env[off+28]= 0.052929*CINTgto_norm(0,env[off+ 4]); env[off+37]= -0.011512*CINTgto_norm(0,env[off+4]);
        env[off+ 5] = 38.110; env[off+29]= 0.147043*CINTgto_norm(0,env[off+ 5]); env[off+38]= -0.034160*CINTgto_norm(0,env[off+5]);
        env[off+ 6] = 14.750; env[off+30]= 0.305631*CINTgto_norm(0,env[off+ 6]); env[off+39]= -0.077173*CINTgto_norm(0,env[off+6]);
        env[off+ 7] = 6.0350; env[off+31]= 0.399345*CINTgto_norm(0,env[off+ 7]); env[off+40]= -0.141493*CINTgto_norm(0,env[off+7]);
        env[off+ 8] = 2.5300; env[off+32]= 0.217051*CINTgto_norm(0,env[off+ 8]); env[off+41]= -0.118019*CINTgto_norm(0,env[off+8]);
        env[off+ 9] = 0.7355; env[off+42]= 1.000000*CINTgto_norm(0,env[off+ 9]);
        env[off+10] = 0.2905; env[off+43]= 1.000000*CINTgto_norm(0,env[off+10]);
        env[off+11] = 0.1111; env[off+44]= 1.000000*CINTgto_norm(0,env[off+11]);
        env[off+12] = 34.510; env[off+45]= 0.005378*CINTgto_norm(1,env[off+12]);
        env[off+13] = 7.9150; env[off+46]= 0.036132*CINTgto_norm(1,env[off+13]);
        env[off+14] = 2.3680; env[off+47]= 0.142493*CINTgto_norm(1,env[off+14]);
        env[off+15] = 0.8132; env[off+48]= 1.000000*CINTgto_norm(1,env[off+15]);
        env[off+16] = 0.2890; env[off+49]= 1.000000*CINTgto_norm(1,env[off+16]);
        env[off+17] = 0.1007; env[off+50]= 1.000000*CINTgto_norm(1,env[off+17]);
        env[off+18] = 1.8480; env[off+51]= 1.000000*CINTgto_norm(2,env[off+18]);
        env[off+19] = 0.6490; env[off+52]= 1.000000*CINTgto_norm(2,env[off+19]);
        env[off+20] = 0.2280; env[off+53]= 1.000000*CINTgto_norm(2,env[off+20]);
        env[off+21] = 1.4190; env[off+54]= 1.000000*CINTgto_norm(3,env[off+21]);
        env[off+22] = 0.4850; env[off+55]= 1.000000*CINTgto_norm(3,env[off+22]);
        env[off+23] = 1.0110; env[off+56]= 1.000000*CINTgto_norm(4,env[off+23]);
        env[off+57] = 82.64; env[off+69] = 0.002006*CINTgto_norm(0,env[off+57]);
        env[off+58] = 12.41; env[off+70] = 0.015343*CINTgto_norm(0,env[off+58]);
        env[off+59] = 2.824; env[off+71] = 0.075579*CINTgto_norm(0,env[off+59]);
        env[off+60] = 0.797; env[off+72] = 1.000000*CINTgto_norm(0,env[off+60]);
        env[off+61] = 0.258; env[off+73] = 1.000000*CINTgto_norm(0,env[off+61]);
        env[off+62] = 0.089; env[off+74] = 1.000000*CINTgto_norm(0,env[off+62]);
        env[off+63] = 2.292; env[off+75] = 1.000000*CINTgto_norm(1,env[off+63]);
        env[off+64] = 0.838; env[off+76] = 1.000000*CINTgto_norm(1,env[off+64]);
        env[off+65] = 0.292; env[off+77] = 1.000000*CINTgto_norm(1,env[off+65]);
        env[off+66] = 2.062; env[off+78] = 1.000000*CINTgto_norm(2,env[off+66]);
        env[off+67] = 0.662; env[off+79] = 1.000000*CINTgto_norm(2,env[off+67]);
        env[off+68] = 1.397; env[off+80] = 1.000000*CINTgto_norm(3,env[off+68]);
        for (i = 0, ia = 0, n = 0; i < 2; i++) {
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 8;
                bas[NCTR_OF  +BAS_SLOTS*n] = 2;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 0;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+24;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+ 9;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+42;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+10;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+43;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 0;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+11;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+44;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+12;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+45;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+15;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+48;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+16;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+49;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 1;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+17;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+50;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+18;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+51;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+19;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+52;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 2;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+20;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+53;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 3;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+21;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+54;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 3;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+22;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+55;
                n++;
                bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                bas[ANG_OF   +BAS_SLOTS*n] = 4;
                bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                bas[PTR_EXP  +BAS_SLOTS*n] = off+23;
                bas[PTR_COEFF+BAS_SLOTS*n] = off+56;
                n++;
                ia++;
                for (j = 0; j < 3; j++) {
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 3;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+57;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+69;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+60;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+72;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+61;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+73;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 0;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+62;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+74;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+63;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+75;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+64;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+76;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 1;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+65;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+77;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 2;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+66;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+78;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 2;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+67;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+79;
                        n++;
                        bas[ATOM_OF  +BAS_SLOTS*n] = ia;
                        bas[ANG_OF   +BAS_SLOTS*n] = 3;
                        bas[NPRIM_OF +BAS_SLOTS*n] = 1;
                        bas[NCTR_OF  +BAS_SLOTS*n] = 1;
                        bas[PTR_EXP  +BAS_SLOTS*n] = off+68;
                        bas[PTR_COEFF+BAS_SLOTS*n] = off+80;
                        n++;
                        ia++;
                }
        }
        nbas = n;
        printf("cc-pVQZ basis\n");
        run_all(atm, natm, bas, nbas, env);

        free(atm);
        free(bas);
        free(env);
}