chebfun/chebfun — pull request #1170 by Hadrien-Montanelli (2014-09-22 11:10:17+00:00)
Title: Allow operations between FOURTECH and CHEBTECH.

This branch allows operations `+,-,*,/` between chebfuns based on `fourtech` and chebfuns based on `chebtech`.
Following a suggestion of @aaustin141, I've added two abstract classes `nonPeriodicTech` and `periodicTech`, both being subclasses of `smoothfun`. A `periodicTech` is a representation of a smooth function on [-1,1] using a basis of periodic functions, while a `nonPeriodicTech` uses a basis of nonperiodic functions.
A `nonPeriodicTech` can indeed represent a periodic smooth function.
The class diagram is now:

```
[<>] <-- [<>] <-- [FOURTECH]
<-- [<>] <-- [<>] <-- [CHEBTECH1]
<-- [CHEBTECH2]
```

When doing one of the operations `+,-,*,/` between a `nonPeriodicTech` and a `periodicTech`, the result is automatically a `nonPeriodicTech`.