public static void AtomicAdd(this VariableView <Vector4> target, Vector4 operand) { Atomic.Add(ref target.GetSubView <float>(Vector4XOffset).Value, operand.X); Atomic.Add(ref target.GetSubView <float>(Vector4YOffset).Value, operand.Y); Atomic.Add(ref target.GetSubView <float>(Vector4ZOffset).Value, operand.Z); Atomic.Add(ref target.GetSubView <float>(Vector4WOffset).Value, operand.W); }
public static void AtomicAdd(this VariableView <Vector2> target, Vector2 operand) { Atomic.Add(ref target.GetSubView <float>(Vector2XOffset).Value, operand.X); Atomic.Add(ref target.GetSubView <float>(Vector2YOffset).Value, operand.Y); }
public static void AtomicSub(this VariableView <Vector2> target, Vector2 operand) { Atomic.Sub(target.GetSubView <float>(Vector2XOffset), operand.X); Atomic.Sub(target.GetSubView <float>(Vector2YOffset), operand.Y); }
public static void AtomicAdd(this VariableView <Vector3> target, Vector3 operand) { Atomic.Add(target.GetSubView <float>(Vector3XOffset), operand.X); Atomic.Add(target.GetSubView <float>(Vector3YOffset), operand.Y); Atomic.Add(target.GetSubView <float>(Vector3ZOffset), operand.Z); }