# Debug Operations

The debug operations do not map to any compiler intrinsics for MMX™ technology or Intel® Streaming SIMD Extensions . They are provided for debugging programs only. Use of these operations may result in loss of performance, so you should not use them outside of debugging.

## Output Operations

The two single, double-precision floating-point values of `A` are placed in the output buffer and printed in decimal format as follows:

`cout << F64vec2 A;`
`"[1]:A1 [0]:A0"`
Corresponding intrinsics: none

The four, single-precision floating-point values of `A` are placed in the output buffer and printed in decimal format as follows:

`cout << F32vec4 A;`
`"[3]:A3 [2]:A2 [1]:A1 [0]:A0"`
Corresponding intrinsics: none

The lowest, single-precision floating-point value of `A` is placed in the output buffer and printed.

`cout << F32vec1 A;`
Corresponding intrinsics: none

## Element Access Operations

`double d = F64vec2 A[int i]`

Read one of the two, double-precision floating-point values of `A` without modifying the corresponding floating-point value. Permitted values of `i` are 0 and 1. For example:

If DEBUG is enabled and `i` is not one of the permitted values (0 or 1), a diagnostic message is printed and the program aborts.

`double d = F64vec2 A[1];`
Corresponding intrinsics: none

Read one of the four, single-precision floating-point values of `A` without modifying the corresponding floating point value. Permitted values of `i` are 0, 1, 2, and 3. For example:

`float f = F32vec4 A[int i]`

If DEBUG is enabled and `i` is not one of the permitted values (0-3), a diagnostic message is printed and the program aborts.

`float f = F32vec4 A[2];`
Corresponding intrinsics: none

## Element Assignment Operations

`F64vec4 A[int i] = double d;`

Modify one of the two, double-precision floating-point values of `A`. Permitted values of `int i` are 0 and 1. For example:

`F32vec4 A[1] = double d;`
`F32vec4 A[int i] = float f;`

Modify one of the four, single-precision floating-point values of `A`. Permitted values of `int i` are 0, 1, 2, and 3. For example:

If DEBUG is enabled and `int i` is not one of the permitted values (0-3), a diagnostic message is printed and the program aborts.

`F32vec4 A[3] = float f;`
Corresponding intrinsics: none.

Parent topic: Floating-point Vector Classes