Order files
This commit is contained in:
		
							
								
								
									
										250
									
								
								android/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_atomic.rsh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										250
									
								
								android/tools/android-osx/build-tools/19.1.0/renderscript/include/rs_atomic.rsh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,250 @@ | ||||
| /* | ||||
|  * Copyright (C) 2011 The Android Open Source Project | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
|  | ||||
| /** @file rs_atomic.rsh | ||||
|  *  \brief Atomic routines | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #ifndef __RS_ATOMIC_RSH__ | ||||
| #define __RS_ATOMIC_RSH__ | ||||
|  | ||||
| #if (defined(RS_VERSION) && (RS_VERSION >= 14)) | ||||
|  | ||||
| /** | ||||
|  * Atomic add one to the value at addr. | ||||
|  * Equal to rsAtomicAdd(addr, 1) | ||||
|  * | ||||
|  * @param addr Address of value to increment | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicInc(volatile int32_t* addr); | ||||
| /** | ||||
|  * Atomic add one to the value at addr. | ||||
|  * Equal to rsAtomicAdd(addr, 1) | ||||
|  * | ||||
|  * @param addr Address of value to increment | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicInc(volatile uint32_t* addr); | ||||
|  | ||||
| /** | ||||
|  * Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1) | ||||
|  * | ||||
|  * @param addr Address of value to decrement | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicDec(volatile int32_t* addr); | ||||
| /** | ||||
|  * Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1) | ||||
|  * | ||||
|  * @param addr Address of value to decrement | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicDec(volatile uint32_t* addr); | ||||
|  | ||||
| /** | ||||
|  * Atomic add a value to the value at addr.  addr[0] += value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to add to the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicAdd(volatile int32_t* addr, int32_t value); | ||||
| /** | ||||
|  * Atomic add a value to the value at addr.  addr[0] += value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to add to the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicAdd(volatile uint32_t* addr, uint32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Subtract a value from the value at addr.  addr[0] -= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to subtract from the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicSub(volatile int32_t* addr, int32_t value); | ||||
| /** | ||||
|  * Atomic Subtract a value from the value at addr.  addr[0] -= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to subtract from the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicSub(volatile uint32_t* addr, uint32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Bitwise and a value from the value at addr.  addr[0] &= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to and with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicAnd(volatile int32_t* addr, int32_t value); | ||||
| /** | ||||
|  * Atomic Bitwise and a value from the value at addr.  addr[0] &= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to and with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicAnd(volatile uint32_t* addr, uint32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Bitwise or a value from the value at addr.  addr[0] |= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to or with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicOr(volatile int32_t* addr, int32_t value); | ||||
| /** | ||||
|  * Atomic Bitwise or a value from the value at addr.  addr[0] |= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to or with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicOr(volatile uint32_t* addr, uint32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Bitwise xor a value from the value at addr.  addr[0] ^= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to xor with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicXor(volatile uint32_t* addr, uint32_t value); | ||||
| /** | ||||
|  * Atomic Bitwise xor a value from the value at addr.  addr[0] ^= value | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value Amount to xor with the value at addr | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicXor(volatile int32_t* addr, int32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Set the value at addr to the min of addr and value | ||||
|  * addr[0] = rsMin(addr[0], value) | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value comparison value | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicMin(volatile uint32_t* addr, uint32_t value); | ||||
| /** | ||||
|  * Atomic Set the value at addr to the min of addr and value | ||||
|  * addr[0] = rsMin(addr[0], value) | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value comparison value | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicMin(volatile int32_t* addr, int32_t value); | ||||
|  | ||||
| /** | ||||
|  * Atomic Set the value at addr to the max of addr and value | ||||
|  * addr[0] = rsMax(addr[0], value) | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value comparison value | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicMax(volatile uint32_t* addr, uint32_t value); | ||||
| /** | ||||
|  * Atomic Set the value at addr to the max of addr and value | ||||
|  * addr[0] = rsMin(addr[0], value) | ||||
|  * | ||||
|  * @param addr Address of value to modify | ||||
|  * @param value comparison value | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicMax(volatile int32_t* addr, int32_t value); | ||||
|  | ||||
| /** | ||||
|  * Compare-and-set operation with a full memory barrier. | ||||
|  * | ||||
|  * If the value at addr matches compareValue then newValue is written. | ||||
|  * | ||||
|  * @param addr The address to compare and replace if the compare passes. | ||||
|  * @param compareValue The value to test addr[0] against. | ||||
|  * @param newValue The value to write if the test passes. | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern int32_t __attribute__((overloadable)) | ||||
|     rsAtomicCas(volatile int32_t* addr, int32_t compareValue, int32_t newValue); | ||||
|  | ||||
| /** | ||||
|  * Compare-and-set operation with a full memory barrier. | ||||
|  * | ||||
|  * If the value at addr matches compareValue then newValue is written. | ||||
|  * | ||||
|  * @param addr The address to compare and replace if the compare passes. | ||||
|  * @param compareValue The value to test addr[0] against. | ||||
|  * @param newValue The value to write if the test passes. | ||||
|  * | ||||
|  * @return old value | ||||
|  */ | ||||
| extern uint32_t __attribute__((overloadable)) | ||||
|     rsAtomicCas(volatile uint32_t* addr, uint32_t compareValue, uint32_t newValue); | ||||
|  | ||||
| #endif //defined(RS_VERSION) && (RS_VERSION >= 14) | ||||
|  | ||||
| #endif | ||||
|  | ||||
		Reference in New Issue
	
	Block a user