10#include <util/containers/Array.h>
28 for (
int i = 0; i < n; ++i) {
40 for (
int i = 0; i < n; ++i) {
57 for (
int i = 0; i < n; ++i) {
71 for (
int i = 0; i < n; ++i) {
88 for (
int i = 0; i < n; ++i) {
101 for (
int i = 0; i < n; ++i) {
118 for (
int i = 0; i < n; ++i) {
131 for (
int i = 0; i < n; ++i) {
148 for (
int i = 0; i < n; ++i) {
161 for (
int i = 0; i < n; ++i) {
174 for (
int i = 0; i < n; ++i) {
189 for (
int i = 0; i < n; ++i) {
204 for (
int i = 0; i < n; ++i) {
216 for (
int i = 0; i < n; ++i) {
232 for (
int i = 0; i < n; ++i) {
244 for (
int i = 0; i < n; ++i) {
259 for (
int i = 0; i < n; ++i) {
271 for (
int i = 0; i < n; ++i) {
286 for (
int i = 0; i < n; ++i) {
298 for (
int i = 0; i < n; ++i) {
Array container class template.
int capacity() const
Return allocated size.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Functions that perform element-wise vector operations on the Cpu.
void subVV(Array< double > &a, Array< double > const &b, Array< double > const &c)
Vector subtraction, a[i] = b[i] - c[i].
void divSV(Array< double > &a, double b, Array< double > const &c)
Vector division, a[i] = b / c[i].
void mulEqV(Array< double > &a, Array< double > const &b)
Vector multiplication in-place, a[i] *= b[i].
void addEqV(Array< double > &a, Array< double > const &b)
Vector addition in-place, a[i] += b[i].
void eqV(Array< double > &a, Array< double > const &b)
Vector assignment, a[i] = b[i].
void mulVS(Array< double > &a, Array< double > const &b, double c)
Vector multiplication, a[i] = b[i] * c.
void divEqS(Array< double > &a, double b)
Vector division in-place, a[i] /= b.
void addEqS(Array< double > &a, double b)
Vector addition in-place, a[i] += b.
void addVV(Array< double > &a, Array< double > const &b, Array< double > const &c)
Vector addition, a[i] = b[i] + c[i].
void subVS(Array< double > &a, Array< double > const &b, double c)
Vector subtraction, a[i] = b[i] - c.
void divEqV(Array< double > &a, Array< double > const &b)
Vector division in-place, a[i] /= b[i].
void mulEqS(Array< double > &a, double b)
Vector multiplication in-place, a[i] *= b.
void divVS(Array< double > &a, Array< double > const &b, double c)
Vector division, a[i] = b[i] / c.
void divVV(Array< double > &a, Array< double > const &b, Array< double > const &c)
Vector division, a[i] = b[i] / c[i].
void eqS(Array< double > &a, double b)
Vector assignment, a[i] = b.
void addVS(Array< double > &a, Array< double > const &b, double c)
Vector addition, a[i] = b[i] + c.
void mulVV(Array< double > &a, Array< double > const &b, Array< double > const &c)
Vector multiplication, a[i] = b[i] * c[i].
void subEqV(Array< double > &a, Array< double > const &b)
Vector subtraction in-place, a[i] -= b[i].
void expV(Array< double > &a, Array< double > const &b)
Vector exponentiation, a[i] = exp(b[i]).
void subEqS(Array< double > &a, double b)
Vector subtraction in-place, a[i] -= b.
Fields and FFTs for periodic boundary conditions (CPU)
Periodic fields and crystallography.
PSCF package top-level namespace.