865025c343
Cleanup: remove stdio.h header from MEM_guardedalloc.h
...
This was included for `FILE *` which isn't used in the header.
Ref D10799
2021-03-24 19:34:44 +11:00
a29686eeb3
Cleanup: Blenlib, Clang-Tidy else-after-return fixes (incomplete)
...
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/blenlib` module. Not all warnings are
addressed in this commit.
No functional changes.
2020-08-07 11:23:02 +02:00
4b96f47831
Docs: correct invalid doxygen params & references
2020-06-27 15:43:20 +10:00
2d1cce8331
Cleanup: make format after SortedIncludes change
2020-03-19 09:33:58 +01:00
2fb9c8ef12
Cleanup: add missing macros to clang-format
2019-04-21 04:40:16 +10:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
eff8cc9ccc
Cleanup: doxy comments
...
Use doxy references to function and enums,
also correct some names which became out of sync.
2019-04-14 10:48:42 +02:00
9ba948a485
Cleanup: style, use braces for blenlib
2019-03-27 13:17:30 +11:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
2019-02-02 01:36:28 +11:00
ce3d00b9b7
Fix T59404: Mistake in recent EdgeHash refactor broke edge generations in mesh validate code.
2018-12-17 14:28:29 +01:00
a3375729f8
Cleanup: macro hygiene, style, doxy comments
2018-12-13 23:04:14 +11:00
54fa78a048
BLI_edgehash: assert when edges use the same vert
...
This was removed on the recent upgrade.
2018-12-13 22:46:17 +11:00
aa63a87d37
BLI: New Edgehash and EdgeSet implementation
...
The new data structure uses open addressing instead of chaining to resolve collisions in the hash table.
This new structure was never slower than the old implementation in my tests. Code that first inserts all edges and then iterates through all edges (e.g. to remove duplicates) benefits the most, because the `EdgeHashIterator` becomes a simple for loop over a continuous array.
Reviewer: campbellbarton
Differential Revision: D4050
2018-12-13 11:21:31 +01:00
49490e5cfb
Merge branch 'master' into blender2.8
2018-12-12 13:02:09 +11:00
e757c4a3be
Cleanup: use colon separator after parameter
...
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
2018-12-12 12:50:58 +11:00
41216d5ad4
Cleanup: Remove more #if 0 blocks
...
Continuation of https://developer.blender.org/D3802
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3808
2018-10-18 15:43:06 +02:00
ccdacf1c9b
Cleanup: use '_len' instead of '_size' w/ BLI API
...
- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
(hint this isn't a simple getter).
See P611 to apply instead of manually resolving conflicts.
2018-02-15 23:39:08 +11:00
8ac69ff9dc
Cleanup: use uint type in BLI
2017-10-28 17:48:45 +11:00
f117f45d86
Correct own mistake in 3e499c1a
2015-12-13 01:57:57 +11:00
3e499c1a31
Cleanup: sync edgehash w/ ghash remove logic
2015-11-29 17:51:12 +11:00
09c2bff32f
Cleanup: rename hash -> bucket_index, edgehash API
...
Was confusing since a hash isn't typically used as an index on its own.
Also C99 for loop for bucket resize loop.
2015-11-29 17:51:12 +11:00
472599402f
Cleanup: ghash/edgehash style
...
Call functions on own lines (nicer for debugging)
2015-11-29 17:51:12 +11:00
5d30c23c35
doxygen: corrections/updates
...
Also add depsgraph & physics
2015-05-20 14:12:22 +10:00
12661de087
Remove invalid assert
2015-04-09 13:00:58 +10:00
808de65d91
EdgeHash: ensure function, avoids multiple lookups
2015-04-07 10:53:20 +10:00
d4aaa4f9b6
cleanup: use const for smallhash & minor edits
2014-12-18 13:12:25 +01:00
15bde0dbea
Docs: comments (hash table & beauty fill)
2014-12-17 09:58:23 +01:00
83cbcefac8
Add edgehash remove, clear functions, Heap clear
...
Edgehash was missing removal functions (remove, popkey, clear),
since it wasn't needed so far, but is based on same code as ghash which has them.
also add heap clear() method so we can reuse heaps.
(needed for upcoming fix).
2014-12-09 00:32:20 +01:00
6be4b39526
GHash: add flag get/set for gset
2014-08-12 13:29:40 +10:00
1b6864752f
GHash/EdgeHash: avoid NULL check on iterator init
2014-08-07 11:19:55 +10:00
fa8ff63b48
Edgehash: Improve magic number for hashing
...
Gives consistently better results. Tested with wide variety of meshes.
2014-07-15 13:08:46 +10:00
8554fa2fad
GHash, EdgeHash: add debugging function to measure the hash quality
...
Can use to check on improvements to hash functions.
2014-07-14 23:59:47 +10:00
98cb7ad237
Remove redundant NULL check
2014-07-14 14:23:23 +10:00
365ff66987
GSet, GHash: Add BLI_gset_add, since its common to add members to a set
...
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.
2014-06-14 00:47:12 +10:00
9bff19fbfd
GHash, Edgehash: add lookup_default() funcs.
...
Returns a fallback argument when the key isn't found.
2014-04-22 01:36:59 +10:00
25c9ea8cb3
GHash, EdgeHash: hint on unlikely branch
...
also avoid searching buckets for empty hashes
2014-04-21 02:50:07 +10:00
5580afb5df
GHash/Edgehash: make simple iterator checking functions inline.
...
also remove NULL check, only a few areas made use of this.
2014-04-08 15:50:38 +10:00
412826a504
Mempool: delay allocating an initial chunk, its not always used
2014-04-08 12:58:56 +10:00
af59ee340f
Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now
2014-04-05 12:14:05 +11:00
2097e621ed
Code cleanup: use r_ prefix for return args
2014-03-16 03:26:23 +11:00
7acb7cb897
Replace XOR swapping by default ("naive", with extra var) one.
...
Ref: http://en.wikipedia.org/wiki/XOR_swap_algorithm , modern compilers/CPUs are much more efficient with "naive" algo than XOR one.
Doubled check, for me in an optimized build, XOR is several times slower than naive algo.
2014-01-21 15:50:44 +01:00
f9d5bccb06
code cleanup: spelling
2013-10-31 23:52:44 +00:00
d59b4752e4
add hash iterator functions to access the pointer to the value.
2013-09-02 02:58:53 +00:00
2924a02a35
move strict compiler checks into a header so its easier to manage in one place (pragmas were copied around).
...
also enable more strict warnings for BLF (which had some incorrect casts).
2013-09-01 00:46:04 +00:00
b8547074e1
mempool internal change, use unsigned ints where possible (less overhead),
...
also quiet compiler warning for BLI_LINKSTACK_FREE macro.
2013-08-30 21:32:57 +00:00
1dba986505
internal changes to ghash/edgehash, reorganize to split out resizing the hash from insertion.
2013-08-26 13:41:13 +00:00
762e7da976
add some safety checks in debug mode to ensure sets/hashes aren't confused.
2013-08-26 09:37:15 +00:00
3b414b9859
minor changes to edgehassh/ghash
...
- no need to zero vars when freeing ghash
- de duplicate ghash remove code.
- edgehash clear now works more like ghash.
2013-08-25 21:02:31 +00:00