Skip to content

FI-Mihej/Python-like-C-and-Cpp-libraries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

List of python-like C/C++ libraries

Table of Contents

General

Library Description Standard Platforms hpp License Quality Docs Stars
Proton Proton is a library to provide Python-like interfaces for C++11, which try to make porting from Python to C++11 easier, and make programming in C++11 more convenient :) C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

Large Integer Arithmetic

Library Description Standard Platforms hpp License Quality Docs Stars
NTL A high-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields. C++ Standard Platforms Platforms Platforms hpp License Quality Docs
GNU MPFR MPFR's computation is both efficient and has a well-defined semantics: the functions are completely specified on all the possible operands and the results do not depend on the platform. This is done by copying the ideas from the ANSI/IEEE-754 standard for fixed-precision floating-point arithmetic (correct rounding and exceptions, in particular). C Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
MPIR A highly optimised library for bignum arithmetic forked from the GMP bignum library. It is written in assembly language and C. C Standard Platforms Platforms Platforms hpp License Quality Docs
TomsFastMath A fast public domain, open source, large integer arithmetic library written in portable ISO C. C Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars
bigint-library In this version, integer is restricted to be non-negative. C Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

Itertools

Library Description Standard Platforms hpp License Quality Docs Stars
CPPItertools Implementation of python itertools and builtin iteration functions for C++17 C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

Range

Library Description Standard Platforms hpp License Quality Docs Stars
boost::irange for (int i : boost::irange(5, 10)) { is the same is a for i in range(5, 10):; for (int i : boost::irange(1, 10, 2)) { is the same is a for i in range(1, 10, 2):. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
C++ Range Python-like range iterators for C++ C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars
range-v3 Range library for C++14/17/20, basis for C++20's std::ranges C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

Slice

Library Description Standard Platforms hpp License Quality Docs Stars
boost::adaptors::slice boost::adaptors::slice(RandomAccessRange, 1, 4) is the same is a python_sequence[1: 4]. Where RandomAccessRange is a string, vector, etc. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::sliced RandomAccessRange | boost::adaptors::sliced(1, 4) is the same is a python_sequence[1: 4]. Where RandomAccessRange is a string, vector, etc. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
array_view auto sub_av = av.slice(/*position*/ 2, /*length*/ 2); C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars
boost::adaptors::copy auto newValue = boost::adaptors::slice(RandomAccessRange, 1, 4) is the same is a new_value = copy.copy(python_sequence[1: 4]). Where RandomAccessRange is a string, vector, etc. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::copied auto newValue = RandomAccessRange | boost::adaptors::copied(1, 4) is the same is a new_value = copy.copy(python_sequence[1: 4]). Where RandomAccessRange is a string, vector, etc. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs

Iteration

Library Description Standard Platforms hpp License Quality Docs Stars
boost::adaptors::index The index within each returned boost::range::index_value is equal to start_index + the offset of the element from the beginning of the range. In the versions of the functions that omit start_index the starting index is taken to be 0. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::indexed The index within each returned boost::range::index_value is equal to start_index + the offset of the element from the beginning of the range. In the versions of the functions that omit start_index the starting index is taken to be 0. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
C++ Python-like-Iterators Using modern C++ and templates, provides a function enumerate that easily returns key-value pairs as seen in the Python programming language. C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars
nrr_enumerate Python-like 'enumerate' for C++ C++ Standard Platforms PlatformsPlatforms hpp License Quality Docs GitHub stars

Dict Iteration

Library Description Standard Platforms hpp License Quality Docs Stars
boost::adaptors::keys for (const auto & key : boost::adaptors::keys(map)) { is the same is a for key in python_dict.keys():. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::map_keys for (const auto & key : map | boost::adaptors::map_keys) { is the same is a for key in python_dict.keys():. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::values for (const auto & value : boost::adaptors::values(map)) { is the same is a for key in python_dict.values():. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
boost::adaptors::map_values for (const auto & value : map | boost::adaptors::map_values) { is the same is a for key in python_dict.values():. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs

Size

Library Description Standard Platforms hpp License Quality Docs Stars
boost::size boost::size(SinglePassRange) is the same is a len(python_sequence). Where SinglePassRange is a string, vector, etc. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs

Strings

Library Description Standard Platforms hpp License Quality Docs Stars
Python Strings for C++ Python-like string class for use in C++ C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

OS

Library Description Standard Platforms hpp License Quality Docs Stars
boost::filesystem The Boost.Filesystem library provides facilities to manipulate files and directories, and the paths that identify them. C++ Standard C++ Standard Platforms Platforms Platforms hpp License Quality Docs
KFS A Python-like filesystem API for C++ C++ Standard Platforms Platforms Platforms hpp License Quality Docs GitHub stars

About

List of python-like C/C++ (C and Cpp) libraries

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors