<commit_before># `SIMDVector` (concept)

Describes all SIMD vector types provided by Simdee, regardless of underlying datatype. A particular vector type always satisfies one of the extended concepts `SIMDVectorB`, `SIMDVectorF`, `SIMDVectorU`, `SIMDVectorS`.

## Implementations

* `sd::sseb`, `sd::ssef`, `sd::sseu`, `sd::sses`
* `sd::avxb`, `sd::avxf`, `sd::avxu`, `sd::avxs`
* `sd::dumb`, `sd::dumf`, `sd::dumu`, `sd::dums`
* `sd::dual<T>`
* `sd::vec4b`, `sd::vec4f`, `sd::vec4u`, `sd::vec4s`
* `sd::vec8b`, `sd::vec8f`, `sd::vec8u`, `sd::vec8s`

## Requirements

### Member values

Type that satisfies `SIMDVector` must provide the following member values:

value   | description
--------|---------------------------------
`width` | number of scalars in the vector

### Member types

Type that satisfies `SIMDVector` must provide the following member types:

type           | description                                  | additional requirements
---------------|----------------------------------------------|-------------------------
`vec_b`        | related boolean SIMD vector                  | satisfies `SIMDVectorB`
`vec_f`        | related floating-point SIMD vector           | satisfies `SIMDVectorF`
`vec_u`        | related unsigned integral SIMD vector        | satisfies `SIMDVectorU`
`vec_s`        | related signed integral SIMD vector          | satisfies `SIMDVectorS`
`vector_t`     | low-level underlying vector type             |
`scalar_t`     | scalar type                                  |
`storage_t`    | type for storing vector in memory            |

### Construction and assignment

Type `T` that satisfies `SIMDVector` must be implicitly constructible and assignable from:
* `T`
* `vector_t`, `scalar_t`, `log_scalar_t`, `storage_t`
* result of `sd::zero()`, `sd::all_bits()`, `sd::sign_bit()`, `sd::abs_mask()`
* result of `sd::aligned()`, `sd::unaligned()`, `sd::interleaved()`
<commit_msg>Add hyperlinks to SIMDVectorB.md<commit_after># `SIMDVector` (concept)

Describes all SIMD vector types provided by Simdee, regardless of underlying datatype. A particular vector type always satisfies one of the extended concepts [`SIMDVectorB`](SIMDVectorB.md), `SIMDVectorF`, `SIMDVectorU`, `SIMDVectorS`.

## Implementations

* `sd::sseb`, `sd::ssef`, `sd::sseu`, `sd::sses`
* `sd::avxb`, `sd::avxf`, `sd::avxu`, `sd::avxs`
* `sd::dumb`, `sd::dumf`, `sd::dumu`, `sd::dums`
* `sd::dual<T>`
* `sd::vec4b`, `sd::vec4f`, `sd::vec4u`, `sd::vec4s`
* `sd::vec8b`, `sd::vec8f`, `sd::vec8u`, `sd::vec8s`

## Requirements

### Member values

Type that satisfies `SIMDVector` must provide the following member values:

value   | description
--------|---------------------------------
`width` | number of scalars in the vector

### Member types

Type that satisfies `SIMDVector` must provide the following member types:

type           | description                                  | additional requirements
---------------|----------------------------------------------|-------------------------
`vec_b`        | related boolean SIMD vector                  | satisfies [`SIMDVectorB`](SIMDVectorB.md)
`vec_f`        | related floating-point SIMD vector           | satisfies `SIMDVectorF`
`vec_u`        | related unsigned integral SIMD vector        | satisfies `SIMDVectorU`
`vec_s`        | related signed integral SIMD vector          | satisfies `SIMDVectorS`
`vector_t`     | low-level underlying vector type             |
`scalar_t`     | scalar type                                  |
`storage_t`    | type for storing vector in memory            |

### Construction and assignment

Type `T` that satisfies `SIMDVector` must be implicitly constructible and assignable from:
* `T`
* `vector_t`, `scalar_t`, `log_scalar_t`, `storage_t`
* result of `sd::zero()`, `sd::all_bits()`, `sd::sign_bit()`, `sd::abs_mask()`
* result of `sd::aligned()`, `sd::unaligned()`, `sd::interleaved()`

{'fraction_non_alphanumeric': 0.2027614420864229, 'fraction_numerical': 0.004091025313219126, 'mean_word_length': 2.687087653157399, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1852961', 'n_tokens_mistral': 1207, 'n_tokens_neox': 1161, 'n_words': 335}