/*
 *    Copyright (c) Yaron Keren 1994-1996. All rights reserved.
 */
#include "file_23.h"
#include "file_7.h"
#include "file_11.h"
#include <assert.h>
Mr::Mr(M& l_57) : data(l_57) {
indexed=l_310;
}
Mr::Mr(M& l_57, const M& index) : data(l_57), idxr(index) {
indexed=l_311;
}
Mr::Mr(M& l_57, const M& l_285, const M& l_284) : data(l_57), idxr(l_285), idxc(l_284) {
indexed=l_312;
}
Mr::~Mr() {
assert(indexed!=-1);
indexed=-1;
}
void Mr::operator =(double val) {
(*this)=(M)(val);
}
void Mr::operator =(const M& l_57) {
switch (indexed) {
case l_310: 	data=l_57;
break;
case l_311: 	data.vwcopy(l_57,idxr);
break;
case l_312:	data.vwcopy(l_57,idxr,idxc);
break;
default:		error("\115\050\115\051\075\115\072 \151nterna\154 err\157r\056");
}
}
void Mr::operator =(const Mr& l_57) {
(*this)=(M)(l_57);
}
