This file contains 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
using vT = xsimd::simd_type<T>; | |
using iT = xsimd::as_integer_t<T>; | |
static const size_t vN = vT::size; | |
const long n = elts.size(); | |
if(n >= std::numeric_limits<iT>::max()) { | |
return _argminmax_seq<Op>(elts, minmax_elts); | |
} | |
auto viter = types::vectorizer_nobroadcast::vbegin(elts), | |
vend = types::vectorizer_nobroadcast::vend(elts); |
This file contains 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
import pythran | |
import inspect | |
import hashlib | |
import itertools | |
import imp | |
import re | |
def typename(obj): | |
# FIXME: only works for some types | |
return type(obj).__name__ |
This file contains 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
#!/bin/bash | |
sed -i -e 's,CC=,CC=/opt/anaconda1anaconda2anaconda3/bin/gcc-4.9,' -e 's,CXX=,CXX=/opt/anaconda1anaconda2anaconda3/bin/g++-4.9,' -e 's,library_dirs=,library_dirs=/opt/anaconda1anaconda2anaconda3/lib ,' -e 's,include_dirs=,include_dirs=/opt/anaconda1anaconda2anaconda3/include ,' -e 's|ldflags=|ldflags=-Wl,-rpath /opt/anaconda1anaconda2anaconda3/lib64 |' pythran/pythran-linux2.cfg | |
sed -i -e 's,CC=,CC=/opt/anaconda1anaconda2anaconda3/bin/gcc-4.9,' -e 's,CXX=,CXX=/opt/anaconda1anaconda2anaconda3/bin/g++-4.9,' -e 's,library_dirs=,library_dirs=/opt/anaconda1anaconda2anaconda3/lib ,' -e 's,include_dirs=,include_dirs=/opt/anaconda1anaconda2anaconda3/include ,' -e 's|ldflags=|ldflags=-Wl,-rpath /opt/anaconda1anaconda2anaconda3/lib64 |' pythran/pythran-linux.cfg | |
$PYTHON setup.py install | |
This file contains 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
#include <string> | |
#include <cassert> | |
#include <array> | |
#include <numeric> | |
template<std::size_t N, char Seed = 42> | |
class constexpr_str { | |
std::array<char, N> data_; | |
template<std::size_t... Is> |
This file contains 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
#include <cstdint> | |
#include <type_traits> | |
template<class T> | |
constexpr std::intptr_t index_of() { | |
return 1; | |
} | |
template<class T, class T0, class... Ts> | |
constexpr std::intptr_t index_of() { | |
return std::is_same<T, T0>::value ? 0 : (1 + index_of<T, Ts...>()); |
This file contains 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
if(GlobalVariable* GA = M.getGlobalVariable("llvm.global.annotations")) { | |
// the first operand holds the metadata | |
for (Value *AOp : GA->operands()) { | |
// all metadata are stored in an array of struct of metadata | |
if (ConstantArray *CA = dyn_cast<ConstantArray>(AOp)) { | |
// so iterate over the operands | |
for (Value *CAOp : CA->operands()) { | |
// get the struct, which holds a pointer to the annotated function | |
// as first field, and the annotation as second field | |
if (ConstantStruct *CS = dyn_cast<ConstantStruct>(CAOp)) { |
This file contains 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
import matplotlib.pyplot as plt | |
import timeit | |
import hashlib | |
import gc | |
import numpy as np | |
import numexpr as ne | |
from a import a as pythran | |
from numba import vectorize, jit | |
from pythran import compile_pythrancode |
This file contains 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
// compile with clang++-3.7 `llvm-config-3.7 --cxxflags --ldflags --libs` -rdynamic` interp.cpp -o interp | |
#include <iostream> | |
#include <string> | |
#include "llvm/Bitcode/ReaderWriter.h" | |
#include "llvm/Support/MemoryBuffer.h" | |
#include <llvm/ExecutionEngine/GenericValue.h> | |
#include <llvm/ExecutionEngine/Interpreter.h> | |
#include <llvm/ExecutionEngine/MCJIT.h> |
This file contains 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
import ast | |
import sys | |
import shutil | |
import unparse | |
import unittest | |
import doctest | |
import StringIO | |
import os | |
from copy import deepcopy |
This file contains 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
diff -cr Python-2.7.6/Include/opcode.h Python-2.7.6-patched/Include/opcode.h | |
*** Python-2.7.6/Include/opcode.h 2013-11-10 08:36:39.000000000 +0100 | |
--- Python-2.7.6-patched/Include/opcode.h 2014-05-16 16:14:42.885966107 +0200 | |
*************** | |
*** 149,154 **** | |
--- 149,155 ---- | |
#define SET_ADD 146 | |
#define MAP_ADD 147 | |
+ #define LOAD_FAST_ZERO_LOAD_CONST 148 |
NewerOlder