Example #1
0
        CellMatrix::CellMatrix(const MyArray& data):pimpl(new defaultCellMatrixImpl(data.size(),1))
		{
			for(size_t i(0); i < data.size(); ++i)
			{
				(*pimpl)(i,0) = data[i];
			}
		}
Example #2
0
void Test1_1()
{
	const int size(20);

	MyArray<int, size> array;
	array.fill(4); 

	for (size_t i = 0; i < array.size(); i++)
	{
		cout << " In array at element: " << i << " is value: " << array[i] << endl;

		array[i] = i;

		cout << " In array at element: " << i << " is value: " << array[i] << endl;

	}

	auto* ptr = array.begin();
	while (ptr != array.end())
	{
		cout << "value: " << (*ptr) << endl;
		*ptr = 5;
		ptr++;
	}
}
// The Loop Convert Transform doesn't detect free functions begin()/end() and
// so fails to transform these cases which it should.
void f() {
  MyArray Arr;
  for (unsigned i = 0, e = Arr.size(); i < e; ++i) {
  }

  MyContainer<int> C;
  for (int *I = begin(C), *E = end(C); I != E; ++I) {
  }
}
// The Loop Convert Transform doesn't detect free functions begin()/end() and
// so fails to transform these cases which it should.
void f() {
  MyArray Arr;
  for (unsigned I = 0, E = Arr.size(); I < E; ++I) {
  }

  MyContainer<int> C;
  for (int *I = begin(C), *E = end(C); I != E; ++I) {
  }
}
// The Loop Convert Transform doesn't detect free functions begin()/end() and
// so fails to transform these cases which it should.
void f() {
  MyArray Arr;
  for (unsigned i = 0, e = Arr.size(); i < e; ++i) {}
  // CHECK: for (auto & elem : Arr) {}

  MyContainer<int> C;
  for (int *I = begin(C), *E = end(C); I != E; ++I) {}
  // CHECK: for (auto & elem : C) {}
}
Example #6
0
MyArray
Stats(const MyArray& data       )
{
    double total=0.0;
    double totalsq=0.0;

    if (data.size() < 2)
        THROW_XLW("At least data points are needed");

    for (unsigned long i=0; i < data.size(); i++)
    {
        total+=data[i];
        totalsq+=data[i]*data[i];
    }

    MyArray values(2);
    values[0] = total/data.size();
    values[1] = totalsq/data.size() - values[0] *values[0] ;

    return values;
}
Example #7
0
xlw::CellMatrix::CellMatrix(const MyArray& data) : Cells(data.size()),
    Rows(data.size()), Columns(1)
{
    for (size_t i=0; i < data.size(); ++i)
        Cells[i].push_back(CellValue(data[i]));
}
Example #8
0
CellMatrix
Schedule_GetData(MG_XLObjectPtr& aSched, const string& aData)
{
	MG_Schedule& vSched = dynamic_cast<MG_Schedule&>(*aSched);

	MyArray vArray;
	if (aData == "ResetDate")
	{
		const vector<MG_Date>& vDts = vSched.GetResetDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}
	else if (aData == "StartDate")
	{
		const vector<MG_Date>& vDts = vSched.GetIntStartDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}
	else if (aData == "EndDate")
	{
		const vector<MG_Date>& vDts = vSched.GetIntEndDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}
	else if (aData == "PayDate")
	{
		const vector<MG_Date>& vDts = vSched.GetPayDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}
	else if (aData == "InterestDays")
	{
		const vector<unsigned int>& vDays = vSched.GetIntDays();
		vArray.resize(vDays.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = vDays[i];
	}
	else if (aData == "InterestTerms")
		vArray = vSched.GetIntTerms();
	else if (aData == "FwdStartDate")
	{
		const vector<MG_Date>& vDts = vSched.GetFwdRateStartDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}
	else if (aData == "FwdEndDate")
	{
		const vector<MG_Date>& vDts = vSched.GetFwdRateEndDates();
		vArray.resize(vDts.size());
		for(size_t i=0; i<vArray.size(); ++i)
			vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay());
	}

	CellMatrix vInfos(vArray);
	return vInfos;
}