Commit Graph

469 Commits

Author SHA1 Message Date
Eugen Wissner 3705cf387e Add syscalls to x86-64 linux 2017-09-12 06:23:28 +02:00
Eugen Wissner edc3296083 Drop support for dmd 2.073.2, remove deprecations 2017-09-12 06:07:16 +02:00
Eugen Wissner e8143bd0cc Fix template constraints style in tanya.math 2017-09-11 06:48:47 +02:00
Eugen Wissner 3eb8618c32 Add range.primitive 2017-09-10 10:35:05 +02:00
Eugen Wissner 3567a6608e Add generic description for 'meta' package 2017-09-09 11:48:30 +02:00
Eugen Wissner 520bd399a3 Add template-time Set and set-theoretic metafunctions 2017-09-05 05:51:34 +02:00
Eugen Wissner d38e33593e Add traits for working with UDAs 2017-09-03 00:00:43 +02:00
Eugen Wissner 34b79ad46e Update compiler version list in the README 2017-09-02 09:48:28 +02:00
Eugen Wissner 515bf619e8 Add support for dmd 2.076.0 2017-09-01 19:38:44 +02:00
Eugen Wissner 617eaab9a2 tanya.format: Cast lookup array index to size_t 2017-08-30 12:20:42 +02:00
Eugen Wissner d946b598fd Add internal sprintf-compatible format function
format() has full support for sprintf format but is written completely in D.
It is currently internal, since it is not typesafe and uses GC at one place.
After some work the function can be made public.
2017-08-29 10:38:03 +02:00
Eugen Wissner e9d7e9eb73 Add documention for newly added metafunctions
Docs for:
* ZipWith
* Min
* Max

Unittests for "Instantiate".
2017-08-28 16:07:02 +02:00
Eugen Wissner 4dbfbe9874 Add new metafunctions: Min, Max, ZipWith
Documentation follow
2017-08-27 15:32:05 +02:00
Eugen Wissner 25d59ffdda Remove "static" prefix from metafunctions 2017-08-26 10:37:22 +02:00
Eugen Wissner 2c064eb05b Add hasElaborate traits 2017-08-25 14:50:15 +02:00
Eugen Wissner c9a4a2f651 Add "native" configuration and TanyaPhobos version 2017-08-25 00:29:43 +02:00
Eugen Wissner 0e99effaeb net.inet: Remove htonl/htons based unit tests 2017-08-24 07:45:16 +02:00
Eugen Wissner 0f1e53b4b9 format.conv: Replace loop with copy() 2017-08-22 12:47:13 +02:00
Eugen Wissner 666d59c231 Add traits for checking if class, iface, struct
They are useful for compile-time algorithms like Filter, StaticMap and
so on.
2017-08-22 11:12:41 +02:00
Eugen Wissner ce90b4865b Make front and popFront for arrays public
This commit adds tanya.range.array module which contains functions to make
the arrays act as ranges. These functions don't do any auto-decoding for
strings.
2017-08-21 06:49:02 +02:00
Eugen Wissner beb5d6963b Complete tanya.meta.metafunction 2017-08-20 12:29:48 +02:00
Eugen Wissner a188f8b6e2 Rename traits module to trait 2017-08-19 11:28:08 +02:00
Eugen Wissner 9355c54163 Add metafunctions 2017-08-18 23:38:41 +02:00
Eugen Wissner e8dd6e3217 Add more traits 2017-08-16 06:45:15 +02:00
Eugen Wissner 94a7fdbb91 Update latest DMD to 2.075.1 2017-08-15 01:18:21 +02:00
Eugen Wissner afd3c42c5f Add meta.traits module 2017-08-14 14:21:10 +02:00
Eugen Wissner 1d91bb4df9 Add templates to meta.transform 2017-08-14 14:13:43 +02:00
Eugen Wissner a5026e48d8 Add meta.transform package
Templates in this module applied to a type produce a transformed type.
2017-08-13 19:12:46 +02:00
Eugen Wissner 64f2295d1a Fix #276
Add link to the source file for each module.
2017-08-12 17:01:51 +02:00
Eugen Wissner dea0eb9a37 Add function for comparing memory regions
memory.op.cmp.
2017-08-11 22:15:01 +02:00
Eugen Wissner 7c2abadb90 Add memory.op.copyBackward
Added function that can copy memory chunks that can overlap.
2017-08-09 07:01:57 +02:00
Eugen Wissner e6b28468ca Fix typo in the README, remove dmd 2.072 support 2017-08-08 05:59:04 +02:00
Eugen Wissner 2934bb16d7 Rename memory.op.zero into fill
- Rename memory.op.zero to fill, which accepts one template parameter: one
byte to fill the memory with.
- Fix bug on x86_64: RAX (register keeping the value to fill with) isn't set if
the pointer was already aligned.
2017-08-06 06:22:28 +02:00
Eugen Wissner ed92e3993e Add fast function to zero memory 2017-08-02 06:41:54 +02:00
Eugen Wissner 1a4d1238a1 Remove dmd 2.071.2 support 2017-08-01 05:17:57 +02:00
Eugen Wissner 04864559e2 Respect how Windows passes arrays on x86_64
tanya.memory.arch.x86_64:
Linux passes the array length and the data pointer in separate registers.
Windows passes a pointer to the whole array instead (pointer to the
array length practically).
2017-07-31 04:23:21 +02:00
Eugen Wissner 40e43c1465 Add memory.op.copy 2017-07-30 00:08:41 +02:00
Eugen Wissner 5d145f524c Add fast memory copy function for x86-64 2017-07-29 10:08:44 +02:00
Eugen Wissner 51ade45108 Add internal routing to convert a number to string
Add internal routing to write a number to a char buffer.
2017-07-28 09:08:58 +02:00
Eugen Wissner 3afb40e09e format.conv: Convert string to a boolean 2017-07-27 08:48:44 +02:00
Eugen Wissner a9cc135318 format.conv: Add conversion from bool to String 2017-07-26 06:49:33 +02:00
Eugen Wissner 1389b03842 memory: Fix parameter name in the documentation
Size parameter for "make" was renamed into n, but the function
description wasn't fixed:
  size => n

This commit also removes some redundant variables in "make".
2017-07-25 07:40:14 +02:00
Eugen Wissner a37c9b162e container.Set: Reduce duplicated code, add tests 2017-07-22 07:40:58 +02:00
Eugen Wissner cde492c279 Add dmd 2.075.0 support 2017-07-21 05:44:45 +02:00
Eugen Wissner 922c8bf7a3 Fix assigning a ByCodeUnit to the String slice
std.algorithm.mutation copy is unable to copy a char range into a char array slice.
2017-07-19 07:58:48 +02:00
Eugen Wissner a0a28c76f7 Fix CONTRIBUTING.md typos 2017-07-19 07:58:20 +02:00
Eugen Wissner a1f4d2bc1c If scheme is invalid, parse everything as path 2017-07-18 23:01:57 +02:00
Eugen Wissner e5fb95ceb0 Fix #254
network.url Range violation.

Add a check after parsing "scheme://"  whether only the scheme is available.
2017-07-17 04:57:33 +02:00
Eugen Wissner 9ef5986288 Add some style guidelines for contributors 2017-07-16 18:56:48 +02:00
Eugen Wissner 42146c5e8a Fix #259
Get rid of std.experimental.
2017-07-15 22:25:29 +02:00