# Overview: Floating-point Vector Classes

The floating-point vector classes, F64vec2, F32vec4, and F32vec1, provide an interface to SIMD operations. The class specifications are as follows:

`F64vec2 A(double x, double y);`

`F32vec4 A(float z, float y, float x, float w);`

`F32vec1 B(float w);`

# Fvec Notation Conventions

This reference uses the following conventions for syntax and return values.

## Fvec Classes Syntax Notation

Fvec classes use the syntax conventions shown the following examples:

# Data Alignment

Memory operations using the Intel® Streaming SIMD Extensions should be performed on 16-byte-aligned data whenever possible. Memory operations using the Intel® Advanced Vector Extensions should be performed on 32-byte-aligned data whenever possible.

# Conversions

All Fvec object variables can be implicitly converted to __m128 data types. For example, the results of computations performed on F32vec4 or F32vec1 object variables can be assigned to __m128 data types.

# Constructors and Initialization

The following table shows how to create and initialize F32vec objects with the Fvec classes.

# Arithmetic Operators

The following table lists the arithmetic operators of the Fvec classes and generic syntax. The operators have been divided into standard and advanced operations, which are described in more detail later in this section.

# Minimum and Maximum Operators

Compute the minimums of the two double precision floating-point values of `A` and `B`.

`F64vec2 R = simd_min(F64vec2 A, F64vec2 B)`
`R0 := min(A0,B0);`
`R1 := min(A1,B1);`
Corresponding intrinsic: _mm_min_pd

# Logical Operators

The following table lists the logical operators of the Fvec classes and generic syntax. The logical operators for F32vec1 classes use only the lower 32 bits.

Fvec Logical Operators Return Value Mapping

# Compare Operators

The operators described in this section compare the single precision floating-point values of `A` and `B`. Comparison between objects of any Fvec class return the same class being compared.

The following table lists the compare operators for the Fvec classes.

# Conditional Select Operators for Fvec Classes

Each conditional function compares single-precision floating-point values of A and B. The C and D parameters are used for return value. Comparison between objects of any Fvec class returns the same class.