(C++) HelloBoostUblasQtCreatorSliTaz

January 10, 2018 · View on GitHub

BoostQt
CreatorSliTaz

 

Hello Boost.uBLAS using Qt Creator under SliTaz is a Hello Boost.uBLAS program.

 

Technical facts

 

Operating system(s) or programming environment(s)

IDE(s):

Project type:

C++ standard:

Compiler(s):

Libraries used:

  • STL STL: GNU ISO C++ Library, version 4.9.2

 

 

 

 

 

Qt project file: ./CppHelloBoostUblasQtCreatorSliTaz/CppHelloBoostUblasQtCreatorSliTaz.pro

 


include(../../ConsoleApplication.pri) #Or use the code below # QT += core # QT += gui # greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # CONFIG   += console # CONFIG   -= app_bundle # TEMPLATE = app # CONFIG(release, debug|release) { #   DEFINES += NDEBUG NTRACE_BILDERBIKKEL # } # QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -Weffc++ # unix { #   QMAKE_CXXFLAGS += -Werror # } include(../../Libraries/Boost.pri) #Or use the code below # win32 { #   INCLUDEPATH += \ #     ../../Libraries/boost_1_54_0 # } SOURCES += main.cpp

 

 

 

 

 

./CppHelloBoostUblasQtCreatorSliTaz/main.cpp

 


#include <iostream> #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> #pragma GCC diagnostic pop int main() {   const int n_cols = 2;   const int n_rows = 3;   {     boost::numeric::ublas::matrix<int> m(n_rows,n_cols);     assert(n_rows == static_cast<int>(m.size1()));     assert(n_cols == static_cast<int>(m.size2()));     for (int y = 0; y != n_rows; ++y)     {       for (int x = 0; x != n_cols; ++x)       {         m(y,x) = (y * 10) + x;       }     }     std::cout << m << std::endl;     assert(m(0,0) ==  0); assert(m(0,1) ==  1);     assert(m(1,0) == 10); assert(m(1,1) == 11);     assert(m(2,0) == 20); assert(m(2,1) == 21);   }   {     boost::numeric::ublas::matrix<int,boost::numeric::ublas::column_major> m(n_cols,n_rows);     assert(n_cols == static_cast<int>(m.size1()));     assert(n_rows == static_cast<int>(m.size2()));     for (int x = 0; x != n_cols; ++x)     {       for (int y = 0; y != n_rows; ++y)       {         m(x,y) = (y * 10) + x;       }     }     std::cout << m << std::endl;     assert(m(0,0) ==  0); assert(m(1,0) ==  1);     assert(m(0,1) == 10); assert(m(1,1) == 11);     assert(m(0,2) == 20); assert(m(1,2) == 21);   } } /* [3,2]((0,1),(10,11),(20,21)) [2,3]((0,10,20),(1,11,21)) */

 

 

 

 

 

./CppHelloBoostUblasQtCreatorSliTaz/CppHelloBoostUblasQtCreatorSliTaz.sh

 


#!/bin/bash myfile="qmake" mytarget="CppHelloBoostUblasQtCreatorSliTaz" myprofile=$mytarget.pro if [ -e $myfile ] then   echo "Compiler '$myfile' found" else   echo "Compiler '$myfile' not found directly"   #exit fi if [ -e $myprofile ] then   echo "Qt Creator project '$myprofile' found" else   echo "Qt Creator project '$myprofile' not found"   exit fi echo "1/2: Creating makefile" $myfile $myprofile if [ -e Makefile ] then   echo "Makefile created successfully" else   echo "FAIL: $myfile $myprofile"   exit fi echo "2/2: Making makefile" make if [ -e $mytarget ] then   echo "SUCCESS" else   echo "FAIL" fi #Cleaning up rm *.o rm Makefile rm $mytarget