def i2s(self, v):
t = self.type
if t == "double":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
elif t == "float":
return f"i2s({v})"
return v
def s2i(self, v):
t = self.type
if t == "double":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
elif t == "float":
return f"s2i({v})"
return v
else:
return self.i2s(f"_mm256_blend_epi32({self.s2i(v2)}, {self.s2i(v1)}, 0xF0)")
elif size == 4:
- raise Exception("WTF")
+ raise Exception("Incorrect Size")
def generate_cross(self, v):
size = self.vector_size()
if size == 8:
return self.d2i(f"_mm256_permute4x64_pd({self.i2d(v)}, 0x4E)")
elif size == 4:
- raise Exception("WTF")
+ raise Exception("Incorrect Size")
def generate_reverse(self, v):
size = self.vector_size()
if t == "double":
return v
elif t == "float":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
return f"i2d({v})"
def i2s(self, v):
t = self.type
if t == "double":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
elif t == "float":
return f"i2s({v})"
return v
if t == "double":
return v
elif t == "float":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
return f"d2i({v})"
def s2i(self, v):
t = self.type
if t == "double":
- raise Exception("WTF")
+ raise Exception("Incorrect Type")
elif t == "float":
return f"s2i({v})"
return v