Mega Code Archive

 
Categories / C++ / Valarray
 

Manipulate the value in a valarray

/* The following code example is taken from the book  * "The C++ Standard Library - A Tutorial and Reference"  * by Nicolai M. Josuttis, Addison-Wesley, 1999  *  * (C) Copyright Nicolai M. Josuttis 1999.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> #include <valarray> using namespace std; // print valarray template <class T> void printValarray (const valarray<T>& va) {     for (int i=0; i<va.size(); i++) {         cout << va[i] << ' ';     }     cout << endl; } int main() {     // create and initialize valarray with nine elements     valarray<double> va(9);     for (int i=0; i<va.size(); i++) {         va[i] = i * 1.1;     }     // print valarray     printValarray(va);     // double values in the valarray     va *= 2.0;     // print valarray again     printValarray(va);     // create second valarray initialized by the values of the first plus 10     valarray<double> vb(va+10.0);     // print second valarray     printValarray(vb);     // create third valarray as a result of processing both existing valarrays     valarray<double> vc;     vc = sqrt(va) + vb/2.0 - 1.0;          // print third valarray     printValarray(vc); } /*  0 1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 0 2.2 4.4 6.6 8.8 11 13.2 15.4 17.6 10 12.2 14.4 16.6 18.8 21 23.2 25.4 27.6  */