1
I Use This!
Very Low Activity

Commits : Listings

Analyzed 2 days ago. based on code collected 2 days ago.
Sep 01, 2024 — Sep 01, 2025
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Optimizations for speed: o Make function star() and operators *, ^, &, %, / friends of class matrix_multi<>.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
New functions: o mono_kron(): sparse Kronecker tensor product of monomial matrices; o norm_frob2(): square of Frobenius norm; o trace(): Matrix trace.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
New functions: o mono_kron(): sparse Kronecker tensor product of monomial matrices; o norm_frob2(): square of Frobenius norm; o trace(): Matrix trace.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Optimzations for speed: o In constructor from index_pair_t, use masks instead of a loop. o Consolidate templates for functions test(), count(), count_pos(), use bitset_t::to_ulong(). o In functions min() and max(), if _GLUCAT_BITS_PER_ULONG is 32 or 64, use the "bit wizardry" version of the function for all LO, HI, but only include all cases if HI-LO > 8. o In function compare(), use lex_less_than(). o In function lex_less_than() use, bitset_t::to_ulong(). o Inline functions classname() and value_of_fold(). o Consolidate templates for sign_of_mult(). Use bitset_t::to_ulong(). If HI-LO > 8, use "bit wizardry": new static functions inverse_gray() and inverse_reversed_gray(). Otherwise use slightly faster loops. o Consolidate templates for hash_fn(). Shift neg_part into high bits of result, to reduce collisions. o Inline short index_set<>::reference functions.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Make operators ^, & and | friends of class index_set<>. Use BOOST_STATIC_ASSERT to enforce (LO <= 0) && (HI >= 0) && (HI > LO) && (-LO < _GLUCAT_BITS_PER_ULONG) && (HI < _GLUCAT_BITS_PER_ULONG) && (HI-LO <= _GLUCAT_BITS_PER_ULONG). New typedef index_pair_t for use with index_set<> constructor for index range. New member function sign_of_square(): sign of geometric square of a Clifford basis element. Remove deprecated function index_range().
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Use the Boost pool allocator. Include <boost/pool/pool_alloc.hpp>
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Include <boost/static_assert.hpp>
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Change _GLUCAT_CTAssert so that it does not generate spurious warnings with gcc 4.2.2. New tuning parameter Products_Size_Threshold, default 1UL << 22, to control operators ^, & and %. Change defaults for the other tuning parameters: DEFAULT_Div_Max_Steps = 4; DEFAULT_Sqrt_Max_Steps = 16; DEFAULT_Log_Max_Outer_Steps = 16; DEFAULT_Log_Max_Inner_Steps = 16; DEFAULT_Basis_Max_Count = 10; DEFAULT_Fast_Size_Threshold = 1UL << 6; DEFAULT_Inv_Fast_Dim_Threshold = 1UL << 6;
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Optimizations for speed: o Make generator_table<> operator() inline; o In function gen_from_pm1_qm1(), use 3 parameter constructor for neg and dup, copy pos from neg and use function mono_kron().
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Inline function classname().
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Optimizations for speed: o Make function star() and operators *, ^, &, %, / friends of class framed_multi<>; o Use boost::fast_pool_allocator<> with std::map<>.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Optimizations for speed: (1) For operators *, ^, &, %, use the new corresponding operator for the left hand side type in preferenece to *=, ^=, &=, %=. (2) The function star() uses the corresponding function for the left hand side type. (3) The functions scalar() and pure() use the member function scalar(). The function pow() with int right hand side is no longer inlined.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
New const member function scalar(). Make order of products more consistent: geometric, outer, inner, contraction. New versions of sqrt, log, cos, acos, acosh, sin, asin, asinh, tan, atan, atanh with a second parameter i, which is a specified complexifier and a third parameter prechecked which controls check_complex.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Remove the test for matrix_multi<double>.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Make test11 into a regression test which uses the new function check() to compare results. Use many more test cases with function transcendtest().
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Correct the URL of the Clical demo.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Tighten tol from eps*4 to eps*2. Do not use std::abs(). It is not needed when Scalar_T is float or double.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Use more test cases with function do_test00(): < *_multi<float,-3,4> >(3), < *_multi<float,-5,6> >(5), < *_multi<double> >(5).
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Use GLUCAT_TEST_REPEAT to control whether to repeat the timing tests.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Use GLUCAT_TEST_REPEAT to control whether to repeat the timing tests. Remove the tests for *_multi<double,-4,4>, and *_multi<float>.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Change Driver_Fast_Size_Threshold and Driver_Inv_Fast_Dim_Threshold for _GLUCAT_SQUARING_OPT to match the default value of 1 << 6.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Update to version 0.4.0. New configure option --with-unordered-map which controls -D_GLUCAT_USE_TR1_UNORDERED_MAP. Reorder compiler flags for the sake of consistency. Remove some commands which were commented out. For gcc between 4 and 4.0.2, move the test for and use of the flag -fno-strict-aliasing. Confine the test for and use of -fabi-version=0 to gcc between 4 and 4.0.2 only. Confine the test for and use of -Wstrict-aliasing=2 to gcc between 4 and 4.1 only. If --enable-strict is selected, for gcc later than 4.1, test and use the flags -pedantic -Wextra -Wno-unused-parameter. If --enable-debug=no is selected: (1) For gcc 4.1 and later, test and use the flags -O3 --param max-inline-insns-single=5400 --param large-function-insns=5400 -funroll-loops -fvariable-expansion-in-unroller -fno-math-errno -fno-trapping-math. (2) For gcc later than 4.2.1, for host x86_64-*-*, also use the flag -march=k8.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
HAVE_TR1_UNORDERED_MAP is to be defined to 1 if <tr1/unordered_map> exists.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Update to version 0.4.0.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Changes for version 0.3.0.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Test results for version 0.3.0.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Add an extra line after the tests for each different template class, to make output easier to read.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Clean up based on products test. Increase precision of output and increase number of repetitions to get more accurate timings for small frame sizes. Use new index_set(range) constructor.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Increase precision of output and increase number of repetitions to get more accurate timings for small frame sizes.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago
Use new index_set(range) constructor.
Paul Leopardi
as Paul C. Leopardi
More... almost 18 years ago