2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-01-19 16:52:13 +00:00

4063 Commits

Author SHA1 Message Date
Peter Dimov
8934b49ebe Add CMakeLists.txt. Closes #142. 2023-11-22 02:19:01 +02:00
Baoshuo Ren
3a4fe24ee1 chore: bump macos runner version (#177)
GitHub Action is sunsetting the macOS 10.15 Actions runner. It will stop working intermittently until being completely removed by 2022-8-30: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22
2022-08-02 21:32:49 +02:00
Neel-Shah-29
c5850f6d09 refactor(tensor): Improve functions for enabling compiler optimizations in algorithms.cpp (#155)
Compiler cannot perform small-object and other optimizations in algorithms.cpp . This is solved by providing the trailing return type and passing the lambda through one of its arguments.

Fixes #150

Co-authored-by: Neel Shah <neelshah29042002.com>
2022-02-06 19:20:35 +01:00
amitsingh19975
f5bf276fc0 refactor(test): Improve unit test source files (#122)
Unit tests have been revamped in order to improve maintainability and readability.
Many of them have been split into smaller tests.
Missing tests for various tensor types and extents have been added.
This will simply the addition of new tests for various tensor types
and instances.
2022-02-03 18:25:09 +01:00
Shikhar Vashistha
dae5364e44 ci: add CI for asciidoc documentation compilation (#143) 2021-11-06 12:35:31 +01:00
Cem Bassoy
d07ab80852 docs: update README.md 2021-09-12 12:23:09 +02:00
Cem Bassoy
09db8baf24 fix: update windows.yml for Github Actions
Resolves #134
2021-09-09 12:18:56 +02:00
rainmaker6
e09bdeb8a0 refactor(docs): convert HTML documentation using AsciiDoc
This is GSoC 2021 project of Shikhar Vashistha who copied
existing uBlas documentation and used AsciiDoc for formatting.
2021-09-09 11:42:16 +02:00
Cem Bassoy
231ba5f730 refactor(core): simplify and eliminate auxiliary tensor types (#115)
Auxiliary functions for extents and strides were using different
functions. Additionally, many tags were used to distinguish between
different tensor types. This patch simplifies interfaces of different
core functions and unifies functions that can process different types of
extent and stride types.
2021-09-09 11:34:14 +02:00
Cem Bassoy
32795e124b Update libraries.json 2021-01-23 20:08:09 +01:00
Edward Diener
a880b91413 [skip ci] Add "cxxstd" json field (#110)
* [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's  compilation level, without having to search the library's documentation to find this out.

* Updated the minimum C++ standard requirement to C++11 based on the Ublas Wiki section mentioning C++11 as a prerequisite.
2021-01-23 20:05:56 +01:00
Cem Bassoy
f0e0578b29 adjusting qt files and examples. (#109) 2021-01-12 18:22:16 +01:00
Cem Bassoy
a81712c319 fixing github action ymls (#107) 2020-12-10 19:01:03 +01:00
amitsingh19975
799ef707a5 Introducing a new and versatile way to create the tensor interface. (#90)
* improving the tensor design using tensor engine to support any configuration

* fixing and refactoring extents and strides

* making extents and strides class declarations contestants

* syncing with develop branch

* fixing examples

* fixing type aliasing bug

* fixing clang-tidy errors

* adding move assignment operator

* fixing clang-tidy errors

* fixing clang-tidy errors

* Fix all clang-tidy warnings & Improve Review action (#92)

* Fix all clang-tidy warnings

* Update clangtidy_check.yml

* Do not run review for PR from forks

In order to run review from forks we need to create a Github bot that has full access to all forks and can perform review even from forks.

* Update clangtidy_review.yml

* Update clangtidy_review.yml

* improving the tensor design using tensor engine to support any configuration

* fixing and refactoring extents and strides

* making extents and strides class declarations contestants

* fixing examples

* fixing type aliasing bug

* fixing clang-tidy errors

* adding move assignment operator

* fixing clang-tidy errors

* fixing clang-tidy errors

* Fix all clang-tidy warnings & Improve Review action (#92)

* Fix all clang-tidy warnings

* Update clangtidy_check.yml

* Do not run review for PR from forks

In order to run review from forks we need to create a Github bot that has full access to all forks and can perform review even from forks.

* Update clangtidy_review.yml

* Update clangtidy_review.yml

* changing tensor engine APIs

* adding std::enable_if to tensor_core to remove redundant parameter for static_tensor

* fixing template name

* removing first_order and last_order form namespace ublas and moving to ublas::layout

* removing always_false

* improving strides construction for dynamic and fixed_rank

* refactoring code

* refactoring code and adding static checks

* Moving tensor_engine to it's own header file and removing static_product

* adding checking and fixing expression

* refactoring code

* refactoring static_extents_traits.hpp

* fixing static_assert in strides.hpp and adding inline and constexpr to the functions

* adding fixed rank example and making trans second argument template type

* removing rebind_storage and adding rebind_storage_size for static products

* refactoring directory and moving static_extents_traits.hpp into extents_functions.hpp with function implementation

* fixing github action

* fixing msvc compiler bug

* refactoring make_static_strides code

* fixing: removing push_front and push_back in static_strides.hpp

* fix for msvc 14.27, it is unable to treat basic_static_extents::at constexpr

* changing name from valid to is_valid for naming consistency

* moving extents_result_type_* functions inside the respective prod functions

* fixing broken license

* removing the unnecessary headers

* improving error and fixing error messages

Co-authored-by: Ashar <coder3101@users.noreply.github.com>
2020-12-10 14:28:54 +01:00
Ashar
92177ce919 Do not trigger Github Actions for doc or Readme changes (#102)
Ignore documentation and markdown changes for CI
2020-08-12 16:41:32 +02:00
Glen Fernandes
a23a903f9a Support the C++ allocator model (#103) 2020-08-12 02:12:04 -04:00
Conrad Poelman
a31e5cffa8 Remove deprecated inheritance from std::iterator (#97)
std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
2020-08-04 23:20:40 +02:00
Ashar
4640322492 hotfix: no review for outside repo PR (#98)
Outside repositories do not have permission to post review comments on ublas repository. It fails to review and CI fails. This issue has been fixed. Reviews are only run if a PR originates from our the ublas repository.
2020-08-04 22:17:12 +02:00
Ashar
7cc02bf0a1 Disable brranch coverage (#91)
Branch coverage needs to be explicitly enabled and is not the defaault configuration of lcov. It is better to disable branch coverage because then we will have only 2 things for each line in coverage report. Either a line is hit or a miss. This is even the defaault behaviour of llvm-cov for coverage reporting. For reference check [this](https://codecov.io/gh/tzlaine/text/tree/master/boost/text) Zach's Library for Unicode which recently got partially approved for Boost. This library also uses default coverage settings. 

**After this commit coverage will be 95%**
2020-07-12 15:21:09 +02:00
Ashar
0584e2abaa GSoC20 Phase 1: Enhance CI workflows and switch to Github Actions (#89)
* GSoC Phase 1: Enhance CI workflows and switch to Github Actions

More details of the work of this phase could be checked at my wiki https://github.com/BoostGSoC20/ublas/wiki

* Tensor tests use Github Actions

Old uBLAS will only use Travis and Appveyor from old legacy CI while
Tensor is now build using modern Github Action on wide array of compiler
and standards and codes.

* Add Copyright notice and refactor windows matrix
2020-07-11 13:57:28 +02:00
Cem Bassoy
6f823d183b bug in test/tensor/test_static_functions.cpp with memory leak fixed. (#85) 2020-06-23 14:59:51 +02:00
Conrad Poelman
47a314dd01 C++20/gcc10 removed allocator construct/destroy (#83)
std::allocator<T>::construct/destroy were deprecated in C++17 and removed in C++20, in favor of std::allocator_traits<T>::construct/destroy. (https://en.cppreference.com/w/cpp/memory/allocator_traits/construct). They are gone in gcc10. This fix switches to the the latter for C++17 and greater.
2020-05-11 19:53:03 +02:00
amitsingh19975
8938db5ce5 Decoupling the tensor into three tensor different tensor types (#81)
* decomposing tensor class into seperate modules according to the extents type

* stabilizing and updating test. Adding support for the operations b/w different types of tensor

* updating examples

* changing tabs to spaces

* added constexpr, removed resize from tensor and changed the array_type to container_type

* changing tag names and refactoring code

* adding and updating examples

* adding new line at the end of file

* refactoring code, fixing bugs and adding few new examples

* refactoring examples

* fixing gcc-7 issue where it is unable to use deduction guide when initilized

* adding constexpr and inline

* adding noexcept

* adding is_static_rank_v

* removing extents.hpp and decoupling test_extents and test_strides

* refactoring code and adding constexpr with [[nodiscard]] to the functions

* refactoring code.

* adding missing iterator header

* changing helper function name
2020-05-03 16:14:22 +02:00
Cem Bassoy
8dc3f04ece Update README.md 2020-04-18 13:26:27 +02:00
Cem Bassoy
cb3bf69898 Merge pull request #80 from BoostGSoC19/framework_static_extents_strides
Addition of static extents and static strides
2020-04-18 13:20:02 +02:00
Amit Singh
e68819c645 Phase 1: adding static extents and static strides
fix macro for MSVC

adding noexcept

fixing test and making changes

adding comparison test and adding resolving issue

changing extents API

fixing MSVC errors

fixing MSVC error

adding static prod function and adding std::array to static extents and static strides

fixing get_number_list

refactoring meta_function into type_traits and adding staic_traits for static_extents

fixing extents_result_type_outer_prod and combining static_functions and functions

removing unnecessary code and header file

removing unnecessary forward declaration

private member resize and adding removed constructors for matrix and vector

changing size_t to std::size_t and fixing stride_t

adding is_resizable type trait for tensor resizing

improve documenting of is_resizable

refactoring code

changing msvc version in .yml

changing toolset msvc-14.1 to msvc-14.16 and adding VSCLCOMPILER

changing toolset msvc-14.2 and image to VS 2019

refactoring code and adding new matrix to appveyor

adding VS 2019 with msvc-14.1 and disabling VS 2019 with msvc-14.2 and c++2a

adding VS 2019 with msvc-14.2 and changing flag to latest

removing VS 2019 with msvc-14.2 and c++17 and adding timeout to travis.yml

travis_wait workaround

removing VS 2017 from appveyor and refactoring code

adding clang support for c++17 and c++20 and refactoring code

changing dist to bionic and adding source link to clang 10

fixing travis, bugs and adding new examples

fixing example bugs for msvc

updating licence and adding test_expression to jamfile

adding new tests, refactoring code and fixing bugs

fix for msvc c++20

fixing memory problem due to BOOST_AUTO_TEST_SUITE macro defining after fixture

removing const from tests and enabling test_tensor.cpp

removing const from test_fixed_rank_expression_evaluation.cpp

fixing msvc bug

fixing msvc-14.2 bug for c++ latest where it cannot properly capture variables in lambda func

disintegrating tests into smaller units

reducing test_types for testing

reducing tests

reducing test_types for testing in operator arithmetic

improving msvc warinings and separating test_function.cpp into it's own module
2020-04-14 21:17:13 +05:30
Cem Bassoy
1e8689bb0b Merge pull request #72 from coder3101/develop
Fix for Appveyor CI Failures
2020-03-14 14:59:19 +01:00
Ashar
cdf219ca0f Fix for Appveyor CI Failures
Recently due to some changes to vcpkg the CI was failing to work with VS2017 using cached vcpkg. This is however fixed if we update the vcpkg. To prevent this from happening in future I am adding the upgrade to vcpkg as a pre-step for building our code.
2019-08-19 02:16:07 +05:30
Ashar
b31dee5bb0 Disable running unit tests of non-tensor modules 2019-05-21 01:26:30 +05:30
Ashar
0a37700bae Update README.md 2019-05-21 00:21:49 +05:30
Ashar
832bc70c6f Add all badges with refactoring 2019-05-21 00:13:59 +05:30
Ashar
8654ba7f47 Adding tags and badges to README 2019-05-20 23:54:09 +05:30
Ashar
005b606a32 Adding the expr_template and framework branch builds 2019-05-20 23:46:10 +05:30
Ashar
a490a29cdc Disable coverage for non-tensor unit tests 2019-05-20 23:32:12 +05:30
Cem Bassoy
cf72d035f4 Merge pull request #69 from BoostGSoC19/pr-codecov
Adding Code coverage to ublas
2019-05-19 14:35:00 +02:00
Ashar
1f5105a62b Adds code coverage to ublas 2019-05-19 00:23:56 +05:30
Cem Bassoy
782ce1631d readme updated. 2019-03-03 14:51:34 +01:00
Stefan Seefeld
53361d7f42 Merge branch 'develop' boost-1.73.0 boost-1.70.0 boost-1.74.0.beta1 boost-1.74.0 boost-1.73.0.beta1 boost-1.75.0.beta1 boost-1.72.0.beta1 boost-1.72.0 boost-1.71.0.beta1 boost-1.71.0 boost-1.70.0.beta1 2019-03-02 12:04:44 -05:00
Stefan Seefeld
7c6b1e980e Adjust metadata and documentation. 2019-03-02 12:00:48 -05:00
Cem Bassoy
d7a5ec2a68 Merge pull request #65 from BoostGSoC18/develop
Tensor Extension for uBLAS
2019-02-26 08:13:21 +01:00
Cem Bassoy
1e71db9cda tensor gsoc 2018. last changes for merge. 2019-02-25 17:05:02 +01:00
Cem Bassoy
6a731af7de tensor gsoc 2018. einstein notation added. 2019-02-18 22:45:38 +01:00
Cem Bassoy
359f716855 tensor gsoc 2018. tensor contraction and transposition added. 2019-02-18 22:45:38 +01:00
Cem Bassoy
3a62977c19 tensor gsoc 2018. expression templates and operators with generic lambdas added. 2019-02-18 22:45:38 +01:00
Cem Bassoy
675db26b4d tensor gsoc 2018. tensor and auxiliary template classes added. 2019-02-18 22:45:38 +01:00
Stefan Seefeld
48ad2104dd Fix extension module lookup. 2018-10-30 00:22:46 -04:00
Stefan Seefeld
249d3f9128 Add benchmarks for OpenCL API. 2018-10-29 08:38:37 -04:00
Fady Essam
9ae62f58d8 Add OpenCL API. 2018-10-29 08:38:37 -04:00
Stefan Seefeld
7cc5d385d2 First OpenCL support infrastructure. 2018-10-29 08:38:37 -04:00
Stefan Seefeld
44e7d7d853 Remove obsolete benchmarks. 2018-09-28 19:23:20 -04:00