package
{
import org.maths.CFraction;
import org.maths.Fraction;
public class TangleFraction extends CFraction
{
public var lag:CFraction;
function TangleFraction() {
super();
lag = new CFraction();
lag.parts = [new Fraction(0,1)];
}
/**
*
*/
public function lagrange():void {
lag.simplify();
lag.notifyChange();
}
public function zero():void {
sign = +1;
parts = [new Fraction(0,1)];
lag.parts = [new Fraction(0,1)];
notifyChange();
}
public function twist():void {
add(new Fraction(1,1));
lag.add(new Fraction(1,1));
notifyChange();
}
public function untwist():void {
add(new Fraction(-1,1));
lag.add(new Fraction(-1,1));
notifyChange();
}
public function turn():void {
negate();
unshift(new Fraction(0,1));
lag.negate();
lag.unshift(new Fraction(0,1));
notifyChange();
}
override public function toString():String {
return lag.toString() + " " + super.toString();
}
}
}