annotate src/libsst.h @ 5253:b6a398dbb403

Fewer algorithmic complexity surprises, nicer errors, mapcarX(), maplist() src/ChangeLog addition: 2010-09-01 Aidan Kehoe <kehoea@parhasard.net> * fns.c (list_merge, list_array_merge_into_list) (list_array_merge_into_array): Avoid algorithmic complexity surprises when checking for circularity in these functions. (Freduce): Fix some formatting, in passing. (mapcarX): Drop the SOME_OR_EVERY argument to this function; instead, take CALLER, a symbol reflecting the Lisp-visible function that called mapcarX(). Use CALLER with mapping_interaction_error() when sequences are modified illegally. Don't cons with #'some, #'every, not even a little. (Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap) (Fmap_into, Fsome, Fevery): Call mapcarX() with its new arguments. (Fmapcan): Don't unnecessarily complicate the nconc call. (maplist): Take CALLER, a symbol reflecting the Lisp-visible function that called maplist(), rather than having separate arguments to indicate mapl vs. mapcon. Avoid algorithmic complexity surprises when checking for circularity. In #'mapcon, check a given stretch of result for well-formedness once, which was not previously the case, despite what the comments said. (Fmaplist, Fmapl, Fmapcon): Call maplist() with its new arguments.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 01 Sep 2010 12:51:32 +0100
parents aa5ed11f473b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 /* libsst.h - include file for SPARC sound tools library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 **
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ** Copyright (C) 1989 by Jef Poskanzer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 **
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 ** Permission to use, copy, modify, and distribute this software and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 ** documentation for any purpose and without fee is hereby granted, provided
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ** that the above copyright notice appear in all copies and that both that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ** copyright notice and this permission notice appear in supporting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 ** documentation. This software is provided "as is" without express or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 ** implied warranty.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 /* Synched up with: Not in FSF. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
563
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 398
diff changeset
15 /* This file Mule-ized by Ben Wing, 5-15-01. */
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 398
diff changeset
16
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 0
diff changeset
17 #ifndef INCLUDED_libsst_h_
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 0
diff changeset
18 #define INCLUDED_libsst_h_
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 0
diff changeset
19
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 #include <sys/ioctl.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 #define AUDIO_4_0_3_COMPAT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 #define AUDIO_CHIP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 #define AMD_CHIP /* SparcStation 1, 2, IPC, and IPX */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 #include <sbusdev/audio_79C30.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 #include <multimedia/libaudio.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 #include <multimedia/audio_device.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 #include <sun/audioio.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 #define SAMPLES_PER_SECOND 8192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 int sst_open( );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 void sst_close( /* int fd */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 void sst_set_ger( /* int fd, value */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 void sst_set_gr( /* int fd, value */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 void sst_set_gx( /* int fd, value */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 void sst_tones( /* int fd, dhz1, dhz2, thz, rhz, usec */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 void sst_dtmf( /* int fd, char *dial, int usecper, usecpause */ );
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 0
diff changeset
41 #endif /* INCLUDED_libsst_h_ */