Beispiel #1
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++;
	}
}
Beispiel #2
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];
			}
		}
// 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) {}
}
// 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) {
  }
}
Beispiel #6
0
void Test2_2()
{

	MyArray <string*, 10> my;

	my[5] = new std::string("Hello"); // Assuming that my is a MyArray of string pointers
	
	cout << "Looking for 'Hello '? " << (myfind(my.begin(), my.end(),string("Hello")) != my.end() ? "found" : "sry no") << endl;

}
Beispiel #7
0
void Test1_2()
{
	const int size(20);
	MyArray<double, size> my;
	my.fill(0); 

	my[3] = 3; // Assuming that 'my' has been appropriately allocated based on MyArray.
		
	cout << "Looking for '3'? " << (myfind(my.begin(), my.end(), 3) !=my.end() ? "found" : "sry no") << endl;

}
Beispiel #8
0
void Test2_1()
{
	MyArray <string*, 10> myStrings; // Array based on 'int'

	myStrings[0] = new string("Test at 0");
	myStrings[2] = new string("Test at 2");

	auto* ptr = myStrings.begin();
	while (ptr != myStrings.end())
	{
		if (nullptr != *ptr)
			cout << "value: " << (*(*ptr)).c_str() << endl;
		ptr++;
	}

}
static void Foo_2(MyArray & array, MyArray const & constArray) {
	// Get a reference to an array element
	// and modify its referenced value.

	array.Get(5) = 42; // OK! (Calls: int & MyArray::Get(int))
	// constArray.Get(5) = 42; // Error! (Calls: int const & MyArray::Get(int) const)
}
int   main(){
    MyArray<Emp>   emps;
    Emp    emp={"zhangsan",23};
    Emp    emp2={"zhouxingxing",50};
    emps.push_back(emp );
    emps.push_back(emp2);
    
    cout<<*emps.begin()<<endl;
    cout<<emps.begin()->name<<endl;
    cout<<*++emps.begin()<<endl;
    cout<<(++emps.begin())->name<<endl;
    /*MyArray<int>   datas;
    datas.push_back(199);
    datas.push_back(300);
    MyArray<int>::iterator  it;
    it=datas.begin();
    cout<<*it<<endl;*/
}
Beispiel #11
0
void Test1_4()
{
	MyArray <int, 10> myInt; // Array based on 'int'
	MyArray <double, 5 > myDouble; // Array based on 'double'

	myInt.fill(5);
	
	myDouble = myInt; // From an intuitive perspective this should work ,since ints can implicitly be converted to doubles.
	MyArray <int, 10> myInt2(myDouble);

	auto* ptr = myInt2.begin();
	while (ptr != myInt2.end())
	{
		cout << "value: " << (*ptr) << endl;
		*ptr = 5;
		ptr++;
	}


}
Beispiel #12
0
void Test3_1()
{
	const int size(5);
	MyArray<int, size> my;
	my.fill(3);

	auto p = myAccumalation(my);
	cout << "the accumalation is: " << p << endl;

	vector<int> myvector; 
	for (size_t i = 0; i < 5; i++)
	{
		myvector.push_back(3); 
	}
	
	auto i = myAccumalation(myvector);
	cout << "the accumalation is: " << i << endl;


}
Beispiel #13
0
int main( )
{
	// Part C.
	// 1) declare a MyArray object called arr
	// 2) use your Add method to add the numbers: 1.2, 3.4, 5.6, 7.8
	// 3) call the print method to print the array

	MyArray arr;

	arr.add(1.2);
	arr.add(3.4);
	arr.add(5.6);
	arr.add(7.8);

	arr.print();


	system( "pause");
	
	return 0; 
}
Beispiel #14
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;
}
Beispiel #15
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;
}
Beispiel #16
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]));
}
int main()
{
    MyArray<int, 4, 434> arr;
    arr.display();
}