Coder Social home page Coder Social logo

Comments (1)

abgandar avatar abgandar commented on May 27, 2024

Indeed DA objects can be read from a stream using the stream extraction operator >>. For example:

#include "DA/dace.h"
#include <fstream>

using namespace std;
using namespace DACE;

int main( void )
{   
    DA::init( 20, 1 );
    DA x = DA::random(1.0);
    DA y = sin(x);

    // output x and y to file
    ofstream os("test.dat", ofstream::binary);	// Windows requires binary flag if this stream is used to write binary DA representations ("stored DAs")
    os << x             // output DA x as a human readable ASCII representation
       << storedDA(y);  // and DA y as a compact binary representation
    os.close();

    // read values back
    DA xx, yy;
    ifstream is("test.dat", ifstream::binary);	// same here: Windows needs to be told explicitly about binary files
    is >> xx >> yy; // same stream extraction operator handles both binary and ASCII for reading
    is.close();

    // show differences
    cout << "Difference between x and read value:\n" << x-xx << endl;
    cout << "Difference between y and read value:\n" << y-yy << endl;    
}

Note the two ways of writing a DA: human readable and binary (a "stored DA"). Binary is lossless and smaller, but not readable except using the DACE library. ASCII is human readable but potentially lossy due to conversion between binary and decimal representation.
The same read operation can read either one from a file.

When reading multiple DAs, any additional output you write to the file between two DAs (e.g. empty lines to separate text output) will cause the library to fail reading back DAs unless you also consume (=read or skip over) the extra output before trying to read another DA.

from dace.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.