/usr/share/axiom-20170501/src/algebra/FCOMP.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | )abbrev domain FCOMP FourierComponent
++ Author: James Davenport
++ Date Created: 17 April 1992
++ Date Last Updated: 12 June 1992
++ Description:
++ This domain creates kernels for use in Fourier series
FourierComponent(E) : SIG == CODE where
E : OrderedSet
SIG ==> OrderedSet with
sin : E -> $
++ sin(x) makes a sin kernel for use in Fourier series
cos : E -> $
++ cos(x) makes a cos kernel for use in Fourier series
sin? : $ -> Boolean
++ sin?(x) returns true if term is a sin, otherwise false
argument : $ -> E
++ argument(x) returns the argument of a given sin/cos expressions
CODE ==> add
--representations
Rep:=Record(SinIfTrue:Boolean, arg:E)
e:E
x,y:$
sin e == [true,e]
cos e == [false,e]
sin? x == x.SinIfTrue
argument x == x.arg
coerce(x):OutputForm ==
hconcat((if x.SinIfTrue then "sin" else "cos")::OutputForm,
bracket((x.arg)::OutputForm))
x<y ==
x.arg < y.arg => true
y.arg < x.arg => false
x.SinIfTrue => false
y.SinIfTrue
|