mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-10 00:11:11 +00:00
src/libespeak-ng: Replace ieee80.c by a free software implementation
https://github.com/espeak-ng/espeak-ng/issues/1072 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
This commit is contained in:
@@ -23,6 +23,7 @@ The espeak-ng project is a fork of the espeak project.
|
||||
Use cmn-latn-pinyin for interpreting latin characters as pinyin
|
||||
* Update list of voice varants for Android application
|
||||
* Add Chromium extension (guest271314)
|
||||
* Replace `ieee80.c` by a free software implementation (Ulrich Müller)
|
||||
|
||||
bug fixes:
|
||||
* Fix reading malformed SSML (Christopher Brannon)
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
Source: http://www.realitypixels.com/turk/opensource/
|
||||
|
||||
Open Source Repository
|
||||
|
||||
courtesy of
|
||||
Ken Turkowski
|
||||
|
||||
The source code available from this page may be freely downloaded and used in
|
||||
any applications for any purpose, as long as the code is used in its entirety
|
||||
and the copyright notice and warranty information is retained.
|
||||
|
||||
If you make any improvements to this software, you should provide me with said
|
||||
improvements.
|
||||
|
||||
If any of this code is incorporated into a commercial product, you should
|
||||
notify me of this by email, and provide me with a complimentary copy of said
|
||||
product. :-)
|
||||
+1
-3
@@ -15,11 +15,9 @@ SHARED_VERSION=2:51:1 # = *.so.1.1.51
|
||||
|
||||
MKDIR=mkdir -p
|
||||
|
||||
# -Wno-endif-labels : Needed to prevent warnings in ieee80.c.
|
||||
AM_CFLAGS = \
|
||||
-Isrc/include -Isrc/include/compat -I$(srcdir)/src/speechPlayer/include -I$(srcdir)/src/ucd-tools/src/include \
|
||||
-D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L \
|
||||
-Wno-endif-labels
|
||||
-D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L
|
||||
|
||||
EXTRA_DIST=
|
||||
CLEANFILES = dictsource/ru_listx dictsource/cmn_listx dictsource/yue_listx
|
||||
|
||||
@@ -130,13 +130,6 @@ the 1.24.02 source commit.
|
||||
eSpeak NG Text-to-Speech is released under the [GPL version 3](COPYING) or
|
||||
later license.
|
||||
|
||||
The `ieee80.c` implementation is taken directly from
|
||||
[ToFromIEEE.c.txt](http://www.realitypixels.com/turk/opensource/ToFromIEEE.c.txt)
|
||||
which has been made available for use in Open Source applications per the
|
||||
[license statement](COPYING.IEEE) on http://www.realitypixels.com/turk/opensource/.
|
||||
The only modifications made to the code is to comment out the `TEST_FP` define
|
||||
to make it useable in the eSpeak NG library, and to fix compiler warnings.
|
||||
|
||||
The `getopt.c` compatibility implementation for getopt support on Windows is
|
||||
taken from the NetBSD `getopt_long` implementation, which is licensed under a
|
||||
[2-clause BSD](COPYING.BSD2) license.
|
||||
|
||||
+57
-959
File diff suppressed because it is too large
Load Diff
@@ -1,63 +1 @@
|
||||
/* Copyright (C) 1989-1991 Apple Computer, Inc.
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* Warranty Information
|
||||
* Even though Apple has reviewed this software, Apple makes no warranty
|
||||
* or representation, either express or implied, with respect to this
|
||||
* software, its quality, accuracy, merchantability, or fitness for a
|
||||
* particular purpose. As a result, this software is provided "as is,"
|
||||
* and you, its user, are assuming the entire risk as to its quality
|
||||
* and accuracy.
|
||||
*
|
||||
* This code may be used and freely distributed as long as it includes
|
||||
* this copyright notice and the above warranty information.
|
||||
*
|
||||
* Machine-independent I/O routines for IEEE floating-point numbers.
|
||||
*
|
||||
* NaN's and infinities are converted to HUGE_VAL or HUGE, which
|
||||
* happens to be infinity on IEEE machines. Unfortunately, it is
|
||||
* impossible to preserve NaN's in a machine-independent way.
|
||||
* Infinities are, however, preserved on IEEE machines.
|
||||
*
|
||||
* These routines have been tested on the following machines:
|
||||
* Apple Macintosh, MPW 3.1 C compiler
|
||||
* Apple Macintosh, THINK C compiler
|
||||
* Silicon Graphics IRIS, MIPS compiler
|
||||
* Cray X/MP and Y/MP
|
||||
* Digital Equipment VAX
|
||||
* Sequent Balance (Multiprocesor 386)
|
||||
* NeXT
|
||||
*
|
||||
*
|
||||
* Implemented by Malcolm Slaney and Ken Turkowski.
|
||||
*
|
||||
* Malcolm Slaney contributions during 1988-1990 include big- and little-
|
||||
* endian file I/O, conversion to and from Motorola's extended 80-bit
|
||||
* floating-point format, and conversions to and from IEEE single-
|
||||
* precision floating-point format.
|
||||
*
|
||||
* In 1991, Ken Turkowski implemented the conversions to and from
|
||||
* IEEE double-precision format, added more precision to the extended
|
||||
* conversions, and accommodated conversions involving +/- infinity,
|
||||
* NaN's, and denormalized numbers.
|
||||
*/
|
||||
|
||||
#ifndef IEEE_H
|
||||
#define IEEE_H
|
||||
|
||||
#ifndef applec
|
||||
typedef double defdouble;
|
||||
#else applec
|
||||
typedef long double defdouble;
|
||||
#endif applec
|
||||
|
||||
defdouble ConvertFromIeeeSingle( char *bytes);
|
||||
defdouble ConvertFromIeeeDouble( char *bytes);
|
||||
defdouble ConvertFromIeeeExtended(char *bytes);
|
||||
|
||||
void ConvertToIeeeSingle( defdouble num, char *bytes);
|
||||
void ConvertToIeeeDouble( defdouble num, char *bytes);
|
||||
void ConvertToIeeeExtended(defdouble num, char *bytes);
|
||||
|
||||
#endif
|
||||
double ieee_extended_to_double(const unsigned char *);
|
||||
|
||||
@@ -49,7 +49,7 @@ static double read_double(FILE *stream)
|
||||
{
|
||||
unsigned char bytes[10];
|
||||
fread(bytes, sizeof(char), 10, stream);
|
||||
return ConvertFromIeeeExtended((char *)bytes);
|
||||
return ieee_extended_to_double(bytes);
|
||||
}
|
||||
|
||||
float polint(float xa[], float ya[], int n, float x)
|
||||
|
||||
Reference in New Issue
Block a user