From The MPEG-4 Structured Audio Book by John Lazzaro and John Wawrzynek.

Part V/3: The Slib Library

Sections

Library Opcodes

tan   sinh   cosh   tanh   asinh   acosh   atanh  

Commonly-Used Constants

PI   CPS_MIDDLEC   NONE   MIDI_SCALE  

Introduction

Good libraries make the process of writing software easier. It also makes the job of maintaining completed programs easier, especially when the maintainer is not the original author.

Slib is a SAOL library, distributed with sfront, that provides low-level support utilities to the SAOL programmer. The primary goal of Slib is to replace hard-coded constants and repetitive code fragments with easy-to-understand symbols and opcodes.

 

Using Slib

The remaining sections of this chapter describe Slib features. The right panel of each section begins with the include statement that should be placed at the top of a SAOL file that uses the feature.

For example, to use Slib's trigonometric functions in a program, add:

#include <Slib/trig.hs>

to the top of the program file. For this method to work, sfront needs to be properly configured to see its library directory, as described on the right panel.

Sfront Library Paths

Sfront currently pre-processes SAOL 
and SASL source files before parsing
them, if the platform has gcc 
available. To do so, use the:

sfront -gcc -cpp

options. In addition sfront needs to 
know the absolute path of the 
sfront/lib directory. This can be 
done via the command line using 
the -Is option; for example, for
my own setup:

sfront -gcc -cpp -Is /opt/sfront/lib

Alternatively, you can set the 
environment variable 
SFRONT_INCLUDE_PATH to the string
/opt/sfront/lib. 

By default, sfront searches the
/usr/lib/sfront directory, which
is where the Debian and Redhat
package distributions put Slib.

See this partopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopicspartopics