Go to file
Sergey Sharybin 72a199e148 Atomic: Cover with unit tests
Cover all atomic functions with unit tests.

The tests are quite simple, nothing special so far. The goal is to:

- Make sure implementation exists.
- Implementation behaves the same way on all platforms
  (We had issue when MSVC and GCC were behaving differently in the
  past).
- Proper bitness is used for implementation and non-fixed-size
  function implementation.

The tests can be extended further to make sure, for example, that
CAS operations do not cast arguments to a more narrow type for
comparison. Considering it a possible further improvement, as it is
better be done being focused on that specific task.

There is an annoying ifdef around 64bit implementation, which uses
same internal ifdef as the header does. This check is aimed to be
removed, so is easier to simply accept such duplication for now.

The tests seems somewhat duplicate for signed/unsigned variants and
things like this. The reason for that is to keep test code as simple
as possible: attempting to do something smart/tricky in the test code
often causes the test code to be a subject of being covered with its
own unit tests.

Differential Revision: https://developer.blender.org/D9590
2020-11-19 17:19:48 +01:00
.github Add Probot Stale configuration file 2019-10-11 14:13:29 +02:00
build_files Revert "Codesign: Versioning code to support older branches" 2020-11-13 11:35:04 +01:00
doc Bump version to 2.92 alpha 2020-10-21 18:09:44 +02:00
extern Ceres: Update to upstream version 2.0.0 2020-11-13 11:52:59 +01:00
intern Atomic: Cover with unit tests 2020-11-19 17:19:48 +01:00
release Cleanup: Grammar: "Allow to" vs gerund 2020-11-18 16:14:48 -05:00
source Fix RNA not giving error with invalid identifiers for collection properties 2020-11-19 16:29:29 +01:00
tests Animation: Expand unit tests for BKE_fcurve_active_keyframe_index() 2020-11-10 15:36:21 +01:00
.arcconfig Fix .arcconfig not working with latest arcanist version 2020-03-01 22:35:31 +01:00
.clang-format Cleanup: add SEQ_ALL_BEGIN, SEQ_CURRENT_BEGIN to .clang-format 2020-08-26 09:59:15 +10:00
.clang-tidy Clang-tidy, fix bugprone-exception-escape. 2020-11-17 17:33:25 +05:30
.editorconfig editorconfig: correct indent size 2019-04-17 13:34:46 +02:00
.git-blame-ignore-revs Cleanup: add commits to .git-blame-ignore-revs. 2020-11-05 19:24:07 +05:30
.gitignore Fluid: Added wavelet noise tile to the gitignore 2020-01-29 19:21:52 +01:00
.gitmodules Update for moving blender2.8 to master. 2018-12-21 12:15:21 +01:00
CMakeLists.txt CMake: Extend strict flags cancellation flags 2020-11-13 11:51:49 +01:00
COPYING
GNUmakefile Cleanup: spelling in comments 2020-10-19 09:27:32 +02:00
make.bat Build: add "make test" command for Windows, output log file 2019-09-12 20:23:03 +02:00
readme.rst readme: separate development links 2019-04-13 14:45:51 +02:00

.. Keep this document short & concise,
   linking to external resources instead of including content in-line.
   See 'release/text/readme.html' for the end user read-me.


Blender
=======

Blender is the free and open source 3D creation suite.
It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing,
motion tracking and video editing.

.. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg
   :scale: 50 %
   :align: center


Project Pages
-------------

- `Main Website <http://www.blender.org>`__
- `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__
- `User Community <https://www.blender.org/community/>`__

Development
-----------

- `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__
- `Code Review & Bug Tracker <https://developer.blender.org>`__
- `Developer Forum <https://devtalk.blender.org>`__
- `Developer Documentation <https://wiki.blender.org>`__


License
-------

Blender as a whole is licensed under the GNU Public License, Version 3.
Individual files may have a different, but compatible license.

See `blender.org/about/license <https://www.blender.org/about/license>`__ for details.