valvector_ctor.cpp

View page source

Example and Test of valvector Constructors

# include <cppad/example/valvector/class.hpp>
//
bool ctor(void)
{   // scalar_type
    typedef valvector::scalar_type scalar_type;
    //
    // ok
    bool ok = true;
    //
    // ok
    valvector default_ctor;
    ok &= default_ctor.size() == 1;
    //
    // ok
    valvector scalar_ctor( scalar_type(1) );
    ok &= scalar_ctor.size() == 1;
    ok &= scalar_ctor[0] == scalar_type(1);
    //
    // ok
    valvector int_ctor( int(1) );
    ok &= int_ctor.size() == 1;
    ok &= int_ctor[0] == scalar_type(1);
    //
    // ok
    valvector long_int_ctor( (long int)(2) );
    ok &= long_int_ctor.size() == 1;
    ok &= long_int_ctor[0] == scalar_type(2);
    //
    // ok
    valvector double_ctor( double(3) );
    ok &= double_ctor.size() == 1;
    ok &= double_ctor[0] == scalar_type(3);
    //
    // ok
    valvector long_double_ctor( (long double)(4) );
    ok &= long_double_ctor.size() == 1;
    ok &= long_double_ctor[0] == scalar_type(4);
    //
    // ok
    valvector size_t_ctor( size_t(5) );
    ok &= size_t_ctor.size() == 1;
    ok &= size_t_ctor[0] == scalar_type(5);
    //
    // ok
    // Test implicit conversion of list elements to scalar_type
    valvector list_ctor( { 6, 7.0 } );
    ok &= list_ctor.size() == 2;
    ok &= list_ctor[0] == scalar_type(6);
    ok &= list_ctor[1] == scalar_type(7);
    //
    return ok;
}