storage.h 925 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * Copyright 2018-2019 NWO-I
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#pragma once

#include <vector>

20
21
22
23
#ifdef USE_AVX2
#include <Vc/Allocator>
using storage_t = std::vector<long, Vc::Allocator<long>>;
using pmts_t = std::vector<int, Vc::Allocator<int>>;
24
#else
25
26
using storage_t = std::vector<long>;
using pmts_t = std::vector<int>;
27
28
29
#endif

using queue_t = std::vector<std::tuple<storage_t, storage_t>>;