mirror of
https://github.com/dlang/phobos.git
synced 2025-04-29 22:50:38 +03:00
Replace LUCKY links with actual links
This commit is contained in:
parent
b22acefa9c
commit
d548e8830a
22 changed files with 88 additions and 55 deletions
|
@ -18,7 +18,8 @@ flags (e.g. for dmd, `-L-lodbc` on Posix and `-Lodbc32.lib` on Windows) to link
|
||||||
with the ODBC library. On Windows, using $(D pragma(lib, "odbc32")) in D
|
with the ODBC library. On Windows, using $(D pragma(lib, "odbc32")) in D
|
||||||
code at top level is also appropriate.
|
code at top level is also appropriate.
|
||||||
|
|
||||||
See_Also: $(LUCKY ODBC API Reference on MSN Online)
|
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
|
||||||
|
ODBC API Reference on MSN Online)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module etc.c.odbc.sql;
|
module etc.c.odbc.sql;
|
||||||
|
|
|
@ -8,7 +8,8 @@ original announcement)).
|
||||||
|
|
||||||
`etc.c.odbc.sqlext` corresponds to the `sqlext.h` C header file.
|
`etc.c.odbc.sqlext` corresponds to the `sqlext.h` C header file.
|
||||||
|
|
||||||
See_Also: $(LUCKY ODBC API Reference on MSN Online)
|
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
|
||||||
|
ODBC API Reference on MSN Online)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module etc.c.odbc.sqlext;
|
module etc.c.odbc.sqlext;
|
||||||
|
|
|
@ -8,7 +8,8 @@ original announcement)).
|
||||||
|
|
||||||
`etc.c.odbc.sqlext.d` corresponds to the `sqlext.h` C header file.
|
`etc.c.odbc.sqlext.d` corresponds to the `sqlext.h` C header file.
|
||||||
|
|
||||||
See_Also: $(LUCKY ODBC API Reference on MSN Online)
|
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
|
||||||
|
ODBC API Reference on MSN Online)
|
||||||
*/
|
*/
|
||||||
module etc.c.odbc.sqltypes;
|
module etc.c.odbc.sqltypes;
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,8 @@ original announcement)).
|
||||||
|
|
||||||
`etc.c.odbc.sqlucode` corresponds to the `sqlucode.h` C include file.
|
`etc.c.odbc.sqlucode` corresponds to the `sqlucode.h` C include file.
|
||||||
|
|
||||||
See_Also: $(LUCKY ODBC API Reference on MSN Online)
|
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
|
||||||
|
ODBC API Reference on MSN Online)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/+
|
/+
|
||||||
|
|
|
@ -27,11 +27,13 @@ $(T2 isSameLength,
|
||||||
$(D isSameLength([1, 2, 3], [4, 5, 6])) returns $(D true).)
|
$(D isSameLength([1, 2, 3], [4, 5, 6])) returns $(D true).)
|
||||||
$(T2 levenshteinDistance,
|
$(T2 levenshteinDistance,
|
||||||
$(D levenshteinDistance("kitten", "sitting")) returns $(D 3) by using
|
$(D levenshteinDistance("kitten", "sitting")) returns $(D 3) by using
|
||||||
the $(LUCKY Levenshtein distance _algorithm).)
|
the $(LINK2 https://en.wikipedia.org/wiki/Levenshtein_distance,
|
||||||
|
Levenshtein distance _algorithm).)
|
||||||
$(T2 levenshteinDistanceAndPath,
|
$(T2 levenshteinDistanceAndPath,
|
||||||
$(D levenshteinDistanceAndPath("kitten", "sitting")) returns
|
$(D levenshteinDistanceAndPath("kitten", "sitting")) returns
|
||||||
$(D tuple(3, "snnnsni")) by using the $(LUCKY Levenshtein distance
|
$(D tuple(3, "snnnsni")) by using the
|
||||||
_algorithm).)
|
$(LINK2 https://en.wikipedia.org/wiki/Levenshtein_distance,
|
||||||
|
Levenshtein distance _algorithm).)
|
||||||
$(T2 max,
|
$(T2 max,
|
||||||
$(D max(3, 4, 2)) returns $(D 4).)
|
$(D max(3, 4, 2)) returns $(D 4).)
|
||||||
$(T2 min,
|
$(T2 min,
|
||||||
|
|
|
@ -16,7 +16,8 @@ $(T2 balancedParens,
|
||||||
string has balanced parentheses.)
|
string has balanced parentheses.)
|
||||||
$(T2 boyerMooreFinder,
|
$(T2 boyerMooreFinder,
|
||||||
$(D find("hello world", boyerMooreFinder("or"))) returns $(D "orld")
|
$(D find("hello world", boyerMooreFinder("or"))) returns $(D "orld")
|
||||||
using the $(LUCKY Boyer-Moore _algorithm).)
|
using the $(LINK2 https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm,
|
||||||
|
Boyer-Moore _algorithm).)
|
||||||
$(T2 canFind,
|
$(T2 canFind,
|
||||||
$(D canFind("hello world", "or")) returns $(D true).)
|
$(D canFind("hello world", "or")) returns $(D true).)
|
||||||
$(T2 count,
|
$(T2 count,
|
||||||
|
@ -2343,7 +2344,8 @@ if (Ranges.length > 1 && is(typeof(startsWith!pred(haystack, needles))))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds $(D needle) in $(D haystack) efficiently using the
|
* Finds $(D needle) in $(D haystack) efficiently using the
|
||||||
* $(LUCKY Boyer-Moore) method.
|
* $(LINK2 https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm,
|
||||||
|
* Boyer-Moore) method.
|
||||||
*
|
*
|
||||||
* Params:
|
* Params:
|
||||||
* haystack = A random-access range with length and slicing.
|
* haystack = A random-access range with length and slicing.
|
||||||
|
|
|
@ -558,7 +558,8 @@ Params:
|
||||||
sorted = Whether the elements copied should be in sorted order.
|
sorted = Whether the elements copied should be in sorted order.
|
||||||
|
|
||||||
The function $(D largestPartialIntersection) is useful for
|
The function $(D largestPartialIntersection) is useful for
|
||||||
e.g. searching an $(LUCKY inverted index) for the documents most
|
e.g. searching an $(LINK2 https://en.wikipedia.org/wiki/Inverted_index,
|
||||||
|
inverted index) for the documents most
|
||||||
likely to contain some terms of interest. The complexity of the search
|
likely to contain some terms of interest. The complexity of the search
|
||||||
is $(BIGOH n * log(tgt.length)), where $(D n) is the sum of lengths of
|
is $(BIGOH n * log(tgt.length)), where $(D n) is the sum of lengths of
|
||||||
all input ranges. This approach is faster than keeping an associative
|
all input ranges. This approach is faster than keeping an associative
|
||||||
|
|
|
@ -50,7 +50,7 @@ $(T2 pivotPartition,
|
||||||
than or equal, and greater than or equal to the given pivot, passed as
|
than or equal, and greater than or equal to the given pivot, passed as
|
||||||
an index in the range.)
|
an index in the range.)
|
||||||
$(T2 schwartzSort,
|
$(T2 schwartzSort,
|
||||||
Sorts with the help of the $(LUCKY Schwartzian transform).)
|
Sorts with the help of the $(LINK2 https://en.wikipedia.org/wiki/Schwartzian_transform, Schwartzian transform).)
|
||||||
$(T2 sort,
|
$(T2 sort,
|
||||||
Sorts.)
|
Sorts.)
|
||||||
$(T2 topN,
|
$(T2 topN,
|
||||||
|
@ -573,7 +573,8 @@ if (ss != SwapStrategy.stable && isInputRange!Range && hasSwappableElements!Rang
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Partitions `r` around `pivot` using comparison function `less`, algorithm akin
|
Partitions `r` around `pivot` using comparison function `less`, algorithm akin
|
||||||
to $(LUCKY Hoare partition). Specifically, permutes elements of `r` and returns
|
to $(LINK2 https://en.wikipedia.org/wiki/Quicksort#Hoare_partition_scheme,
|
||||||
|
Hoare partition). Specifically, permutes elements of `r` and returns
|
||||||
an index $(D k < r.length) such that:
|
an index $(D k < r.length) such that:
|
||||||
|
|
||||||
$(UL
|
$(UL
|
||||||
|
@ -594,8 +595,9 @@ elements fairly to the left and right of `k` such that `k` stays close to $(D
|
||||||
r.length / 2).
|
r.length / 2).
|
||||||
|
|
||||||
Params:
|
Params:
|
||||||
less = The predicate used for comparison, modeled as a $(LUCKY strict weak
|
less = The predicate used for comparison, modeled as a
|
||||||
ordering) (irreflexive, antisymmetric, transitive, and implying a transitive
|
$(LINK2 https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings,
|
||||||
|
strict weak ordering) (irreflexive, antisymmetric, transitive, and implying a transitive
|
||||||
equivalence)
|
equivalence)
|
||||||
r = The range being partitioned
|
r = The range being partitioned
|
||||||
pivot = The index of the pivot for partitioning, must be less than `r.length` or
|
pivot = The index of the pivot for partitioning, must be less than `r.length` or
|
||||||
|
@ -3864,9 +3866,9 @@ with the median of `r[a]`, `r[b]`, and `r[c]`, but also puts the minimum in
|
||||||
`r[a]` and the maximum in `r[c]`.
|
`r[a]` and the maximum in `r[c]`.
|
||||||
|
|
||||||
Params:
|
Params:
|
||||||
less = The comparison predicate used, modeled as a $(LUCKY strict weak
|
less = The comparison predicate used, modeled as a
|
||||||
ordering) (irreflexive, antisymmetric, transitive, and implying a transitive
|
$(LINK2 https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings, strict weak ordering)
|
||||||
equivalence).
|
(irreflexive, antisymmetric, transitive, and implying a transitive equivalence).
|
||||||
flag = Used only for even values of `T.length`. If `No.leanRight`, the median
|
flag = Used only for even values of `T.length`. If `No.leanRight`, the median
|
||||||
"leans left", meaning $(D medianOf(r, a, b, c, d)) puts the lower median of the
|
"leans left", meaning $(D medianOf(r, a, b, c, d)) puts the lower median of the
|
||||||
four in `r[b]`, the minimum in `r[a]`, and the two others in `r[c]` and `r[d]`.
|
four in `r[b]`, the minimum in `r[a]`, and the two others in `r[c]` and `r[d]`.
|
||||||
|
|
|
@ -175,7 +175,8 @@ heap.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Clears the heap. Returns the portion of the store from $(D 0) up to
|
Clears the heap. Returns the portion of the store from $(D 0) up to
|
||||||
$(D length), which satisfies the $(LUCKY heap property).
|
$(D length), which satisfies the $(LINK2 https://en.wikipedia.org/wiki/Heap_(data_structure),
|
||||||
|
heap property).
|
||||||
*/
|
*/
|
||||||
auto release()
|
auto release()
|
||||||
{
|
{
|
||||||
|
|
|
@ -716,7 +716,8 @@ private struct RBRange(N)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of a $(LUCKY red-black tree) container.
|
* Implementation of a $(LINK2 https://en.wikipedia.org/wiki/Red%E2%80%93black_tree,
|
||||||
|
* red-black tree) container.
|
||||||
*
|
*
|
||||||
* All inserts, removes, searches, and any function in general has complexity
|
* All inserts, removes, searches, and any function in general has complexity
|
||||||
* of $(BIGOH lg(n)).
|
* of $(BIGOH lg(n)).
|
||||||
|
|
|
@ -11,7 +11,8 @@ version(unittest) import std.stdio;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Given an $(LUCKY object factory) of type `Factory` or a factory function
|
Given an $(LINK2 https://en.wikipedia.org/wiki/Factory_(object-oriented_programming),
|
||||||
|
object factory) of type `Factory` or a factory function
|
||||||
`factoryFunction`, and optionally also `BookkeepingAllocator` as a supplemental
|
`factoryFunction`, and optionally also `BookkeepingAllocator` as a supplemental
|
||||||
allocator for bookkeeping, `AllocatorList` creates an allocator that lazily
|
allocator for bookkeeping, `AllocatorList` creates an allocator that lazily
|
||||||
creates as many allocators are needed for satisfying client allocation requests.
|
creates as many allocators are needed for satisfying client allocation requests.
|
||||||
|
|
|
@ -252,10 +252,11 @@ simple bump-the-pointer allocator.))
|
||||||
$(TR $(TDC2 InSituRegion, region) $(TD Region holding its own allocation, most often on
|
$(TR $(TDC2 InSituRegion, region) $(TD Region holding its own allocation, most often on
|
||||||
the stack. Has statically-determined size.))
|
the stack. Has statically-determined size.))
|
||||||
|
|
||||||
$(TR $(TDC2 SbrkRegion, region) $(TD Region using $(D $(LUCKY sbrk)) for allocating
|
$(TR $(TDC2 SbrkRegion, region) $(TD Region using $(D $(LINK2 https://en.wikipedia.org/wiki/Sbrk,
|
||||||
memory.))
|
sbrk)) for allocating memory.))
|
||||||
|
|
||||||
$(TR $(TDC3 MmapAllocator, mmap_allocator) $(TD Allocator using $(D $(LUCKY mmap)) directly.))
|
$(TR $(TDC3 MmapAllocator, mmap_allocator) $(TD Allocator using
|
||||||
|
$(D $(LINK2 https://en.wikipedia.org/wiki/Mmap, mmap)) directly.))
|
||||||
|
|
||||||
$(TR $(TDC2 StatsCollector, stats_collector) $(TD Collect statistics about any other
|
$(TR $(TDC2 StatsCollector, stats_collector) $(TD Collect statistics about any other
|
||||||
allocator.))
|
allocator.))
|
||||||
|
|
|
@ -581,9 +581,10 @@ private extern(C) int brk(shared void*);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Allocator backed by $(D $(LUCKY sbrk)) for Posix systems. Due to the fact that
|
Allocator backed by $(D $(LINK2 https://en.wikipedia.org/wiki/Sbrk, sbrk))
|
||||||
$(D sbrk) is not thread-safe $(HTTP lifecs.likai.org/2010/02/sbrk-is-not-thread-
|
for Posix systems. Due to the fact that $(D sbrk) is not thread-safe
|
||||||
safe.html, by design), $(D SbrkRegion) uses a mutex internally. This implies
|
$(HTTP lifecs.likai.org/2010/02/sbrk-is-not-thread-safe.html, by design),
|
||||||
|
$(D SbrkRegion) uses a mutex internally. This implies
|
||||||
that uncontrolled calls to $(D brk) and $(D sbrk) may affect the workings of $(D
|
that uncontrolled calls to $(D brk) and $(D sbrk) may affect the workings of $(D
|
||||||
SbrkRegion) adversely.
|
SbrkRegion) adversely.
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ module std.experimental.allocator.mmap_allocator;
|
||||||
// MmapAllocator
|
// MmapAllocator
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Allocator (currently defined only for Posix and Windows) using $(D $(LUCKY mmap))
|
Allocator (currently defined only for Posix and Windows) using
|
||||||
|
$(D $(LINK2 https://en.wikipedia.org/wiki/Mmap, mmap))
|
||||||
and $(D $(LUCKY munmap)) directly (or their Windows equivalents). There is no
|
and $(D $(LUCKY munmap)) directly (or their Windows equivalents). There is no
|
||||||
additional structure: each call to $(D allocate(s)) issues a call to
|
additional structure: each call to $(D allocate(s)) issues a call to
|
||||||
$(D mmap(null, s, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)),
|
$(D mmap(null, s, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)),
|
||||||
|
|
|
@ -963,8 +963,8 @@ alias pipe(fun...) = compose!(Reverse!(fun));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* $(LUCKY Memoizes) a function so as to avoid repeated
|
* $(LINK2 https://en.wikipedia.org/wiki/Memoization, Memoizes) a function so as
|
||||||
* computation. The memoization structure is a hash table keyed by a
|
* to avoid repeated computation. The memoization structure is a hash table keyed by a
|
||||||
* tuple of the function's arguments. There is a speed gain if the
|
* tuple of the function's arguments. There is a speed gain if the
|
||||||
* function is repeatedly called with the same arguments and is more
|
* function is repeatedly called with the same arguments and is more
|
||||||
* expensive than a hash table lookup. For more information on memoization, refer to $(HTTP docs.google.com/viewer?url=http%3A%2F%2Fhop.perl.plover.com%2Fbook%2Fpdf%2F03CachingAndMemoization.pdf, this book chapter).
|
* expensive than a hash table lookup. For more information on memoization, refer to $(HTTP docs.google.com/viewer?url=http%3A%2F%2Fhop.perl.plover.com%2Fbook%2Fpdf%2F03CachingAndMemoization.pdf, this book chapter).
|
||||||
|
|
|
@ -40,20 +40,23 @@ public enum CustomFloatFlags
|
||||||
* Store values in normalized form by default. The actual precision of the
|
* Store values in normalized form by default. The actual precision of the
|
||||||
* significand is extended by 1 bit by assuming an implicit leading bit of 1
|
* significand is extended by 1 bit by assuming an implicit leading bit of 1
|
||||||
* instead of 0. i.e. $(D 1.nnnn) instead of $(D 0.nnnn).
|
* instead of 0. i.e. $(D 1.nnnn) instead of $(D 0.nnnn).
|
||||||
* True for all $(LUCKY IEE754) types
|
* True for all $(LINK2 https://en.wikipedia.org/wiki/IEEE_floating_point, IEE754) types
|
||||||
*/
|
*/
|
||||||
storeNormalized = 2,
|
storeNormalized = 2,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores the significand in $(LUCKY IEEE754 denormalized) form when the
|
* Stores the significand in $(LINK2 https://en.wikipedia.org/wiki/IEEE_754-1985#Denormalized_numbers,
|
||||||
* exponent is 0. Required to express the value 0.
|
* IEEE754 denormalized) form when the exponent is 0. Required to express the value 0.
|
||||||
*/
|
*/
|
||||||
allowDenorm = 4,
|
allowDenorm = 4,
|
||||||
|
|
||||||
/// Allows the storage of $(LUCKY IEEE754 _infinity) values.
|
/**
|
||||||
|
* Allows the storage of $(LINK2 https://en.wikipedia.org/wiki/IEEE_754-1985#Positive_and_negative_infinity,
|
||||||
|
* IEEE754 _infinity) values.
|
||||||
|
*/
|
||||||
infinity = 8,
|
infinity = 8,
|
||||||
|
|
||||||
/// Allows the storage of $(LUCKY IEEE754 Not a Number) values.
|
/// Allows the storage of $(LINK2 https://en.wikipedia.org/wiki/NaN, IEEE754 Not a Number) values.
|
||||||
nan = 16,
|
nan = 16,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -66,12 +69,13 @@ public enum CustomFloatFlags
|
||||||
/// If set, unsigned custom floats are assumed to be negative.
|
/// If set, unsigned custom floats are assumed to be negative.
|
||||||
negativeUnsigned = 64,
|
negativeUnsigned = 64,
|
||||||
|
|
||||||
/**If set, 0 is the only allowed $(LUCKY IEEE754 denormalized) number.
|
/**If set, 0 is the only allowed $(LINK2 https://en.wikipedia.org/wiki/IEEE_754-1985#Denormalized_numbers,
|
||||||
|
* IEEE754 denormalized) number.
|
||||||
* Requires allowDenorm and storeNormalized.
|
* Requires allowDenorm and storeNormalized.
|
||||||
*/
|
*/
|
||||||
allowDenormZeroOnly = 128 | allowDenorm | storeNormalized,
|
allowDenormZeroOnly = 128 | allowDenorm | storeNormalized,
|
||||||
|
|
||||||
/// Include _all of the $(LUCKY IEEE754) options.
|
/// Include _all of the $(LINK2 https://en.wikipedia.org/wiki/IEEE_floating_point, IEEE754) options.
|
||||||
ieee = signed | storeNormalized | allowDenorm | infinity | nan ,
|
ieee = signed | storeNormalized | allowDenorm | infinity | nan ,
|
||||||
|
|
||||||
/// Include none of the above options.
|
/// Include none of the above options.
|
||||||
|
@ -1624,7 +1628,8 @@ body
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes $(LUCKY Euclidean distance) between input ranges $(D a) and
|
Computes $(LINK2 https://en.wikipedia.org/wiki/Euclidean_distance,
|
||||||
|
Euclidean distance) between input ranges $(D a) and
|
||||||
$(D b). The two ranges must have the same length. The three-parameter
|
$(D b). The two ranges must have the same length. The three-parameter
|
||||||
version stops computation as soon as the distance is greater than or
|
version stops computation as soon as the distance is greater than or
|
||||||
equal to $(D limit) (this is useful to save computation if a small
|
equal to $(D limit) (this is useful to save computation if a small
|
||||||
|
@ -1684,7 +1689,8 @@ if (isInputRange!(Range1) && isInputRange!(Range2))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes the $(LUCKY dot product) of input ranges $(D a) and $(D
|
Computes the $(LINK2 https://en.wikipedia.org/wiki/Dot_product,
|
||||||
|
dot product) of input ranges $(D a) and $(D
|
||||||
b). The two ranges must have the same length. If both ranges define
|
b). The two ranges must have the same length. If both ranges define
|
||||||
length, the check is done once; otherwise, it is done at each
|
length, the check is done once; otherwise, it is done at each
|
||||||
iteration.
|
iteration.
|
||||||
|
@ -1781,7 +1787,8 @@ dotProduct(F1, F2)(in F1[] avector, in F2[] bvector)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes the $(LUCKY cosine similarity) of input ranges $(D a) and $(D
|
Computes the $(LINK2 https://en.wikipedia.org/wiki/Cosine_similarity,
|
||||||
|
cosine similarity) of input ranges $(D a) and $(D
|
||||||
b). The two ranges must have the same length. If both ranges define
|
b). The two ranges must have the same length. If both ranges define
|
||||||
length, the check is done once; otherwise, it is done at each
|
length, the check is done once; otherwise, it is done at each
|
||||||
iteration. If either range has all-zero elements, return 0.
|
iteration. If either range has all-zero elements, return 0.
|
||||||
|
@ -1924,7 +1931,8 @@ if (isInputRange!Range && isFloatingPoint!(ElementType!Range))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes $(LUCKY _entropy) of input range $(D r) in bits. This
|
Computes $(LINK2 https://en.wikipedia.org/wiki/Entropy_(information_theory),
|
||||||
|
_entropy) of input range $(D r) in bits. This
|
||||||
function assumes (without checking) that the values in $(D r) are all
|
function assumes (without checking) that the values in $(D r) are all
|
||||||
in $(D [0, 1]). For the entropy to be meaningful, often $(D r) should
|
in $(D [0, 1]). For the entropy to be meaningful, often $(D r) should
|
||||||
be normalized too (i.e., its values should sum to 1). The
|
be normalized too (i.e., its values should sum to 1). The
|
||||||
|
@ -1972,7 +1980,8 @@ if (isInputRange!Range &&
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes the $(LUCKY Kullback-Leibler divergence) between input ranges
|
Computes the $(LINK2 https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence,
|
||||||
|
Kullback-Leibler divergence) between input ranges
|
||||||
$(D a) and $(D b), which is the sum $(D ai * log(ai / bi)). The base
|
$(D a) and $(D b), which is the sum $(D ai * log(ai / bi)). The base
|
||||||
of logarithm is 2. The ranges are assumed to contain elements in $(D
|
of logarithm is 2. The ranges are assumed to contain elements in $(D
|
||||||
[0, 1]). Usually the ranges are normalized probability distributions,
|
[0, 1]). Usually the ranges are normalized probability distributions,
|
||||||
|
@ -2020,7 +2029,8 @@ if (isInputRange!(Range1) && isInputRange!(Range2))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Computes the $(LUCKY Jensen-Shannon divergence) between $(D a) and $(D
|
Computes the $(LINK2 https://en.wikipedia.org/wiki/Jensen%E2%80%93Shannon_divergence,
|
||||||
|
Jensen-Shannon divergence) between $(D a) and $(D
|
||||||
b), which is the sum $(D (ai * log(2 * ai / (ai + bi)) + bi * log(2 *
|
b), which is the sum $(D (ai * log(2 * ai / (ai + bi)) + bi * log(2 *
|
||||||
bi / (ai + bi))) / 2). The base of logarithm is 2. The ranges are
|
bi / (ai + bi))) / 2). The base of logarithm is 2. The ranges are
|
||||||
assumed to contain elements in $(D [0, 1]). Usually the ranges are
|
assumed to contain elements in $(D [0, 1]). Usually the ranges are
|
||||||
|
|
10
std/random.d
10
std/random.d
|
@ -8,9 +8,11 @@ immune of threading issues. The generators feature a number of
|
||||||
well-known and well-documented methods of generating random
|
well-known and well-documented methods of generating random
|
||||||
numbers. An overall fast and reliable means to generate random numbers
|
numbers. An overall fast and reliable means to generate random numbers
|
||||||
is the $(D_PARAM Mt19937) generator, which derives its name from
|
is the $(D_PARAM Mt19937) generator, which derives its name from
|
||||||
"$(LUCKY Mersenne Twister) with a period of 2 to the power of
|
"$(LINK2 https://en.wikipedia.org/wiki/Mersenne_Twister, Mersenne Twister)
|
||||||
19937". In memory-constrained situations, $(LUCKY linear congruential)
|
with a period of 2 to the power of
|
||||||
generators such as $(D MinstdRand0) and $(D MinstdRand) might be
|
19937". In memory-constrained situations,
|
||||||
|
$(LINK2 https://en.wikipedia.org/wiki/Linear_congruential_generator,
|
||||||
|
linear congruential generators) such as $(D MinstdRand0) and $(D MinstdRand) might be
|
||||||
useful. The standard library provides an alias $(D_PARAM Random) for
|
useful. The standard library provides an alias $(D_PARAM Random) for
|
||||||
whichever generator it considers the most fit for the target
|
whichever generator it considers the most fit for the target
|
||||||
environment.
|
environment.
|
||||||
|
@ -525,7 +527,7 @@ alias MinstdRand = LinearCongruentialEngine!(uint, 48_271, 0, 2_147_483_647);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The $(LUCKY Mersenne Twister) generator.
|
The $(LINK2 https://en.wikipedia.org/wiki/Mersenne_Twister, Mersenne Twister) generator.
|
||||||
*/
|
*/
|
||||||
struct MersenneTwisterEngine(UIntType, size_t w, size_t n, size_t m, size_t r,
|
struct MersenneTwisterEngine(UIntType, size_t w, size_t n, size_t m, size_t r,
|
||||||
UIntType a, size_t u, UIntType d, size_t s,
|
UIntType a, size_t u, UIntType d, size_t s,
|
||||||
|
|
|
@ -8139,7 +8139,8 @@ enum SearchPolicy
|
||||||
trot,
|
trot,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Performs a $(LUCKY galloping search algorithm), i.e. searches
|
Performs a $(LINK2 https://en.wikipedia.org/wiki/Exponential_search,
|
||||||
|
galloping search algorithm), i.e. searches
|
||||||
with a step that doubles every time, (1, 2, 4, 8, ...) leading
|
with a step that doubles every time, (1, 2, 4, 8, ...) leading
|
||||||
to an exponential search schedule (indexes tried are 0, 1, 3,
|
to an exponential search schedule (indexes tried are 0, 1, 3,
|
||||||
7, 15, 31, 63,...) Once the search overshoots its target, the
|
7, 15, 31, 63,...) Once the search overshoots its target, the
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/++
|
/++
|
||||||
$(LUCKY Regular expressions) are a commonly used method of pattern matching
|
$(LINK2 https://en.wikipedia.org/wiki/Regular_expression, Regular expressions)
|
||||||
|
are a commonly used method of pattern matching
|
||||||
on strings, with $(I regex) being a catchy word for a pattern in this domain
|
on strings, with $(I regex) being a catchy word for a pattern in this domain
|
||||||
specific language. Typical problems usually solved by regular expressions
|
specific language. Typical problems usually solved by regular expressions
|
||||||
include validation of user input and the ubiquitous find $(AMP) replace
|
include validation of user input and the ubiquitous find $(AMP) replace
|
||||||
|
@ -1058,7 +1059,8 @@ if (isSomeString!R && is(RegEx == StaticRegex!(BasicElementOf!R)))
|
||||||
|
|
||||||
/++
|
/++
|
||||||
Start matching of $(D input) to regex pattern $(D re),
|
Start matching of $(D input) to regex pattern $(D re),
|
||||||
using traditional $(LUCKY backtracking) matching scheme.
|
using traditional $(LINK2 https://en.wikipedia.org/wiki/Backtracking,
|
||||||
|
backtracking) matching scheme.
|
||||||
|
|
||||||
The use of this function is $(RED discouraged) - use either of
|
The use of this function is $(RED discouraged) - use either of
|
||||||
$(LREF matchAll) or $(LREF matchFirst).
|
$(LREF matchAll) or $(LREF matchFirst).
|
||||||
|
|
|
@ -2883,8 +2883,8 @@ See $(LREF byChunk) for an example.
|
||||||
/** Returns an output range that locks the file and allows fast writing to it.
|
/** Returns an output range that locks the file and allows fast writing to it.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
Produce a grayscale image of the $(LUCKY Mandelbrot set)
|
Produce a grayscale image of the $(LINK2 https://en.wikipedia.org/wiki/Mandelbrot_set, Mandelbrot set)
|
||||||
in binary $(LUCKY Netpbm format) to standard output.
|
in binary $(LINK2 https://en.wikipedia.org/wiki/Netpbm_format, Netpbm format) to standard output.
|
||||||
---
|
---
|
||||||
import std.algorithm, std.range, std.stdio;
|
import std.algorithm, std.range, std.stdio;
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
)
|
)
|
||||||
$(LI
|
$(LI
|
||||||
A way to construct optimal packed multi-stage tables also known as a
|
A way to construct optimal packed multi-stage tables also known as a
|
||||||
special case of $(LUCKY Trie).
|
special case of $(LINK2 https://en.wikipedia.org/wiki/Trie, Trie).
|
||||||
The functions $(LREF codepointTrie), $(LREF codepointSetTrie)
|
The functions $(LREF codepointTrie), $(LREF codepointSetTrie)
|
||||||
construct custom tries that map dchar to value.
|
construct custom tries that map dchar to value.
|
||||||
The end result is a fast and predictable $(BIGOH 1) lookup that powers
|
The end result is a fast and predictable $(BIGOH 1) lookup that powers
|
||||||
|
@ -1940,7 +1940,7 @@ pure:
|
||||||
As seen this provides a space-efficient storage of highly redundant data
|
As seen this provides a space-efficient storage of highly redundant data
|
||||||
that comes in long runs. A description which Unicode $(CHARACTER)
|
that comes in long runs. A description which Unicode $(CHARACTER)
|
||||||
properties fit nicely. The technique itself could be seen as a variation
|
properties fit nicely. The technique itself could be seen as a variation
|
||||||
on $(LUCKY RLE encoding).
|
on $(LINK2 https://en.wikipedia.org/wiki/Run-length_encoding, RLE encoding).
|
||||||
)
|
)
|
||||||
|
|
||||||
$(P Sets are value types (just like $(D int) is) thus they
|
$(P Sets are value types (just like $(D int) is) thus they
|
||||||
|
|
|
@ -1395,7 +1395,8 @@ values of their own type within.
|
||||||
|
|
||||||
This is achieved with `Algebraic` by using `This` as a placeholder whenever a
|
This is achieved with `Algebraic` by using `This` as a placeholder whenever a
|
||||||
reference to the type being defined is needed. The `Algebraic` instantiation
|
reference to the type being defined is needed. The `Algebraic` instantiation
|
||||||
will perform $(LUCKY alpha renaming) on its constituent types, replacing `This`
|
will perform $(LINK2 https://en.wikipedia.org/wiki/Name_resolution_(programming_languages)#Alpha_renaming_to_make_name_resolution_trivial,
|
||||||
|
alpha renaming) on its constituent types, replacing `This`
|
||||||
with the self-referenced type. The structure of the type involving `This` may
|
with the self-referenced type. The structure of the type involving `This` may
|
||||||
be arbitrarily complex.
|
be arbitrarily complex.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue