Created
March 18, 2019 20:05
-
-
Save izgzhen/ace4bdc086f2c1a63ad14b80997ecd52 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
#include <algorithm> | |
#include <set> | |
#include <functional> | |
#include <vector> | |
#include <unordered_set> | |
#include <string> | |
#include <unordered_map> | |
#include <string> | |
#include "cozy.hpp" | |
inline bool ends_with(std::string const &value, std::string const &ending) { | |
if (ending.size() > value.size()) return false; | |
return std::equal(ending.rbegin(), ending.rend(), value.rbegin()); | |
} | |
const int EXAMPLE_DATE_ONE = cozy::parse_time("1997-09-01"); | |
const int EXAMPLE_DATE_TWO = cozy::parse_time("1995-03-15"); | |
const int EXAMPLE_DATE_THREE = cozy::parse_time("1993-07-01"); | |
const int EXAMPLE_DATE_FOUR = cozy::parse_time("1993-10-01"); | |
class TPCH_Store { | |
public: | |
struct LINEITEM { | |
int orderkey; | |
int partkey; | |
int suppkey; | |
int linenumber; | |
float quantity; | |
float extendedprice; | |
float discount; | |
float tax; | |
char returnflag; | |
char linestatus; | |
uint64_t shipdate; | |
uint64_t commitdate; | |
uint64_t receiptdate; | |
std::string shipinstruct; | |
std::string shipmode; | |
std::string comment; | |
inline LINEITEM() { } | |
inline LINEITEM(int _orderkey, int _partkey, int _suppkey, int _linenumber, float _quantity, float _extendedprice, float _discount, float _tax, char _returnflag, char _linestatus, uint64_t _shipdate, uint64_t _commitdate, uint64_t _receiptdate, std::string _shipinstruct, std::string _shipmode, std::string _comment) : orderkey(::std::move(_orderkey)), partkey(::std::move(_partkey)), suppkey(::std::move(_suppkey)), linenumber(::std::move(_linenumber)), quantity(::std::move(_quantity)), extendedprice(::std::move(_extendedprice)), discount(::std::move(_discount)), tax(::std::move(_tax)), returnflag(::std::move(_returnflag)), linestatus(::std::move(_linestatus)), shipdate(::std::move(_shipdate)), commitdate(::std::move(_commitdate)), receiptdate(::std::move(_receiptdate)), shipinstruct(::std::move(_shipinstruct)), shipmode(::std::move(_shipmode)), comment(::std::move(_comment)) { } | |
inline bool operator==(const LINEITEM& other) const { | |
bool _v51790; | |
bool _v51791; | |
bool _v51792; | |
bool _v51793; | |
if (((((*this).orderkey) == (other.orderkey)))) { | |
_v51793 = ((((*this).partkey) == (other.partkey))); | |
} else { | |
_v51793 = false; | |
} | |
if (_v51793) { | |
bool _v51794; | |
if (((((*this).suppkey) == (other.suppkey)))) { | |
_v51794 = ((((*this).linenumber) == (other.linenumber))); | |
} else { | |
_v51794 = false; | |
} | |
_v51792 = _v51794; | |
} else { | |
_v51792 = false; | |
} | |
if (_v51792) { | |
bool _v51795; | |
bool _v51796; | |
if (((((*this).quantity) == (other.quantity)))) { | |
_v51796 = ((((*this).extendedprice) == (other.extendedprice))); | |
} else { | |
_v51796 = false; | |
} | |
if (_v51796) { | |
bool _v51797; | |
if (((((*this).discount) == (other.discount)))) { | |
_v51797 = ((((*this).tax) == (other.tax))); | |
} else { | |
_v51797 = false; | |
} | |
_v51795 = _v51797; | |
} else { | |
_v51795 = false; | |
} | |
_v51791 = _v51795; | |
} else { | |
_v51791 = false; | |
} | |
if (_v51791) { | |
bool _v51798; | |
bool _v51799; | |
bool _v51800; | |
if (((((*this).returnflag) == (other.returnflag)))) { | |
_v51800 = ((((*this).linestatus) == (other.linestatus))); | |
} else { | |
_v51800 = false; | |
} | |
if (_v51800) { | |
bool _v51801; | |
if (((((*this).shipdate) == (other.shipdate)))) { | |
_v51801 = ((((*this).commitdate) == (other.commitdate))); | |
} else { | |
_v51801 = false; | |
} | |
_v51799 = _v51801; | |
} else { | |
_v51799 = false; | |
} | |
if (_v51799) { | |
bool _v51802; | |
bool _v51803; | |
if (((((*this).receiptdate) == (other.receiptdate)))) { | |
_v51803 = ((((*this).shipinstruct) == (other.shipinstruct))); | |
} else { | |
_v51803 = false; | |
} | |
if (_v51803) { | |
bool _v51804; | |
if (((((*this).shipmode) == (other.shipmode)))) { | |
_v51804 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51804 = false; | |
} | |
_v51802 = _v51804; | |
} else { | |
_v51802 = false; | |
} | |
_v51798 = _v51802; | |
} else { | |
_v51798 = false; | |
} | |
_v51790 = _v51798; | |
} else { | |
_v51790 = false; | |
} | |
return _v51790; | |
} | |
}; | |
struct _HashLINEITEM { | |
typedef TPCH_Store::LINEITEM argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51805 = 0; | |
int _hash_code51806 = 0; | |
_hash_code51806 = (std::hash<int >()((x.orderkey))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<int >()((x.partkey))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<int >()((x.suppkey))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<int >()((x.linenumber))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<float >()((x.quantity))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<float >()((x.extendedprice))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<float >()((x.discount))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<float >()((x.tax))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<char >()((x.returnflag))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<char >()((x.linestatus))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<uint64_t >()((x.shipdate))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<uint64_t >()((x.commitdate))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<uint64_t >()((x.receiptdate))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<std::string >()((x.shipinstruct))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<std::string >()((x.shipmode))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
_hash_code51806 = (std::hash<std::string >()((x.comment))); | |
_hash_code51805 = ((_hash_code51805 * 31) ^ (_hash_code51806)); | |
return _hash_code51805; | |
} | |
}; | |
struct ORDERS { | |
int orderkey; | |
int custkey; | |
char orderstatus; | |
float totalprice; | |
uint64_t orderdate; | |
std::string orderpriority; | |
std::string clerk; | |
int shippriority; | |
std::string comment; | |
inline ORDERS() { } | |
inline ORDERS(int _orderkey, int _custkey, char _orderstatus, float _totalprice, uint64_t _orderdate, std::string _orderpriority, std::string _clerk, int _shippriority, std::string _comment) : orderkey(::std::move(_orderkey)), custkey(::std::move(_custkey)), orderstatus(::std::move(_orderstatus)), totalprice(::std::move(_totalprice)), orderdate(::std::move(_orderdate)), orderpriority(::std::move(_orderpriority)), clerk(::std::move(_clerk)), shippriority(::std::move(_shippriority)), comment(::std::move(_comment)) { } | |
inline bool operator==(const ORDERS& other) const { | |
bool _v51807; | |
bool _v51808; | |
bool _v51809; | |
if (((((*this).orderkey) == (other.orderkey)))) { | |
_v51809 = ((((*this).custkey) == (other.custkey))); | |
} else { | |
_v51809 = false; | |
} | |
if (_v51809) { | |
bool _v51810; | |
if (((((*this).orderstatus) == (other.orderstatus)))) { | |
_v51810 = ((((*this).totalprice) == (other.totalprice))); | |
} else { | |
_v51810 = false; | |
} | |
_v51808 = _v51810; | |
} else { | |
_v51808 = false; | |
} | |
if (_v51808) { | |
bool _v51811; | |
bool _v51812; | |
if (((((*this).orderdate) == (other.orderdate)))) { | |
_v51812 = ((((*this).orderpriority) == (other.orderpriority))); | |
} else { | |
_v51812 = false; | |
} | |
if (_v51812) { | |
bool _v51813; | |
if (((((*this).clerk) == (other.clerk)))) { | |
bool _v51814; | |
if (((((*this).shippriority) == (other.shippriority)))) { | |
_v51814 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51814 = false; | |
} | |
_v51813 = _v51814; | |
} else { | |
_v51813 = false; | |
} | |
_v51811 = _v51813; | |
} else { | |
_v51811 = false; | |
} | |
_v51807 = _v51811; | |
} else { | |
_v51807 = false; | |
} | |
return _v51807; | |
} | |
}; | |
struct _HashORDERS { | |
typedef TPCH_Store::ORDERS argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51815 = 0; | |
int _hash_code51816 = 0; | |
_hash_code51816 = (std::hash<int >()((x.orderkey))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<int >()((x.custkey))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<char >()((x.orderstatus))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<float >()((x.totalprice))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<uint64_t >()((x.orderdate))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<std::string >()((x.orderpriority))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<std::string >()((x.clerk))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<int >()((x.shippriority))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
_hash_code51816 = (std::hash<std::string >()((x.comment))); | |
_hash_code51815 = ((_hash_code51815 * 31) ^ (_hash_code51816)); | |
return _hash_code51815; | |
} | |
}; | |
struct PART { | |
int partkey; | |
std::string name; | |
std::string mfgr; | |
std::string brand; | |
std::string part_type; | |
int size; | |
std::string container; | |
float retailprice; | |
std::string comment; | |
inline PART() { } | |
inline PART(int _partkey, std::string _name, std::string _mfgr, std::string _brand, std::string _part_type, int _size, std::string _container, float _retailprice, std::string _comment) : partkey(::std::move(_partkey)), name(::std::move(_name)), mfgr(::std::move(_mfgr)), brand(::std::move(_brand)), part_type(::std::move(_part_type)), size(::std::move(_size)), container(::std::move(_container)), retailprice(::std::move(_retailprice)), comment(::std::move(_comment)) { } | |
inline bool operator==(const PART& other) const { | |
bool _v51817; | |
bool _v51818; | |
bool _v51819; | |
if (((((*this).partkey) == (other.partkey)))) { | |
_v51819 = ((((*this).name) == (other.name))); | |
} else { | |
_v51819 = false; | |
} | |
if (_v51819) { | |
bool _v51820; | |
if (((((*this).mfgr) == (other.mfgr)))) { | |
_v51820 = ((((*this).brand) == (other.brand))); | |
} else { | |
_v51820 = false; | |
} | |
_v51818 = _v51820; | |
} else { | |
_v51818 = false; | |
} | |
if (_v51818) { | |
bool _v51821; | |
bool _v51822; | |
if (((((*this).part_type) == (other.part_type)))) { | |
_v51822 = ((((*this).size) == (other.size))); | |
} else { | |
_v51822 = false; | |
} | |
if (_v51822) { | |
bool _v51823; | |
if (((((*this).container) == (other.container)))) { | |
bool _v51824; | |
if (((((*this).retailprice) == (other.retailprice)))) { | |
_v51824 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51824 = false; | |
} | |
_v51823 = _v51824; | |
} else { | |
_v51823 = false; | |
} | |
_v51821 = _v51823; | |
} else { | |
_v51821 = false; | |
} | |
_v51817 = _v51821; | |
} else { | |
_v51817 = false; | |
} | |
return _v51817; | |
} | |
}; | |
struct _HashPART { | |
typedef TPCH_Store::PART argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51825 = 0; | |
int _hash_code51826 = 0; | |
_hash_code51826 = (std::hash<int >()((x.partkey))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.name))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.mfgr))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.brand))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.part_type))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<int >()((x.size))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.container))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<float >()((x.retailprice))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
_hash_code51826 = (std::hash<std::string >()((x.comment))); | |
_hash_code51825 = ((_hash_code51825 * 31) ^ (_hash_code51826)); | |
return _hash_code51825; | |
} | |
}; | |
struct CUSTOMER { | |
int custkey; | |
std::string name; | |
std::string address; | |
int nationkey; | |
std::string phone; | |
float acctbal; | |
std::string mktsegment; | |
std::string comment; | |
inline CUSTOMER() { } | |
inline CUSTOMER(int _custkey, std::string _name, std::string _address, int _nationkey, std::string _phone, float _acctbal, std::string _mktsegment, std::string _comment) : custkey(::std::move(_custkey)), name(::std::move(_name)), address(::std::move(_address)), nationkey(::std::move(_nationkey)), phone(::std::move(_phone)), acctbal(::std::move(_acctbal)), mktsegment(::std::move(_mktsegment)), comment(::std::move(_comment)) { } | |
inline bool operator==(const CUSTOMER& other) const { | |
bool _v51827; | |
bool _v51828; | |
bool _v51829; | |
if (((((*this).custkey) == (other.custkey)))) { | |
_v51829 = ((((*this).name) == (other.name))); | |
} else { | |
_v51829 = false; | |
} | |
if (_v51829) { | |
bool _v51830; | |
if (((((*this).address) == (other.address)))) { | |
_v51830 = ((((*this).nationkey) == (other.nationkey))); | |
} else { | |
_v51830 = false; | |
} | |
_v51828 = _v51830; | |
} else { | |
_v51828 = false; | |
} | |
if (_v51828) { | |
bool _v51831; | |
bool _v51832; | |
if (((((*this).phone) == (other.phone)))) { | |
_v51832 = ((((*this).acctbal) == (other.acctbal))); | |
} else { | |
_v51832 = false; | |
} | |
if (_v51832) { | |
bool _v51833; | |
if (((((*this).mktsegment) == (other.mktsegment)))) { | |
_v51833 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51833 = false; | |
} | |
_v51831 = _v51833; | |
} else { | |
_v51831 = false; | |
} | |
_v51827 = _v51831; | |
} else { | |
_v51827 = false; | |
} | |
return _v51827; | |
} | |
}; | |
struct _HashCUSTOMER { | |
typedef TPCH_Store::CUSTOMER argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51834 = 0; | |
int _hash_code51835 = 0; | |
_hash_code51835 = (std::hash<int >()((x.custkey))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<std::string >()((x.name))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<std::string >()((x.address))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<int >()((x.nationkey))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<std::string >()((x.phone))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<float >()((x.acctbal))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<std::string >()((x.mktsegment))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
_hash_code51835 = (std::hash<std::string >()((x.comment))); | |
_hash_code51834 = ((_hash_code51834 * 31) ^ (_hash_code51835)); | |
return _hash_code51834; | |
} | |
}; | |
struct SUPPLIER { | |
int suppkey; | |
std::string name; | |
std::string address; | |
int nationkey; | |
std::string phone; | |
float acctbal; | |
std::string comment; | |
inline SUPPLIER() { } | |
inline SUPPLIER(int _suppkey, std::string _name, std::string _address, int _nationkey, std::string _phone, float _acctbal, std::string _comment) : suppkey(::std::move(_suppkey)), name(::std::move(_name)), address(::std::move(_address)), nationkey(::std::move(_nationkey)), phone(::std::move(_phone)), acctbal(::std::move(_acctbal)), comment(::std::move(_comment)) { } | |
inline bool operator==(const SUPPLIER& other) const { | |
bool _v51836; | |
bool _v51837; | |
if (((((*this).suppkey) == (other.suppkey)))) { | |
bool _v51838; | |
if (((((*this).name) == (other.name)))) { | |
_v51838 = ((((*this).address) == (other.address))); | |
} else { | |
_v51838 = false; | |
} | |
_v51837 = _v51838; | |
} else { | |
_v51837 = false; | |
} | |
if (_v51837) { | |
bool _v51839; | |
bool _v51840; | |
if (((((*this).nationkey) == (other.nationkey)))) { | |
_v51840 = ((((*this).phone) == (other.phone))); | |
} else { | |
_v51840 = false; | |
} | |
if (_v51840) { | |
bool _v51841; | |
if (((((*this).acctbal) == (other.acctbal)))) { | |
_v51841 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51841 = false; | |
} | |
_v51839 = _v51841; | |
} else { | |
_v51839 = false; | |
} | |
_v51836 = _v51839; | |
} else { | |
_v51836 = false; | |
} | |
return _v51836; | |
} | |
}; | |
struct _HashSUPPLIER { | |
typedef TPCH_Store::SUPPLIER argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51842 = 0; | |
int _hash_code51843 = 0; | |
_hash_code51843 = (std::hash<int >()((x.suppkey))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<std::string >()((x.name))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<std::string >()((x.address))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<int >()((x.nationkey))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<std::string >()((x.phone))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<float >()((x.acctbal))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
_hash_code51843 = (std::hash<std::string >()((x.comment))); | |
_hash_code51842 = ((_hash_code51842 * 31) ^ (_hash_code51843)); | |
return _hash_code51842; | |
} | |
}; | |
struct PARTSUPP { | |
int partkey; | |
int suppkey; | |
int availqty; | |
float supplycost; | |
std::string comment; | |
inline PARTSUPP() { } | |
inline PARTSUPP(int _partkey, int _suppkey, int _availqty, float _supplycost, std::string _comment) : partkey(::std::move(_partkey)), suppkey(::std::move(_suppkey)), availqty(::std::move(_availqty)), supplycost(::std::move(_supplycost)), comment(::std::move(_comment)) { } | |
inline bool operator==(const PARTSUPP& other) const { | |
bool _v51844; | |
bool _v51845; | |
if (((((*this).partkey) == (other.partkey)))) { | |
_v51845 = ((((*this).suppkey) == (other.suppkey))); | |
} else { | |
_v51845 = false; | |
} | |
if (_v51845) { | |
bool _v51846; | |
if (((((*this).availqty) == (other.availqty)))) { | |
bool _v51847; | |
if (((((*this).supplycost) == (other.supplycost)))) { | |
_v51847 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51847 = false; | |
} | |
_v51846 = _v51847; | |
} else { | |
_v51846 = false; | |
} | |
_v51844 = _v51846; | |
} else { | |
_v51844 = false; | |
} | |
return _v51844; | |
} | |
}; | |
struct _HashPARTSUPP { | |
typedef TPCH_Store::PARTSUPP argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51848 = 0; | |
int _hash_code51849 = 0; | |
_hash_code51849 = (std::hash<int >()((x.partkey))); | |
_hash_code51848 = ((_hash_code51848 * 31) ^ (_hash_code51849)); | |
_hash_code51849 = (std::hash<int >()((x.suppkey))); | |
_hash_code51848 = ((_hash_code51848 * 31) ^ (_hash_code51849)); | |
_hash_code51849 = (std::hash<int >()((x.availqty))); | |
_hash_code51848 = ((_hash_code51848 * 31) ^ (_hash_code51849)); | |
_hash_code51849 = (std::hash<float >()((x.supplycost))); | |
_hash_code51848 = ((_hash_code51848 * 31) ^ (_hash_code51849)); | |
_hash_code51849 = (std::hash<std::string >()((x.comment))); | |
_hash_code51848 = ((_hash_code51848 * 31) ^ (_hash_code51849)); | |
return _hash_code51848; | |
} | |
}; | |
struct NATION { | |
int nationkey; | |
std::string name; | |
int regionkey; | |
std::string comment; | |
inline NATION() { } | |
inline NATION(int _nationkey, std::string _name, int _regionkey, std::string _comment) : nationkey(::std::move(_nationkey)), name(::std::move(_name)), regionkey(::std::move(_regionkey)), comment(::std::move(_comment)) { } | |
inline bool operator==(const NATION& other) const { | |
bool _v51850; | |
bool _v51851; | |
if (((((*this).nationkey) == (other.nationkey)))) { | |
_v51851 = ((((*this).name) == (other.name))); | |
} else { | |
_v51851 = false; | |
} | |
if (_v51851) { | |
bool _v51852; | |
if (((((*this).regionkey) == (other.regionkey)))) { | |
_v51852 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51852 = false; | |
} | |
_v51850 = _v51852; | |
} else { | |
_v51850 = false; | |
} | |
return _v51850; | |
} | |
}; | |
struct _HashNATION { | |
typedef TPCH_Store::NATION argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51853 = 0; | |
int _hash_code51854 = 0; | |
_hash_code51854 = (std::hash<int >()((x.nationkey))); | |
_hash_code51853 = ((_hash_code51853 * 31) ^ (_hash_code51854)); | |
_hash_code51854 = (std::hash<std::string >()((x.name))); | |
_hash_code51853 = ((_hash_code51853 * 31) ^ (_hash_code51854)); | |
_hash_code51854 = (std::hash<int >()((x.regionkey))); | |
_hash_code51853 = ((_hash_code51853 * 31) ^ (_hash_code51854)); | |
_hash_code51854 = (std::hash<std::string >()((x.comment))); | |
_hash_code51853 = ((_hash_code51853 * 31) ^ (_hash_code51854)); | |
return _hash_code51853; | |
} | |
}; | |
struct REGION { | |
int regionkey; | |
std::string name; | |
std::string comment; | |
inline REGION() { } | |
inline REGION(int _regionkey, std::string _name, std::string _comment) : regionkey(::std::move(_regionkey)), name(::std::move(_name)), comment(::std::move(_comment)) { } | |
inline bool operator==(const REGION& other) const { | |
bool _v51855; | |
if (((((*this).regionkey) == (other.regionkey)))) { | |
bool _v51856; | |
if (((((*this).name) == (other.name)))) { | |
_v51856 = ((((*this).comment) == (other.comment))); | |
} else { | |
_v51856 = false; | |
} | |
_v51855 = _v51856; | |
} else { | |
_v51855 = false; | |
} | |
return _v51855; | |
} | |
}; | |
struct _HashREGION { | |
typedef TPCH_Store::REGION argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51857 = 0; | |
int _hash_code51858 = 0; | |
_hash_code51858 = (std::hash<int >()((x.regionkey))); | |
_hash_code51857 = ((_hash_code51857 * 31) ^ (_hash_code51858)); | |
_hash_code51858 = (std::hash<std::string >()((x.name))); | |
_hash_code51857 = ((_hash_code51857 * 31) ^ (_hash_code51858)); | |
_hash_code51858 = (std::hash<std::string >()((x.comment))); | |
_hash_code51857 = ((_hash_code51857 * 31) ^ (_hash_code51858)); | |
return _hash_code51857; | |
} | |
}; | |
struct _Type51788 { | |
char _0; | |
char _1; | |
inline _Type51788() { } | |
inline _Type51788(char __0, char __1) : _0(::std::move(__0)), _1(::std::move(__1)) { } | |
inline bool operator==(const _Type51788& other) const { | |
bool _v51859; | |
if (((((*this)._0) == (other._0)))) { | |
_v51859 = ((((*this)._1) == (other._1))); | |
} else { | |
_v51859 = false; | |
} | |
return _v51859; | |
} | |
}; | |
struct _Hash_Type51788 { | |
typedef TPCH_Store::_Type51788 argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51860 = 0; | |
int _hash_code51861 = 0; | |
_hash_code51861 = (std::hash<char >()((x._0))); | |
_hash_code51860 = ((_hash_code51860 * 31) ^ (_hash_code51861)); | |
_hash_code51861 = (std::hash<char >()((x._1))); | |
_hash_code51860 = ((_hash_code51860 * 31) ^ (_hash_code51861)); | |
return _hash_code51860; | |
} | |
}; | |
struct _Type51789 { | |
char returnflag; | |
char linestatus; | |
float sum_qty; | |
float sum_base_price; | |
float sum_disc_price; | |
float sum_charge; | |
float avg_qty; | |
float avg_price; | |
float avg_disc; | |
int count_order; | |
inline _Type51789() { } | |
inline _Type51789(char _returnflag, char _linestatus, float _sum_qty, float _sum_base_price, float _sum_disc_price, float _sum_charge, float _avg_qty, float _avg_price, float _avg_disc, int _count_order) : returnflag(::std::move(_returnflag)), linestatus(::std::move(_linestatus)), sum_qty(::std::move(_sum_qty)), sum_base_price(::std::move(_sum_base_price)), sum_disc_price(::std::move(_sum_disc_price)), sum_charge(::std::move(_sum_charge)), avg_qty(::std::move(_avg_qty)), avg_price(::std::move(_avg_price)), avg_disc(::std::move(_avg_disc)), count_order(::std::move(_count_order)) { } | |
inline bool operator==(const _Type51789& other) const { | |
bool _v51862; | |
bool _v51863; | |
bool _v51864; | |
if (((((*this).returnflag) == (other.returnflag)))) { | |
_v51864 = ((((*this).linestatus) == (other.linestatus))); | |
} else { | |
_v51864 = false; | |
} | |
if (_v51864) { | |
bool _v51865; | |
if (((((*this).sum_qty) == (other.sum_qty)))) { | |
bool _v51866; | |
if (((((*this).sum_base_price) == (other.sum_base_price)))) { | |
_v51866 = ((((*this).sum_disc_price) == (other.sum_disc_price))); | |
} else { | |
_v51866 = false; | |
} | |
_v51865 = _v51866; | |
} else { | |
_v51865 = false; | |
} | |
_v51863 = _v51865; | |
} else { | |
_v51863 = false; | |
} | |
if (_v51863) { | |
bool _v51867; | |
bool _v51868; | |
if (((((*this).sum_charge) == (other.sum_charge)))) { | |
_v51868 = ((((*this).avg_qty) == (other.avg_qty))); | |
} else { | |
_v51868 = false; | |
} | |
if (_v51868) { | |
bool _v51869; | |
if (((((*this).avg_price) == (other.avg_price)))) { | |
bool _v51870; | |
if (((((*this).avg_disc) == (other.avg_disc)))) { | |
_v51870 = ((((*this).count_order) == (other.count_order))); | |
} else { | |
_v51870 = false; | |
} | |
_v51869 = _v51870; | |
} else { | |
_v51869 = false; | |
} | |
_v51867 = _v51869; | |
} else { | |
_v51867 = false; | |
} | |
_v51862 = _v51867; | |
} else { | |
_v51862 = false; | |
} | |
return _v51862; | |
} | |
}; | |
struct _Hash_Type51789 { | |
typedef TPCH_Store::_Type51789 argument_type; | |
typedef std::size_t result_type; | |
result_type operator()(const argument_type& x) const noexcept { | |
int _hash_code51871 = 0; | |
int _hash_code51872 = 0; | |
_hash_code51872 = (std::hash<char >()((x.returnflag))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<char >()((x.linestatus))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.sum_qty))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.sum_base_price))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.sum_disc_price))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.sum_charge))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.avg_qty))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.avg_price))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<float >()((x.avg_disc))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
_hash_code51872 = (std::hash<int >()((x.count_order))); | |
_hash_code51871 = ((_hash_code51871 * 31) ^ (_hash_code51872)); | |
return _hash_code51871; | |
} | |
}; | |
protected: | |
std::vector< LINEITEM > _var5824; | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _var27713; | |
public: | |
inline TPCH_Store() { | |
_var5824 = (std::vector< LINEITEM > ()); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51873 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
_var27713 = std::move(_map51873); | |
} | |
explicit inline TPCH_Store(std::vector< LINEITEM > lineitem, std::vector< ORDERS > orders, std::vector< PART > part, std::vector< CUSTOMER > customer, std::vector< SUPPLIER > supplier, std::vector< PARTSUPP > partsupp, std::vector< NATION > nation, std::vector< REGION > region) { | |
_var5824 = lineitem; | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51879 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l51881 : lineitem) { | |
{ | |
int _var25778 = (_l51881.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator51885 = _map51879.find(_var25778); | |
if ((_map_iterator51885 == _map51879.end())) { | |
_map_iterator51885 = (_map51879.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v51880 = _map_iterator51885->second; | |
std::vector< LINEITEM > _var51882 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51884 : lineitem) { | |
if ((((_l51884.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51882.push_back(_l51884); | |
} | |
} | |
} | |
_v51880 = std::move(_var51882); | |
} | |
} | |
_var27713 = std::move(_map51879); | |
} | |
TPCH_Store(const TPCH_Store& other) = delete; | |
template <class F> | |
inline void issueQuery(const F& _callback) { | |
std::unordered_set< _Type51788 , _Hash_Type51788 > _distinct_elems51926 = (std::unordered_set< _Type51788 , _Hash_Type51788 > ()); | |
for (LINEITEM _l51928 : _var5824) { | |
if (((_l51928.shipdate) <= (EXAMPLE_DATE_ONE))) { | |
{ | |
{ | |
_Type51788 _tuple51887 = (_Type51788((_l51928.returnflag), (_l51928.linestatus))); | |
if ((!((_distinct_elems51926.find(_tuple51887) != _distinct_elems51926.end())))) { | |
std::vector< LINEITEM > _var51888 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51891 : _var5824) { | |
bool _v51929; | |
if ((((_l51891.linestatus) == (_tuple51887._1)))) { | |
_v51929 = (((_l51891.returnflag) == (_tuple51887._0))); | |
} else { | |
_v51929 = false; | |
} | |
if (_v51929) { | |
{ | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51888.push_back(_l51891); | |
} | |
} | |
} | |
} | |
std::vector< LINEITEM > _items51892 = std::move(_var51888); | |
float _sum51893 = 0.0f; | |
for (LINEITEM _l51895 : _items51892) { | |
{ | |
_sum51893 = (_sum51893 + (_l51895.quantity)); | |
} | |
} | |
float _sum51896 = 0.0f; | |
for (LINEITEM _l51898 : _items51892) { | |
{ | |
_sum51896 = (_sum51896 + (_l51898.extendedprice)); | |
} | |
} | |
float _sum51899 = 0.0f; | |
for (LINEITEM _l51901 : _items51892) { | |
{ | |
_sum51899 = (_sum51899 + (((_l51901.extendedprice)) * ((1.0f - (_l51901.discount))))); | |
} | |
} | |
float _sum51902 = 0.0f; | |
for (LINEITEM _l51904 : _items51892) { | |
{ | |
_sum51902 = (_sum51902 + (((((_l51904.extendedprice)) * ((1.0f - (_l51904.discount))))) * ((1.0f + (_l51904.tax))))); | |
} | |
} | |
float _sum51905 = 0.0f; | |
for (LINEITEM _l51907 : _items51892) { | |
{ | |
_sum51905 = (_sum51905 + (_l51907.quantity)); | |
} | |
} | |
int _sum51908 = 0; | |
for (LINEITEM _x51910 : _items51892) { | |
{ | |
_sum51908 = (_sum51908 + 1); | |
} | |
} | |
float _sum51911 = 0.0f; | |
for (LINEITEM _l51913 : _items51892) { | |
{ | |
_sum51911 = (_sum51911 + (_l51913.extendedprice)); | |
} | |
} | |
int _sum51914 = 0; | |
for (LINEITEM _x51916 : _items51892) { | |
{ | |
_sum51914 = (_sum51914 + 1); | |
} | |
} | |
float _sum51917 = 0.0f; | |
for (LINEITEM _l51919 : _items51892) { | |
{ | |
_sum51917 = (_sum51917 + (_l51919.discount)); | |
} | |
} | |
int _sum51920 = 0; | |
for (LINEITEM _x51922 : _items51892) { | |
{ | |
_sum51920 = (_sum51920 + 1); | |
} | |
} | |
int _sum51923 = 0; | |
for (LINEITEM _x51925 : _items51892) { | |
{ | |
_sum51923 = (_sum51923 + 1); | |
} | |
} | |
{ | |
_callback((_Type51789 ((_tuple51887._0), (_tuple51887._1), _sum51893, _sum51896, _sum51899, _sum51902, ((_sum51905) / (((float)(_sum51908)))), ((_sum51911) / (((float)(_sum51914)))), ((_sum51917) / (((float)(_sum51920)))), _sum51923))); | |
} | |
_distinct_elems51926.insert(_tuple51887); | |
} | |
} | |
} | |
} | |
} | |
} | |
inline void addLineitem (int orderkey, int partkey, int suppkey, int linenumber, float quantity, float extendedprice, float discount, float tax, char returnflag, char linestatus, uint64_t shipdate, uint64_t commitdate, uint64_t receiptdate, std::string shipinstruct, std::string shipmode, std::string comment) { | |
std::vector< int > _var51930 = (std::vector< int > ()); | |
std::unordered_map< int , int , std::hash<int > > _histogram51932 = (std::unordered_map< int , int , std::hash<int > > ()); | |
std::vector< LINEITEM > _var51936 = (std::vector< LINEITEM > ()); | |
// for (LIN | |
EITEM _var51937 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
// _var51936.push_back(_var51937); | |
// } | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var51936.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > _var5824 = std::move(_var51936); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51939 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l51941 : _var5824) { | |
{ | |
int _var25778 = (_l51941.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52051 = _map51939.find(_var25778); | |
if ((_map_iterator52051 == _map51939.end())) { | |
_map_iterator52051 = (_map51939.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v51940 = _map_iterator52051->second; | |
std::vector< LINEITEM > _var51942 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51944 : _var5824) { | |
if ((((_l51944.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51942.push_back(_l51944); | |
} | |
} | |
} | |
_v51940 = std::move(_var51942); | |
} | |
} | |
for (const auto & _var52052 : std::move(_map51939)) { | |
int _x51933 = (_var52052.first); | |
std::unordered_map< int , int , std::hash<int > >::iterator _map_iterator52053 = _histogram51932.find(_x51933); | |
if ((_map_iterator52053 == _histogram51932.end())) { | |
_map_iterator52053 = (_histogram51932.emplace(_x51933, 0).first); | |
} | |
int &_count51934 = _map_iterator52053->second; | |
_count51934 = (_count51934 + 1); | |
} | |
for (const auto & _var52054 : _var27713) { | |
int _var51931 = (_var52054.first); | |
std::unordered_map< int , int , std::hash<int > >::const_iterator _map_iterator52055 = (_histogram51932.find(_var51931)); | |
int _v52056; | |
if ((_map_iterator52055 == _histogram51932.end())) { | |
_v52056 = 0; | |
} else { | |
_v52056 = (_map_iterator52055->second); | |
} | |
if ((_v52056 > 0)) { | |
std::unordered_map< int , int , std::hash<int > >::iterator _map_iterator52057 = _histogram51932.find(_var51931); | |
if ((_map_iterator52057 == _histogram51932.end())) { | |
_map_iterator52057 = (_histogram51932.emplace(_var51931, 0).first); | |
} | |
int &_count51935 = _map_iterator52057->second; | |
_count51935 = (_count51935 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51930.push_back(_var51931); | |
} | |
} | |
std::vector< int > _var51775 = std::move(_var51930); | |
std::vector< int > _var51945 = (std::vector< int > ()); | |
std::vector< LINEITEM > _var51974 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var51975 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51974.push_back(_var51975); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var51974.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3833551976 = std::move(_var51974); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51977 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l51979 : __var3833551976) { | |
{ | |
int _var25778 = (_l51979.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52058 = _map51977.find(_var25778); | |
if ((_map_iterator52058 == _map51977.end())) { | |
_map_iterator52058 = (_map51977.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v51978 = _map_iterator52058->second; | |
std::vector< LINEITEM > _var51980 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51982 : __var3833551976) { | |
if ((((_l51982.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51980.push_back(_l51982); | |
} | |
} | |
} | |
_v51978 = std::move(_var51980); | |
} | |
} | |
for (const auto & _var52059 : std::move(_map51977)) { | |
int __var3155751947 = (_var52059.first); | |
bool _conditional_result51948 = false; | |
bool _found51949 = false; | |
{ | |
for (LINEITEM _l51952 : _var5824) { | |
{ | |
if ((((_l51952.orderkey) == __var3155751947))) { | |
_found51949 = true; | |
goto _label52060; | |
} | |
} | |
} | |
} | |
_label52060: | |
if (_found51949) { | |
std::vector< LINEITEM > _var51953 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51955 : _var5824) { | |
if ((((_l51955.orderkey) == __var3155751947))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51953.push_back(_l51955); | |
} | |
} | |
} | |
std::vector< LINEITEM > _var51956 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var51957 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51956.push_back(_var51957); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py visit_ADT 1185 | |
// /home/zgzhen/projects/cozy/cozy/common.py visit 281 | |
// | |
_var51956.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3833951958 = std::move(_var51956); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51959 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l51961 : __var3833951958) { | |
{ | |
int _var25778 = (_l51961.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52061 = _map51959.find(_var25778); | |
if ((_map_iterator52061 == _map51959.end())) { | |
_map_iterator52061 = (_map51959.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v51960 = _map_iterator52061->second; | |
std::vector< LINEITEM > _var51962 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51964 : __var3833951958) { | |
if ((((_l51964.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51962.push_back(_l51964); | |
} | |
} | |
} | |
_v51960 = std::move(_var51962); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52062 = (std::move(_map51959).find(__var3155751947)); | |
std::vector< LINEITEM > _v52063; | |
if ((_map_iterator52062 == std::move(_map51959).end())) { | |
_v52063 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52063 = (_map_iterator52062->second); | |
} | |
_conditional_result51948 = ((std::move(_var51953) == _v52063)); | |
} else { | |
std::vector< LINEITEM > _var51965 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var51966 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51965.push_back(_var51966); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py visit_ADT 1185 | |
// /home/zgzhen/projects/cozy/cozy/common.py visit 281 | |
// | |
_var51965.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3833951967 = std::move(_var51965); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map51968 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l51970 : __var3833951967) { | |
{ | |
int _var25778 = (_l51970.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52064 = _map51968.find(_var25778); | |
if ((_map_iterator52064 == _map51968.end())) { | |
_map_iterator52064 = (_map51968.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v51969 = _map_iterator52064->second; | |
std::vector< LINEITEM > _var51971 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l51973 : __var3833951967) { | |
if ((((_l51973.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51971.push_back(_l51973); | |
} | |
} | |
} | |
_v51969 = std::move(_var51971); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52065 = (std::move(_map51968).find(__var3155751947)); | |
std::vector< LINEITEM > _v52066; | |
if ((_map_iterator52065 == std::move(_map51968).end())) { | |
_v52066 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52066 = (_map_iterator52065->second); | |
} | |
_conditional_result51948 = (((std::vector< LINEITEM > ()) == _v52066)); | |
} | |
bool _v52067; | |
if ((!(_var27713.find(__var3155751947) != _var27713.end()))) { | |
_v52067 = true; | |
} else { | |
_v52067 = (!(_conditional_result51948)); | |
} | |
if (_v52067) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var51945.push_back(__var3155751947); | |
} | |
} | |
} | |
std::vector< int > _var51776 = std::move(_var51945); | |
std::vector< LINEITEM > _var51983 = (std::vector< LINEITEM > ()); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram51985 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _x51986 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52068 = _histogram51985.find(_x51986); | |
if ((_map_iterator52068 == _histogram51985.end())) { | |
_map_iterator52068 = (_histogram51985.emplace(_x51986, 0).first); | |
} | |
int &_count51987 = _map_iterator52068->second; | |
_count51987 = (_count51987 + 1); | |
} | |
for (LINEITEM _var51984 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52069 = (_histogram51985.find(_var51984)); | |
int _v52070; | |
if ((_map_iterator52069 == _histogram51985.end())) { | |
_v52070 = 0; | |
} else { | |
_v52070 = (_map_iterator52069->second); | |
} | |
if ((_v52070 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52071 = _histogram51985.find(_var51984); | |
if ((_map_iterator52071 == _histogram51985.end())) { | |
_map_iterator52071 = (_histogram51985.emplace(_var51984, 0).first); | |
} | |
int &_count51988 = _map_iterator52071->second; | |
_count51988 = (_count51988 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51983.push_back(_var51984); | |
} | |
} | |
{ | |
LINEITEM _var51984 = (LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment)); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52072 = (_histogram51985.find(_var51984)); | |
int _v52073; | |
if ((_map_iterator52072 == _histogram51985.end())) { | |
_v52073 = 0; | |
} else { | |
_v52073 = (_map_iterator52072->second); | |
} | |
if ((_v52073 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52074 = _histogram51985.find(_var51984); | |
if ((_map_iterator52074 == _histogram51985.end())) { | |
_map_iterator52074 = (_histogram51985.emplace(_var51984, 0).first); | |
} | |
int &_count51988 = _map_iterator52074->second; | |
_count51988 = (_count51988 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51983.push_back(_var51984); | |
} | |
} | |
std::vector< LINEITEM > _var51777 = std::move(_var51983); | |
for (LINEITEM _var6282 : _var51777) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var5824.push_back(_var6282); | |
} | |
for (int _var31557 : _var51775) { | |
_var27713.erase(_var31557); | |
} | |
for (int _var31557 : _var51776) { | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52075 = _var27713.find(_var31557); | |
if ((_map_iterator52075 == _var27713.end())) { | |
_map_iterator52075 = (_var27713.emplace(_var31557, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_var31558 = _map_iterator52075->second; | |
bool _found51989 = false; | |
{ | |
for (LINEITEM _l51992 : _var5824) { | |
{ | |
if ((((_l51992.orderkey) == _var31557))) { | |
_found51989 = true; | |
goto _label52076; | |
} | |
} | |
} | |
} | |
_label52076: | |
if (_found51989) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram51993 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
std::vector< LINEITEM > _var51997 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var51998 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var51997.push_back(_var51998); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var51997.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3518151999 = std::move(_var51997); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52000 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52002 : __var3518151999) { | |
{ | |
int _var25778 = (_l52002.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52077 = _map52000.find(_var25778); | |
if ((_map_iterator52077 == _map52000.end())) { | |
_map_iterator52077 = (_map52000.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52001 = _map_iterator52077->second; | |
std::vector< LINEITEM > _var52003 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52005 : __var3518151999) { | |
if ((((_l52005.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52003.push_back(_l52005); | |
} | |
} | |
} | |
_v52001 = std::move(_var52003); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52078 = (std::move(_map52000).find(_var31557)); | |
std::vector< LINEITEM > _v52079; | |
if ((_map_iterator52078 == std::move(_map52000).end())) { | |
_v52079 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52079 = (_map_iterator52078->second); | |
} | |
for (LINEITEM _x51994 : _v52079) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52080 = _histogram51993.find(_x51994); | |
if ((_map_iterator52080 == _histogram51993.end())) { | |
_map_iterator52080 = (_histogram51993.emplace(_x51994, 0).first); | |
} | |
int &_count51995 = _map_iterator52080->second; | |
_count51995 = (_count51995 + 1); | |
} | |
for (LINEITEM _l52006 : _var5824) { | |
if ((((_l52006.orderkey) == _var31557))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52081 = (_histogram51993.find(_l52006)); | |
int _v52082; | |
if ((_map_iterator52081 == _histogram51993.end())) { | |
_v52082 = 0; | |
} else { | |
_v52082 = (_map_iterator52081->second); | |
} | |
if ((_v52082 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52083 = _histogram51993.find(_l52006); | |
if ((_map_iterator52083 == _histogram51993.end())) { | |
_map_iterator52083 = (_histogram51993.emplace(_l52006, 0).first); | |
} | |
int &_count51996 = _map_iterator52083->second; | |
_count51996 = (_count51996 - 1); | |
} else { | |
auto _it52084(::std::find(_var31558.begin(), _var31558.end(), _l52006)); | |
if (_it52084 != _var31558.end()) { _var31558.erase(_it52084); } | |
} | |
} | |
} | |
} | |
} else { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52007 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
std::vector< LINEITEM > _var52011 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var52012 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52011.push_back(_var52012); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var52011.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3518152013 = std::move(_var52011); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52014 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52016 : __var3518152013) { | |
{ | |
int _var25778 = (_l52016.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52085 = _map52014.find(_var25778); | |
if ((_map_iterator52085 == _map52014.end())) { | |
_map_iterator52085 = (_map52014.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52015 = _map_iterator52085->second; | |
std::vector< LINEITEM > _var52017 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52019 : __var3518152013) { | |
if ((((_l52019.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52017.push_back(_l52019); | |
} | |
} | |
} | |
_v52015 = std::move(_var52017); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52086 = (std::move(_map52014).find(_var31557)); | |
std::vector< LINEITEM > _v52087; | |
if ((_map_iterator52086 == std::move(_map52014).end())) { | |
_v52087 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52087 = (_map_iterator52086->second); | |
} | |
for (LINEITEM _x52008 : _v52087) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52088 = _histogram52007.find(_x52008); | |
if ((_map_iterator52088 == _histogram52007.end())) { | |
_map_iterator52088 = (_histogram52007.emplace(_x52008, 0).first); | |
} | |
int &_count52009 = _map_iterator52088->second; | |
_count52009 = (_count52009 + 1); | |
} | |
} | |
bool _found52020 = false; | |
{ | |
for (LINEITEM _l52023 : _var5824) { | |
{ | |
if ((((_l52023.orderkey) == _var31557))) { | |
_found52020 = true; | |
goto _label52089; | |
} | |
} | |
} | |
} | |
_label52089: | |
if (_found52020) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52024 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _l52028 : _var5824) { | |
if ((((_l52028.orderkey) == _var31557))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52090 = _histogram52024.find(_l52028); | |
if ((_map_iterator52090 == _histogram52024.end())) { | |
_map_iterator52090 = (_histogram52024.emplace(_l52028, 0).first); | |
} | |
int &_count52026 = _map_iterator52090->second; | |
_count52026 = (_count52026 + 1); | |
} | |
} | |
} | |
std::vector< LINEITEM > _var52029 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var52030 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52029.push_back(_var52030); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var52029.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3424452031 = std::move(_var52029); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52032 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52034 : __var3424452031) { | |
{ | |
int _var25778 = (_l52034.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52091 = _map52032.find(_var25778); | |
if ((_map_iterator52091 == _map52032.end())) { | |
_map_iterator52091 = (_map52032.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52033 = _map_iterator52091->second; | |
std::vector< LINEITEM > _var52035 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52037 : __var3424452031) { | |
if ((((_l52037.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52035.push_back(_l52037); | |
} | |
} | |
} | |
_v52033 = std::move(_var52035); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52092 = (std::move(_map52032).find(_var31557)); | |
std::vector< LINEITEM > _v52093; | |
if ((_map_iterator52092 == std::move(_map52032).end())) { | |
_v52093 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52093 = (_map_iterator52092->second); | |
} | |
for (LINEITEM _var32946 : _v52093) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52094 = (_histogram52024.find(_var32946)); | |
int _v52095; | |
if ((_map_iterator52094 == _histogram52024.end())) { | |
_v52095 = 0; | |
} else { | |
_v52095 = (_map_iterator52094->second); | |
} | |
if ((_v52095 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52096 = _histogram52024.find(_var32946); | |
if ((_map_iterator52096 == _histogram52024.end())) { | |
_map_iterator52096 = (_histogram52024.emplace(_var32946, 0).first); | |
} | |
int &_count52027 = _map_iterator52096->second; | |
_count52027 = (_count52027 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var31558.push_back(_var32946); | |
} | |
} | |
} else { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52038 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
std::vector< LINEITEM > _var52042 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _var52043 : _var5824) { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52042.push_back(_var52043); | |
} | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var52042.push_back((LINEITEM (orderkey, partkey, suppkey, linenumber, quantity, extendedprice, discount, tax, returnflag, linestatus, shipdate, commitdate, receiptdate, shipinstruct, shipmode, comment))); | |
} | |
std::vector< LINEITEM > __var3424452044 = std::move(_var52042); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52045 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52047 : __var3424452044) { | |
{ | |
int _var25778 = (_l52047.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52097 = _map52045.find(_var25778); | |
if ((_map_iterator52097 == _map52045.end())) { | |
_map_iterator52097 = (_map52045.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52046 = _map_iterator52097->second; | |
std::vector< LINEITEM > _var52048 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52050 : __var3424452044) { | |
if ((((_l52050.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52048.push_back(_l52050); | |
} | |
} | |
} | |
_v52046 = std::move(_var52048); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52098 = (std::move(_map52045).find(_var31557)); | |
std::vector< LINEITEM > _v52099; | |
if ((_map_iterator52098 == std::move(_map52045).end())) { | |
_v52099 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52099 = (_map_iterator52098->second); | |
} | |
for (LINEITEM _var32946 : _v52099) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52100 = (_histogram52038.find(_var32946)); | |
int _v52101; | |
if ((_map_iterator52100 == _histogram52038.end())) { | |
_v52101 = 0; | |
} else { | |
_v52101 = (_map_iterator52100->second); | |
} | |
if ((_v52101 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52102 = _histogram52038.find(_var32946); | |
if ((_map_iterator52102 == _histogram52038.end())) { | |
_map_iterator52102 = (_histogram52038.emplace(_var32946, 0).first); | |
} | |
int &_count52041 = _map_iterator52102->second; | |
_count52041 = (_count52041 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py join 157 | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py shallow_copy 172 | |
// | |
_var31558.push_back(_var32946); | |
} | |
} | |
} | |
} | |
} | |
inline void deleteOldSales (int orderkey) { | |
std::vector< int > _var52103 = (std::vector< int > ()); | |
std::unordered_map< int , int , std::hash<int > > _histogram52105 = (std::unordered_map< int , int , std::hash<int > > ()); | |
std::vector< LINEITEM > _var52109 = (std::vector< LINEITEM > ()); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52111 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _l52115 : _var5824) { | |
if ((((_l52115.orderkey) == orderkey))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52176 = _histogram52111.find(_l52115); | |
if ((_map_iterator52176 == _histogram52111.end())) { | |
_map_iterator52176 = (_histogram52111.emplace(_l52115, 0).first); | |
} | |
int &_count52113 = _map_iterator52176->second; | |
_count52113 = (_count52113 + 1); | |
} | |
} | |
} | |
for (LINEITEM _var52110 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52177 = (_histogram52111.find(_var52110)); | |
int _v52178; | |
if ((_map_iterator52177 == _histogram52111.end())) { | |
_v52178 = 0; | |
} else { | |
_v52178 = (_map_iterator52177->second); | |
} | |
if ((_v52178 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52179 = _histogram52111.find(_var52110); | |
if ((_map_iterator52179 == _histogram52111.end())) { | |
_map_iterator52179 = (_histogram52111.emplace(_var52110, 0).first); | |
} | |
int &_count52114 = _map_iterator52179->second; | |
_count52114 = (_count52114 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52109.push_back(_var52110); | |
} | |
} | |
std::vector< LINEITEM > __var4188752116 = std::move(_var52109); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52117 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52119 : __var4188752116) { | |
{ | |
int _var25778 = (_l52119.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52180 = _map52117.find(_var25778); | |
if ((_map_iterator52180 == _map52117.end())) { | |
_map_iterator52180 = (_map52117.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52118 = _map_iterator52180->second; | |
std::vector< LINEITEM > _var52120 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52122 : __var4188752116) { | |
if ((((_l52122.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52120.push_back(_l52122); | |
} | |
} | |
} | |
_v52118 = std::move(_var52120); | |
} | |
} | |
for (const auto & _var52181 : std::move(_map52117)) { | |
int _x52106 = (_var52181.first); | |
std::unordered_map< int , int , std::hash<int > >::iterator _map_iterator52182 = _histogram52105.find(_x52106); | |
if ((_map_iterator52182 == _histogram52105.end())) { | |
_map_iterator52182 = (_histogram52105.emplace(_x52106, 0).first); | |
} | |
int &_count52107 = _map_iterator52182->second; | |
_count52107 = (_count52107 + 1); | |
} | |
for (const auto & _var52183 : _var27713) { | |
int _var52104 = (_var52183.first); | |
std::unordered_map< int , int , std::hash<int > >::const_iterator _map_iterator52184 = (_histogram52105.find(_var52104)); | |
int _v52185; | |
if ((_map_iterator52184 == _histogram52105.end())) { | |
_v52185 = 0; | |
} else { | |
_v52185 = (_map_iterator52184->second); | |
} | |
if ((_v52185 > 0)) { | |
std::unordered_map< int , int , std::hash<int > >::iterator _map_iterator52186 = _histogram52105.find(_var52104); | |
if ((_map_iterator52186 == _histogram52105.end())) { | |
_map_iterator52186 = (_histogram52105.emplace(_var52104, 0).first); | |
} | |
int &_count52108 = _map_iterator52186->second; | |
_count52108 = (_count52108 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52103.push_back(_var52104); | |
} | |
} | |
std::vector< int > _var51778 = std::move(_var52103); | |
std::vector< int > _var52123 = (std::vector< int > ()); | |
std::vector< LINEITEM > _var52162 = (std::vector< LINEITEM > ()); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52164 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _l52168 : _var5824) { | |
if ((((_l52168.orderkey) == orderkey))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52187 = _histogram52164.find(_l52168); | |
if ((_map_iterator52187 == _histogram52164.end())) { | |
_map_iterator52187 = (_histogram52164.emplace(_l52168, 0).first); | |
} | |
int &_count52166 = _map_iterator52187->second; | |
_count52166 = (_count52166 + 1); | |
} | |
} | |
} | |
for (LINEITEM _var52163 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52188 = (_histogram52164.find(_var52163)); | |
int _v52189; | |
if ((_map_iterator52188 == _histogram52164.end())) { | |
_v52189 = 0; | |
} else { | |
_v52189 = (_map_iterator52188->second); | |
} | |
if ((_v52189 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52190 = _histogram52164.find(_var52163); | |
if ((_map_iterator52190 == _histogram52164.end())) { | |
_map_iterator52190 = (_histogram52164.emplace(_var52163, 0).first); | |
} | |
int &_count52167 = _map_iterator52190->second; | |
_count52167 = (_count52167 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52162.push_back(_var52163); | |
} | |
} | |
std::vector< LINEITEM > __var4207052169 = std::move(_var52162); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52170 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52172 : __var4207052169) { | |
{ | |
int _var25778 = (_l52172.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52191 = _map52170.find(_var25778); | |
if ((_map_iterator52191 == _map52170.end())) { | |
_map_iterator52191 = (_map52170.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52171 = _map_iterator52191->second; | |
std::vector< LINEITEM > _var52173 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52175 : __var4207052169) { | |
if ((((_l52175.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52173.push_back(_l52175); | |
} | |
} | |
} | |
_v52171 = std::move(_var52173); | |
} | |
} | |
for (const auto & _var52192 : std::move(_map52170)) { | |
int __var4083652125 = (_var52192.first); | |
bool _conditional_result52126 = false; | |
bool _found52127 = false; | |
{ | |
for (LINEITEM _l52130 : _var5824) { | |
{ | |
if ((((_l52130.orderkey) == __var4083652125))) { | |
_found52127 = true; | |
goto _label52193; | |
} | |
} | |
} | |
} | |
_label52193: | |
if (_found52127) { | |
std::vector< LINEITEM > _var52131 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52133 : _var5824) { | |
if ((((_l52133.orderkey) == __var4083652125))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52131.push_back(_l52133); | |
} | |
} | |
} | |
std::vector< LINEITEM > _var52134 = (std::vector< LINEITEM > ()); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52136 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _l52140 : _var5824) { | |
if ((((_l52140.orderkey) == orderkey))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52194 = _histogram52136.find(_l52140); | |
if ((_map_iterator52194 == _histogram52136.end())) { | |
_map_iterator52194 = (_histogram52136.emplace(_l52140, 0).first); | |
} | |
int &_count52138 = _map_iterator52194->second; | |
_count52138 = (_count52138 + 1); | |
} | |
} | |
} | |
for (LINEITEM _var52135 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52195 = (_histogram52136.find(_var52135)); | |
int _v52196; | |
if ((_map_iterator52195 == _histogram52136.end())) { | |
_v52196 = 0; | |
} else { | |
_v52196 = (_map_iterator52195->second); | |
} | |
if ((_v52196 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52197 = _histogram52136.find(_var52135); | |
if ((_map_iterator52197 == _histogram52136.end())) { | |
_map_iterator52197 = (_histogram52136.emplace(_var52135, 0).first); | |
} | |
int &_count52139 = _map_iterator52197->second; | |
_count52139 = (_count52139 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52134.push_back(_var52135); | |
} | |
} | |
std::vector< LINEITEM > __var4207352141 = std::move(_var52134); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52142 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52144 : __var4207352141) { | |
{ | |
int _var25778 = (_l52144.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52198 = _map52142.find(_var25778); | |
if ((_map_iterator52198 == _map52142.end())) { | |
_map_iterator52198 = (_map52142.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52143 = _map_iterator52198->second; | |
std::vector< LINEITEM > _var52145 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52147 : __var4207352141) { | |
if ((((_l52147.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52145.push_back(_l52147); | |
} | |
} | |
} | |
_v52143 = std::move(_var52145); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52199 = (std::move(_map52142).find(__var4083652125)); | |
std::vector< LINEITEM > _v52200; | |
if ((_map_iterator52199 == std::move(_map52142).end())) { | |
_v52200 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52200 = (_map_iterator52199->second); | |
} | |
_conditional_result52126 = ((std::move(_var52131) == _v52200)); | |
} else { | |
std::vector< LINEITEM > _var52148 = (std::vector< LINEITEM > ()); | |
std::unordered_map< LINEITEM , int , _HashLINEITEM > _histogram52150 = (std::unordered_map< LINEITEM , int , _HashLINEITEM > ()); | |
for (LINEITEM _l52154 : _var5824) { | |
if ((((_l52154.orderkey) == orderkey))) { | |
{ | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52201 = _histogram52150.find(_l52154); | |
if ((_map_iterator52201 == _histogram52150.end())) { | |
_map_iterator52201 = (_histogram52150.emplace(_l52154, 0).first); | |
} | |
int &_count52152 = _map_iterator52201->second; | |
_count52152 = (_count52152 + 1); | |
} | |
} | |
} | |
for (LINEITEM _var52149 : _var5824) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::const_iterator _map_iterator52202 = (_histogram52150.find(_var52149)); | |
int _v52203; | |
if ((_map_iterator52202 == _histogram52150.end())) { | |
_v52203 = 0; | |
} else { | |
_v52203 = (_map_iterator52202->second); | |
} | |
if ((_v52203 > 0)) { | |
std::unordered_map< LINEITEM , int , _HashLINEITEM >::iterator _map_iterator52204 = _histogram52150.find(_var52149); | |
if ((_map_iterator52204 == _histogram52150.end())) { | |
_map_iterator52204 = (_histogram52150.emplace(_var52149, 0).first); | |
} | |
int &_count52153 = _map_iterator52204->second; | |
_count52153 = (_count52153 - 1); | |
} else { | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py visit_iterable 300 | |
// | |
_var52148.push_back(_var52149); | |
} | |
} | |
std::vector< LINEITEM > __var4207352155 = std::move(_var52148); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > _map52156 = (std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > > ()); | |
for (LINEITEM _l52158 : __var4207352155) { | |
{ | |
int _var25778 = (_l52158.orderkey); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52205 = _map52156.find(_var25778); | |
if ((_map_iterator52205 == _map52156.end())) { | |
_map_iterator52205 = (_map52156.emplace(_var25778, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_v52157 = _map_iterator52205->second; | |
std::vector< LINEITEM > _var52159 = (std::vector< LINEITEM > ()); | |
for (LINEITEM _l52161 : __var4207352155) { | |
if ((((_l52161.orderkey) == _var25778))) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52159.push_back(_l52161); | |
} | |
} | |
} | |
_v52157 = std::move(_var52159); | |
} | |
} | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52206 = (std::move(_map52156).find(__var4083652125)); | |
std::vector< LINEITEM > _v52207; | |
if ((_map_iterator52206 == std::move(_map52156).end())) { | |
_v52207 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52207 = (_map_iterator52206->second); | |
} | |
_conditional_result52126 = (((std::vector< LINEITEM > ()) == _v52207)); | |
} | |
bool _v52208; | |
if ((!(_var27713.find(__var4083652125) != _var27713.end()))) { | |
_v52208 = true; | |
} else { | |
_v52208 = (!(_conditional_result52126)); | |
} | |
if (_v52208) { | |
{ | |
// /home/zgzhen/projects/cozy/cozy/syntax_tools.py fresh_var 36 | |
// /home/zgzhen/projects/cozy/cozy/codegen/optimization.py stream 144 | |
// | |
_var52123.push_back(__var4083652125); | |
} | |
} | |
} | |
std::vector< int > _var51779 = std::move(_var52123); | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::const_iterator _map_iterator52209 = (_var27713.find(orderkey)); | |
std::vector< LINEITEM > _v52210; | |
if ((_map_iterator52209 == _var27713.end())) { | |
_v52210 = (std::vector< LINEITEM > ()); | |
} else { | |
_v52210 = (_map_iterator52209->second); | |
} | |
for (LINEITEM _var7719 : _v52210) { | |
auto _it52211(::std::find(_var5824.begin(), _var5824.end(), _var7719)); | |
if (_it52211 != _var5824.end()) { _var5824.erase(_it52211); } | |
} | |
for (int _var40836 : _var51778) { | |
_var27713.erase(_var40836); | |
} | |
for (int _var40836 : _var51779) { | |
std::unordered_map< int , std::vector< LINEITEM > , std::hash<int > >::iterator _map_iterator52212 = _var27713.find(_var40836); | |
if ((_map_iterator52212 == _var27713.end())) { | |
_map_iterator52212 = (_var27713.emplace(_var40836, (std::vector< LINEITEM > ())).first); | |
} | |
std::vector< LINEITEM > &_var40837 = _map_iterator52212->second; | |
} | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment