text: ///////////////////////////////////////////////////////////////////////////////
  // Copyright (c) Electronic Arts Inc. All rights reserved.
  ///////////////////////////////////////////////////////////////////////////////
  
  #ifndef EATHREAD_INTERNAL_ATOMIC_H
  #define EATHREAD_INTERNAL_ATOMIC_H
  
  #if defined(EA_PRAGMA_ONCE_SUPPORTED)
  	#pragma once // Some compilers (e.g. VC++) benefit significantly from using this. We've measured 3-4% build speed improvements in apps as a result.
  #endif
  
  namespace EA
  {
  	namespace Thread
  	{
  		typedef int64_t(*AtomicAdd64Function)(volatile int64_t *ptr, int64_t value);
  		typedef int64_t(*AtomicGetValue64Function)(volatile int64_t *ptr);
  		typedef int64_t(*AtomicSetValue64Function)(volatile int64_t *ptr, int64_t value);
  		typedef bool(*AtomicSetValueConditional64Function)(volatile int64_t *ptr, int64_t value, int64_t condition);
  
  
  		extern AtomicAdd64Function AtomicAdd64;
  		extern AtomicGetValue64Function AtomicGetValue64;
  		extern AtomicSetValue64Function AtomicSetValue64;
  		extern AtomicSetValueConditional64Function AtomicSetValueConditional64;
  	}
  }
  
  #endif
  