You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
volatile access of '\<expression>' is subject to /volatile:[iso|ms] setting; consider using __iso_volatile_load/store intrinsic functions.
11
+
volatile access of '\<expression>' is subject to /volatile:[iso\|ms] setting; consider using __iso_volatile_load/store intrinsic functions.
12
12
13
13
C4746 is emitted whenever a volatile variable is accessed directly. It's intended to help developers identify code locations that are affected by the specific volatile model currently specified (which can be controlled with the [`/volatile`](../../build/reference/volatile-volatile-keyword-interpretation.md) compiler option). In particular, it can be useful in locating compiler-generated hardware memory barriers when `/volatile:ms` is used.
Copy file name to clipboardExpand all lines: docs/parallel/amp/graphics-cpp-amp.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ C++ AMP contains several APIs in the [Concurrency::graphics](../../parallel/amp/
16
16
17
17
## The norm and unorm Types
18
18
19
-
The `norm` and `unorm` types are scalar types that limit the range of **`float`** values; this is known as *clamping*. These types can be explicitly constructed from other scalar types. In casting, the value is first cast to **`float`** and then clamped to the respective region that's allowed by norm [-1.0, 1.0] or unorm [0.0, 1.0]. Casting from +/- infinity returns +/-1. Casting from NaN is undefined. A norm can be implicitly constructed from a unorm and there is no loss of data. The implicit conversion operator to float is defined on these types. Binary operators are defined between these types and other built-in scalar types such as **`float`** and **`int`**: +, -, \*, /, ==, !=, >, \<, >=, <=. The compound assignment operators are also supported: +=, -=, \*=, /=. The unary negation operator (-) is defined for norm types.
19
+
The `norm` and `unorm` types are scalar types that limit the range of **`float`** values; this is known as *clamping*. These types can be explicitly constructed from other scalar types. In casting, the value is first cast to **`float`** and then clamped to the respective region that's allowed by `norm [-1.0, 1.0]` or `unorm [0.0, 1.0]`. Casting from +/- infinity returns +/-1. Casting from NaN is undefined. A `norm` can be implicitly constructed from a `unorm` and there is no loss of data. The implicit conversion operator to **`float`** is defined on these types. Binary operators are defined between these types and other built-in scalar types such as **`float`** and **`int`**: `+`, `-`, `*`, `/`, `==`, `!=`, `>`, `<`, `>=`, `<=`. The compound assignment operators are also supported: `+=`, `-=`, `*=`, `/=`. The unary negation operator (`-`) is defined for `norm` types.
20
20
21
21
## Short Vector Library
22
22
@@ -35,20 +35,20 @@ The Short Vector Library provides some of the functionality of the [Vector Type]
35
35
36
36
If an operator is defined between two short vectors, then it is also defined between a short vector and a scalar. Also, one of these must be true:
37
37
38
-
- The scalar’s type must be the same as the short vector’s element type.
38
+
- The scalar's type must be the same as the short vector's element type.
39
39
40
-
- The scalar’s type can be implicitly converted to the vector’s element type by using only one user-defined conversion.
40
+
- The scalar's type can be implicitly converted to the vector's element type by using only one user-defined conversion.
41
41
42
42
The operation is carried component-wise between each component of the short vector and the scalar. Here are the valid operators:
43
43
44
44
|Operator type|Valid types|
45
45
|-------------------|-----------------|
46
-
|Binary operators|Valid on all types: +, -, \*, /,<br /><br /> Valid on integer types: %, ^, |, &, <\<, >><br /><br /> The two vectors must have the same size, and the result is a vector of the same size.|
47
-
|Relational operators|Valid on all types: == and !=|
48
-
|Compound assignment operator|Valid on all types: +=, -=, \*=, /=<br /><br /> Valid on integer types: %=, ^=, |=, &=, <\<=, >>=|
49
-
|Increment and decrement operators|Valid on all types: ++, --<br /><br /> Both prefix and postfix are valid.|
50
-
|Bitwise NOT operator (~)|Valid on integer types.|
51
-
|Unary - operator|Valid on all types except `unorm` and `uint`.|
46
+
|Binary operators|Valid on all types: `+`, `-`, `*`, `/`,<br /><br /> Valid on integer types: `%`, `^`, `|`, `&`, `<<`, `>>`<br /><br /> The two vectors must have the same size, and the result is a vector of the same size.|
47
+
|Relational operators|Valid on all types: `==` and `!=`|
48
+
|Compound assignment operator|Valid on all types: `+=`, `-=`, `*=`, `/=`<br /><br /> Valid on integer types: `%=`, `^=`, `|=`, `&=`, `<<=`, `>>=`|
49
+
|Increment and decrement operators|Valid on all types: `++`, `--`<br /><br /> Both prefix and postfix are valid.|
50
+
|Bitwise NOT operator (`~`)|Valid on integer types.|
51
+
|Unary `-` operator|Valid on all types except `unorm` and `uint`.|
Copy file name to clipboardExpand all lines: docs/parallel/concrt/reference/concurrency-namespace.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -203,7 +203,7 @@ namespace concurrency;
203
203
|----------|-----------------|
204
204
|[operator!=](concurrency-namespace-operators.md#operator_neq)|Tests if the `concurrent_vector` object on the left side of the operator is not equal to the `concurrent_vector` object on the right side.|
205
205
|[operator&&](concurrency-namespace-operators.md#operator_amp_amp)|Overloaded. Creates a task that will complete successfully when both of the tasks supplied as arguments complete successfully.|
206
-
|[operator||](concurrency-namespace-operators.md#operator_lor)|Overloaded. Creates a task that will complete successfully when either of the tasks supplied as arguments completes successfully.|
206
+
|[`operator||`](concurrency-namespace-operators.md#operator_lor)|Overloaded. Creates a task that will complete successfully when either of the tasks supplied as arguments completes successfully.|
207
207
|[operator<](concurrency-namespace-operators.md#operator_lt)|Tests if the `concurrent_vector` object on the left side of the operator is less than the `concurrent_vector` object on the right side.|
208
208
|[operator<=](concurrency-namespace-operators.md#operator_lt_eq)|Tests if the `concurrent_vector` object on the left side of the operator is less than or equal to the `concurrent_vector` object on the right side.|
209
209
|[operator==](concurrency-namespace-operators.md#operator_eq_eq)|Tests if the `concurrent_vector` object on the left side of the operator is equal to the `concurrent_vector` object on the right side.|
0 commit comments