Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AtomicHelpers.h File Reference
#include <atomic>
#include <algorithm>
#include <vector>
#include "galois/config.h"

Go to the source code of this file.

Namespaces

 galois
 The Galois namespace containing all Galois structures and functions.
 

Functions

template<typename Ty >
const Ty galois::atomicMax (std::atomic< Ty > &a, const Ty b)
 galois::atomicMax + non-atomic max calls More...
 
template<typename Ty >
const Ty galois::max (std::atomic< Ty > &a, const Ty &b)
 
template<typename Ty >
const Ty galois::max (Ty &a, const Ty &b)
 
template<typename Ty >
const Ty galois::atomicMin (std::atomic< Ty > &a, const Ty b)
 galois::atomicMin More...
 
template<typename Ty >
const Ty galois::min (std::atomic< Ty > &a, const Ty &b)
 
template<typename Ty >
const Ty galois::min (Ty &a, const Ty &b)
 
template<typename Ty >
const Ty galois::atomicAdd (std::atomic< Ty > &val, Ty delta)
 galois::atomicAdd More...
 
template<typename Ty >
const Ty galois::add (std::atomic< Ty > &a, const Ty &b)
 
template<typename Ty >
const Ty galois::add (Ty &a, std::atomic< Ty > &b)
 
template<typename Ty >
const Ty galois::add (Ty &a, const Ty &b)
 
template<typename Ty >
const Ty galois::atomicSubtract (std::atomic< Ty > &val, Ty delta)
 atomic subtraction of delta (because atomicAdd with negative numbers implies a signed integer cast) More...
 
template<typename Ty >
const Ty galois::set (Ty &a, const Ty &b)
 
template<typename Ty >
const Ty galois::set (std::atomic< Ty > &a, const Ty &b)
 
template<typename Ty >
const Ty galois::pairWiseAvg (Ty a, Ty b)
 Pair Wise Average function. More...
 
template<typename Ty >
void galois::pairWiseAvg_vec (std::vector< Ty > &a_vec, std::vector< Ty > &b_vec)
 
template<typename Ty >
void galois::resetVec (Ty &a_arr)
 
template<typename Ty >
void galois::pairWiseAvg_vec (Ty &a_arr, Ty &b_arr)
 
template<typename Ty >
void galois::addArray (Ty &a_arr, Ty &b_arr)
 
template<typename Ty >
void galois::resetVec (std::vector< Ty > &a_vec)
 
template<typename ItrTy , typename Ty >
Ty galois::innerProduct (ItrTy a_begin, ItrTy a_end, ItrTy b_begin, Ty init_value)
 
template<typename ItrTy , typename Ty >
Ty galois::innerProduct (ItrTy &a_arr, ItrTy &b_arr, Ty init_value)
 
template<typename Ty >
void galois::reset (Ty &var, Ty val)
 
template<typename Ty >
void galois::reset (std::atomic< Ty > &var, Ty val)