1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-30 00:44:52 +02:00
qmckl/src/qmckl.org

63 lines
1.2 KiB
Org Mode
Raw Normal View History

2020-10-16 13:58:05 +02:00
# -*- mode: org -*-
# vim: syntax=c
#+TITLE: QMCkl C header
2020-10-16 19:42:12 +02:00
This file produces the =qmckl.h= header file, which is included in all
other C header files. It is the main entry point to the library.
2020-10-16 13:58:05 +02:00
#+BEGIN_SRC C :tangle qmckl.h
#ifndef QMCKL_H
#define QMCKL_H
2020-10-22 00:50:07 +02:00
#include <stdlib.h>
#include <stdint.h>
2020-10-16 13:58:05 +02:00
#+END_SRC
* Constants
** Success/failure
These are the codes returned by the functions to indicate success
or failure. All such functions should have as a return type =qmckl_exit_code=.
#+BEGIN_SRC C :tangle qmckl.h
#define QMCKL_SUCCESS 0
#define QMCKL_FAILURE 1
2020-10-22 00:50:07 +02:00
typedef int32_t qmckl_exit_code;
typedef int64_t qmckl_context ;
2020-10-16 13:58:05 +02:00
#+END_SRC
** Precision-related constants
2020-10-16 19:42:12 +02:00
Controlling numerical precision enables optimizations. Here, the
default parameters determining the target numerical precision and
range are defined.
2020-10-16 13:58:05 +02:00
#+BEGIN_SRC C :tangle qmckl.h
#define QMCKL_DEFAULT_PRECISION 53
2020-10-16 19:42:12 +02:00
#define QMCKL_DEFAULT_RANGE 11
2020-10-16 13:58:05 +02:00
#+END_SRC
* Header files
2020-10-16 19:42:12 +02:00
All the functions expoed in the API are defined in the following
header files.
2020-10-16 13:58:05 +02:00
#+BEGIN_SRC C :tangle qmckl.h
2020-10-22 00:50:07 +02:00
2020-10-16 23:56:22 +02:00
#include "qmckl_memory.h"
2020-10-16 13:58:05 +02:00
#include "qmckl_context.h"
2020-10-22 00:50:07 +02:00
#include "qmckl_distance.h"
2020-10-16 13:58:05 +02:00
#+END_SRC
* End of header
#+BEGIN_SRC C :tangle qmckl.h
#endif
#+END_SRC