mirror of https://github.com/flysand7/ciabatta.git
add todo list
This commit is contained in:
parent
9f44678472
commit
80fde89a6f
107
todo.md
107
todo.md
|
@ -1,105 +1,12 @@
|
||||||
|
|
||||||
general:
|
# TO-DO list for ciabatta
|
||||||
* Start writing documentation concerning various implementation defined
|
|
||||||
behaviours of the library.
|
|
||||||
* (MSVC Ext.) Different kinds of main functions: wmain, WinMain, wWinMain, DllMain
|
|
||||||
* (MSVC Ext.) envp argument for main functions
|
|
||||||
|
|
||||||
math.h:
|
Library:
|
||||||
* exp
|
|
||||||
* exp2
|
|
||||||
* expml
|
|
||||||
* log
|
|
||||||
* log10
|
|
||||||
* log2
|
|
||||||
* log1p
|
|
||||||
* pow
|
|
||||||
* cbrt
|
|
||||||
* hypot
|
|
||||||
* atan2
|
|
||||||
* erf
|
|
||||||
* erfc
|
|
||||||
* tgamma
|
|
||||||
* lgamma
|
|
||||||
* frexp
|
|
||||||
* ldexp
|
|
||||||
* M_* constants
|
|
||||||
* M_E
|
|
||||||
* M_LOG2
|
|
||||||
* M_LOG10
|
|
||||||
* other stuff?
|
|
||||||
|
|
||||||
stdint.h:
|
* In `cia-def.h` have macros defined depending on which modules were exported
|
||||||
* Implement 7.20.3
|
* Allow for ciabatta to be used by including headers
|
||||||
|
* Define module requirements in `library.json`
|
||||||
stdio.h:
|
|
||||||
* The only reason to keep a linked list of all streams is to make sure they
|
|
||||||
are flushed after main() returns. I wonder if only remembering the files
|
|
||||||
with a buffer would increase performance.
|
|
||||||
* Formatted scan
|
|
||||||
* %s precision should specify how much characters to *write*
|
|
||||||
* %s check for NULL
|
|
||||||
* %Ls this is an actual weird territory. If (wchar_t *) is a unicode string
|
|
||||||
then to determine it's "width" (to figure out field padding) would require
|
|
||||||
to use a Unicode composition algorithm. But the problem is that windows
|
|
||||||
Unicode rendering advances text by 2 units, even if it's 1 graphical
|
|
||||||
character that was composed from 2 unicode characters. The question
|
|
||||||
becomes: do we implement the thing correctly by using a more complex
|
|
||||||
solution, or do we succumb to windows' bullshittery. I guess the answer is
|
|
||||||
obvious. That's why I wrote this todo item :D
|
|
||||||
* tmpfile
|
|
||||||
* tmpnam
|
|
||||||
* tmpfile_s
|
|
||||||
* tmpnam_s
|
|
||||||
* Printing 8.98846567431157854073e+307
|
|
||||||
* Printing negative zero
|
|
||||||
* Add functions for testing a file path, creating directories
|
|
||||||
* Fix the bug where if a file wasn't closed the thing crashes when
|
|
||||||
trying to flush the buffer
|
|
||||||
|
|
||||||
stdlib.h:
|
|
||||||
* Strtod base 16 must be correctly rounded
|
|
||||||
* Multibyte string functions
|
|
||||||
* Better PRNG
|
|
||||||
* Fix aligned_malloc
|
|
||||||
* Constraint Handlers
|
|
||||||
* getenv_s
|
|
||||||
* aligned_alloc can't be used with free()
|
|
||||||
|
|
||||||
string.h:
|
|
||||||
* strnlen_s
|
|
||||||
* memset_s
|
|
||||||
* memmove_s
|
|
||||||
* memcpy_s
|
|
||||||
* strncpy_s
|
|
||||||
* strcpy_s
|
|
||||||
* strcat_s
|
|
||||||
* strncat_s
|
|
||||||
* strtok_s
|
|
||||||
* strerror_s
|
|
||||||
* strerrorlen_s
|
|
||||||
|
|
||||||
tgmath.h:
|
|
||||||
* Due to the use of conditional operator in type-generic macros the
|
|
||||||
expression always expands to the value of type `long double`. This leads
|
|
||||||
to warnings when used with printf, e.g. as in printf("%f\n", exp(0)).
|
|
||||||
Using _Generic macros isn't a good choice either, because it won't work
|
|
||||||
with typedef'd types.
|
|
||||||
In other words there's no pure-C way to do tgmath.h.
|
|
||||||
That's probably the reason msvc stdlib headers don't implement tgmath.h.
|
|
||||||
clang implements it with __attribute__((__overloadable__)).
|
|
||||||
|
|
||||||
threads.h:
|
|
||||||
* TODO: add todo items
|
|
||||||
|
|
||||||
time.h:
|
|
||||||
* Probably some other funcs
|
|
||||||
* asctime_s
|
|
||||||
* ctime_s
|
|
||||||
* gmtime_s
|
|
||||||
* localtime_s
|
|
||||||
|
|
||||||
wchar.h:
|
|
||||||
* Collation, IO, Tokenization, Conversions
|
|
||||||
|
|
||||||
|
Support:
|
||||||
|
|
||||||
|
* EssenseOS platform (?)
|
||||||
|
|
Loading…
Reference in New Issue