-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
77 lines (50 loc) · 2.9 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1. [] Get all the tests passing for all the GSL integrals.
Remaining fails:
* Several fnevals - I don't care but it would be nice to figure this out.
* The four runs at the end of "Test adaptive singular integration using a relative error bound..."
*PASS: (2 obs vs 2 exp)
FAIL: (1.9856337788276941 observed vs 2 expected) n=335? 336? Probably an overrun
* Lots of fail in the various qags!
* A few pairs of thing look flipped in "Test integral f454 with integrable singular points..."
The 19, 20 pair is flipped - this could be a workspace sorting thing.
2. [DONE] Go through and make everything clean style-wise.
Columns, __, _S_eps, _S_max.
3. [] Make the various APIs consistent.
4. [DONE] Make narrow types instead of pair and tuple.
Lean towards AOS i think.
5. [DONE] Fix up the IntegralError exception class with errc and everything and use it.
Gat an errc enum for GSL quadrature.
You'll eventually want to hack src/c++11/functexcept.cc and bits/functexcept.h.
_GLIBCXX_THROW_OR_ABORT is in bits/c++config
6. [] Get good names: *Integral - to go with *Sum.
7. [] These tables should be inside classes.
Users should not have to build them in real use.
Even now, things like 'limit' should come from the table and not another argument.
Or a limit arg would go to an internally constructed table.
8. [] The tables are useful for debugging.
I might make these *_integrate public static members of the classes.
9. [DONE] The GSL seems to lack meat&potatoes integrals like midopint, trapezoid, romberg, ...
These are in NRiC++ in my trees. old/integration.tcc shold be truly genericized and packaged.
10. [DONE] Change from __gnu_test to __gnu_cxx
11. [DONE] Make the library truly type generic.
12. [DONE] Make the whole library deal with functions that return other than real - i.e. comlpex.
We want to be able to do contour integrals.
var_t for the integration variable
ret_t for function return
real_t - the scalar type of var_t - Do we require?
area_t - var_t()*ret_t()
13. [] Gather requirements of types and of __func.
14. [DONE] Gather more testcases.
15. [PARTIAL] Try some integral reps of special functions. At least for testing.
Mittag-Leffler!
16. [DONE] I have Gauss rules out the wazoo. Hermite, Jacobi, Laguerre, ...
Put these in and get tests for them.
17. The last (5th) qng test throws. But it gets the expected answer!
This is an XFAIL!
18. TOLERANCE_ERROR - A domain/precondition error.
19. Type generic tester.
We'll need type promotion wrappers. Make current functions __q***_integrate. so we don't have to cast every constexpr arg.
Use C++ I/O to silence errors.
20. [] Try exp_sinh intergation on hermite and laguerre orthonorm tests.
21. [] Try singular endpoint integrals for T, U, V Chebyshev, and Jacobi orthonorm tests.
22. [] Crazy idea: compose tanh_sinh and singular endpoint transforms.