diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/inc/random.h | 5 | ||||
-rw-r--r-- | src/inc/utilcode.h | 12 | ||||
-rw-r--r-- | src/mscorlib/LICENSE | 22 | ||||
-rw-r--r-- | src/mscorlib/src/System/Globalization/IdnMapping.cs | 32 | ||||
-rw-r--r-- | src/mscorlib/src/System/Random.cs | 1 | ||||
-rw-r--r-- | src/utilcode/guidfromname.cpp | 103 |
6 files changed, 109 insertions, 66 deletions
diff --git a/src/inc/random.h b/src/inc/random.h index 56b7bbfc82..847c9b61fa 100644 --- a/src/inc/random.h +++ b/src/inc/random.h @@ -7,8 +7,8 @@ // // -// Defines a random number generator, ripped off from the System.Random code in the BCL. If you notice any problems, -// please compare to the implementation in ndp\clr\src\bcl\system\random.cs. +// Defines a random number generator, initially from the System.Random code in the BCL. If you notice any problems, +// please compare to the implementation in src\mscorlib\src\system\random.cs. // // Main advantages over rand() are: // @@ -93,7 +93,6 @@ public: int mj, mk; //Initialize our Seed array. - //This algorithm comes from Numerical Recipes in C (2nd Ed.) mj = MSEED - abs(Seed); SeedArray[55]=mj; mk=1; diff --git a/src/inc/utilcode.h b/src/inc/utilcode.h index e832441454..981f90002e 100644 --- a/src/inc/utilcode.h +++ b/src/inc/utilcode.h @@ -3208,8 +3208,16 @@ inline DWORD HashThreeToOne(DWORD a, DWORD b, DWORD c) { LIMITED_METHOD_DAC_CONTRACT; - // Current implementation taken from lookup3.c, by Bob Jenkins, May 2006 - + /* + lookup3.c, by Bob Jenkins, May 2006, Public Domain. + + These are functions for producing 32-bit hashes for hash table lookup. + hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final() + are externally useful functions. Routines to test the hash are included + if SELF_TEST is defined. You can use this free for any purpose. It's in + the public domain. It has no warranty. + */ + #define rot32(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) c ^= b; c -= rot32(b,14); a ^= c; a -= rot32(c,11); diff --git a/src/mscorlib/LICENSE b/src/mscorlib/LICENSE deleted file mode 100644 index 5ac9e0e05d..0000000000 --- a/src/mscorlib/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/src/mscorlib/src/System/Globalization/IdnMapping.cs b/src/mscorlib/src/System/Globalization/IdnMapping.cs index fbbd4d0943..4107cc1717 100644 --- a/src/mscorlib/src/System/Globalization/IdnMapping.cs +++ b/src/mscorlib/src/System/Globalization/IdnMapping.cs @@ -24,6 +24,38 @@ // RFC 3491 - Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN) // RFC 3492 - Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA) // + +/* + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +*/ + namespace System.Globalization { using System; diff --git a/src/mscorlib/src/System/Random.cs b/src/mscorlib/src/System/Random.cs index ef88431e4a..59eb48cedc 100644 --- a/src/mscorlib/src/System/Random.cs +++ b/src/mscorlib/src/System/Random.cs @@ -55,7 +55,6 @@ namespace System { int mj, mk; //Initialize our Seed array. - //This algorithm comes from Numerical Recipes in C (2nd Ed.) int subtraction = (Seed == Int32.MinValue) ? Int32.MaxValue : Math.Abs(Seed); mj = MSEED - subtraction; SeedArray[55]=mj; diff --git a/src/utilcode/guidfromname.cpp b/src/utilcode/guidfromname.cpp index dad72b5f84..d789b2b39a 100644 --- a/src/utilcode/guidfromname.cpp +++ b/src/utilcode/guidfromname.cpp @@ -3,46 +3,73 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. // - // GuidFromName -// Algorithm from Internet Draft document "UUIDs and GUIDs" -// By Paul J. Leach and Rich Sals, February 4, 1998. - -// This function has been adapted from the routines in the document -// uuid_create_from_name and format_uuid_v3 - -// Changes from documented routines: -// 1. Changed all instances of uuid_t to GUID. -// uuid_t field time_low is GUID field Data1. -// uuid_t field time_mid is GUID field Data2. -// uuid_t field time_hi_and_version is GUID field Data3. -// uuid_t field clock_seq_hi_and_reserved is GUID field Data4[0]. -// uuid_t field clock_seq_low is GUID field Data4[1]. -// uuid_t field node[6] is GUID field Data4[2] through Data4[8]. -// -// 2. Use a c++ implementation of the md5 cryptographic hash function. -// -// 3. Implemented the htonl, htons, ntohl, ntohs socket routines as inlines. -// -// 4. Renamed variables and types to suit my biases. - -/* -** Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -** Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -** Digital Equipment Corporation, Maynard, Mass. -** To anyone who acknowledges that this file is provided "AS IS" -** without any express or implied warranty: permission to use, copy, -** modify, and distribute this file for any purpose is hereby -** granted without fee, provided that the above copyright notices and -** this notice appears in all source code copies, and that none of -** the names of Open Software Foundation, Inc., Hewlett-Packard -** Company, or Digital Equipment Corporation be used in advertising -** or publicity pertaining to distribution of the software without -** specific, written prior permission. Neither Open Software -** Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment -** Corporation makes any representations about the suitability of -** this software for any purpose. +/** + +Algorithm from Internet Draft document "UUIDs and GUIDs" +By Paul J. Leach and Rich Sals, February 4, 1998. + +This function has been adapted from the routines in the document + uuid_create_from_name and format_uuid_v3 + +Changes from documented routines: +1. Changed all instances of uuid_t to GUID. + uuid_t field time_low is GUID field Data1. + uuid_t field time_mid is GUID field Data2. + uuid_t field time_hi_and_version is GUID field Data3. + uuid_t field clock_seq_hi_and_reserved is GUID field Data4[0]. + uuid_t field clock_seq_low is GUID field Data4[1]. + uuid_t field node[6] is GUID field Data4[2] through Data4[8]. + +2. Use a c++ implementation of the md5 cryptographic hash function. + +3. Implemented the htonl, htons, ntohl, ntohs socket routines as inlines. + +4. Renamed variables and types to suit my biases. + + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + */ #include "stdafx.h" |