/[escript]/trunk/escript/src/Data.h
ViewVC logotype

Diff of /trunk/escript/src/Data.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 756 by bcumming, Mon Jun 26 01:46:34 2006 UTC revision 757 by woo409, Mon Jun 26 13:12:56 2006 UTC
# Line 15  Line 15 
15    
16  #ifndef DATA_H  #ifndef DATA_H
17  #define DATA_H  #define DATA_H
18    #include "system_dep.h"
19    
20  #include "DataAbstract.h"  #include "DataAbstract.h"
21  #include "DataAlgorithm.h"  #include "DataAlgorithm.h"
# Line 25  Line 26 
26    
27  extern "C" {  extern "C" {
28  #include "DataC.h"  #include "DataC.h"
29  #include "./paso/Paso.h"  #include "paso/Paso.h"
30  }  }
31    
32  #include <string>  #include <string>
# Line 74  class Data { Line 75  class Data {
75       Default constructor.       Default constructor.
76       Creates a DataEmpty object.       Creates a DataEmpty object.
77    */    */
78      ESCRIPT_DLL_API
79    Data();    Data();
80    
81    /**    /**
# Line 81  class Data { Line 83  class Data {
83       Copy constructor.       Copy constructor.
84       WARNING: Only performs a shallow copy.       WARNING: Only performs a shallow copy.
85    */    */
86      ESCRIPT_DLL_API
87    Data(const Data& inData);    Data(const Data& inData);
88    
89    /**    /**
# Line 89  class Data { Line 92  class Data {
92       function space of inData the inData are tried to be interpolated to what,       function space of inData the inData are tried to be interpolated to what,
93       otherwise a shallow copy of inData is returned.       otherwise a shallow copy of inData is returned.
94    */    */
95      ESCRIPT_DLL_API
96    Data(const Data& inData,    Data(const Data& inData,
97         const FunctionSpace& what);         const FunctionSpace& what);
98    
# Line 102  class Data { Line 106  class Data {
106                         the value. Otherwise a more efficient storage                         the value. Otherwise a more efficient storage
107                         mechanism will be used.                         mechanism will be used.
108    */    */
109      ESCRIPT_DLL_API
110    Data(const DataArrayView& value,    Data(const DataArrayView& value,
111         const FunctionSpace& what=FunctionSpace(),         const FunctionSpace& what=FunctionSpace(),
112         bool expanded=false);         bool expanded=false);
# Line 117  class Data { Line 122  class Data {
122                         the given value. Otherwise a more efficient storage                         the given value. Otherwise a more efficient storage
123                         mechanism will be used.                         mechanism will be used.
124    */    */
125      ESCRIPT_DLL_API
126    Data(double value,    Data(double value,
127         const DataArrayView::ShapeType& dataPointShape=DataArrayView::ShapeType(),         const DataArrayView::ShapeType& dataPointShape=DataArrayView::ShapeType(),
128         const FunctionSpace& what=FunctionSpace(),         const FunctionSpace& what=FunctionSpace(),
# Line 129  class Data { Line 135  class Data {
135       \param inData - Input - Input Data object.       \param inData - Input - Input Data object.
136       \param region - Input - Region to copy.       \param region - Input - Region to copy.
137    */    */
138      ESCRIPT_DLL_API
139    Data(const Data& inData,    Data(const Data& inData,
140         const DataArrayView::RegionType& region);         const DataArrayView::RegionType& region);
141    
# Line 146  class Data { Line 153  class Data {
153                         the appropriate values.                         the appropriate values.
154      ==>*      ==>*
155    */    */
156      ESCRIPT_DLL_API
157    Data(const DataTagged::TagListType& tagKeys,    Data(const DataTagged::TagListType& tagKeys,
158         const DataTagged::ValueListType& values,         const DataTagged::ValueListType& values,
159         const DataArrayView& defaultValue,         const DataArrayView& defaultValue,
# Line 162  class Data { Line 170  class Data {
170                         the value. Otherwise a more efficient storage                         the value. Otherwise a more efficient storage
171                         mechanism will be used.                         mechanism will be used.
172    */    */
173      ESCRIPT_DLL_API
174    Data(const boost::python::numeric::array& value,    Data(const boost::python::numeric::array& value,
175         const FunctionSpace& what=FunctionSpace(),         const FunctionSpace& what=FunctionSpace(),
176         bool expanded=false);         bool expanded=false);
# Line 177  class Data { Line 186  class Data {
186                         the value. Otherwise a more efficient storage                         the value. Otherwise a more efficient storage
187                         mechanism will be used.                         mechanism will be used.
188    */    */
189      ESCRIPT_DLL_API
190    Data(const boost::python::object& value,    Data(const boost::python::object& value,
191         const FunctionSpace& what=FunctionSpace(),         const FunctionSpace& what=FunctionSpace(),
192         bool expanded=false);         bool expanded=false);
# Line 190  class Data { Line 200  class Data {
200       \param value - Input - Input data.       \param value - Input - Input data.
201       \param other - Input - contains all other parameters.       \param other - Input - contains all other parameters.
202    */    */
203      ESCRIPT_DLL_API
204    Data(const boost::python::object& value,    Data(const boost::python::object& value,
205         const Data& other);         const Data& other);
206    
# Line 197  class Data { Line 208  class Data {
208       \brief       \brief
209       Constructor which creates a DataConstant of "shape" with constant value.       Constructor which creates a DataConstant of "shape" with constant value.
210    */    */
211      ESCRIPT_DLL_API
212    Data(double value,    Data(double value,
213         const boost::python::tuple& shape=boost::python::make_tuple(),         const boost::python::tuple& shape=boost::python::make_tuple(),
214         const FunctionSpace& what=FunctionSpace(),         const FunctionSpace& what=FunctionSpace(),
# Line 205  class Data { Line 217  class Data {
217       \brief       \brief
218       Destructor       Destructor
219    */    */
220      ESCRIPT_DLL_API
221    ~Data();    ~Data();
222    
223    /**    /**
224       \brief       \brief
225       Perform a deep copy.       Perform a deep copy.
226    */    */
227      ESCRIPT_DLL_API
228    void    void
229    copy(const Data& other);    copy(const Data& other);
230    
# Line 222  class Data { Line 236  class Data {
236       \brief       \brief
237       Return the values of all data-points as a single python numarray object.       Return the values of all data-points as a single python numarray object.
238    */    */
239      ESCRIPT_DLL_API
240    const boost::python::numeric::array    const boost::python::numeric::array
241    convertToNumArray();    convertToNumArray();
242    
# Line 229  class Data { Line 244  class Data {
244       \brief       \brief
245       Return the values of all data-points for the given sample as a single python numarray object.       Return the values of all data-points for the given sample as a single python numarray object.
246    */    */
247      ESCRIPT_DLL_API
248    const boost::python::numeric::array    const boost::python::numeric::array
249    convertToNumArrayFromSampleNo(int sampleNo);    convertToNumArrayFromSampleNo(int sampleNo);
250    
# Line 236  class Data { Line 252  class Data {
252       \brief       \brief
253       Return the value of the specified data-point as a single python numarray object.       Return the value of the specified data-point as a single python numarray object.
254    */    */
255      ESCRIPT_DLL_API
256    const boost::python::numeric::array    const boost::python::numeric::array
257    convertToNumArrayFromDPNo(int sampleNo,    convertToNumArrayFromDPNo(int sampleNo,
258                              int dataPointNo);                              int dataPointNo);
# Line 244  class Data { Line 261  class Data {
261       \brief       \brief
262       Fills the expanded Data object from values of a python numarray object.       Fills the expanded Data object from values of a python numarray object.
263    */    */
264      ESCRIPT_DLL_API
265    void    void
266    fillFromNumArray(const boost::python::numeric::array);    fillFromNumArray(const boost::python::numeric::array);
267    
# Line 254  class Data { Line 272  class Data {
272       The data-point number here corresponds to the data-point number in the       The data-point number here corresponds to the data-point number in the
273       numarray returned by convertToNumArray.       numarray returned by convertToNumArray.
274    */    */
275      ESCRIPT_DLL_API
276    int    int
277    getTagNumber(int dpno);    getTagNumber(int dpno);
278    
# Line 261  class Data { Line 280  class Data {
280       \brief       \brief
281       Return the C wrapper for the Data object.       Return the C wrapper for the Data object.
282    */    */
283      ESCRIPT_DLL_API
284    escriptDataC    escriptDataC
285    getDataC();    getDataC();
286    
# Line 268  class Data { Line 288  class Data {
288       \brief       \brief
289       Return the C wrapper for the Data object - const version.       Return the C wrapper for the Data object - const version.
290    */    */
291      ESCRIPT_DLL_API
292    escriptDataC    escriptDataC
293    getDataC() const;    getDataC() const;
294    
# Line 275  class Data { Line 296  class Data {
296       \brief       \brief
297       Write the data as a string.       Write the data as a string.
298    */    */
299      ESCRIPT_DLL_API
300    inline    inline
301    std::string    std::string
302    toString() const    toString() const
# Line 288  class Data { Line 310  class Data {
310       the shape information for each data point although it also may be used       the shape information for each data point although it also may be used
311       to manipulate the point data.       to manipulate the point data.
312    */    */
313      ESCRIPT_DLL_API
314    inline    inline
315    const DataArrayView&    const DataArrayView&
316    getPointDataView() const    getPointDataView() const
# Line 299  class Data { Line 322  class Data {
322       \brief       \brief
323       Whatever the current Data type make this into a DataExpanded.       Whatever the current Data type make this into a DataExpanded.
324    */    */
325      ESCRIPT_DLL_API
326    void    void
327    expand();    expand();
328    
# Line 309  class Data { Line 333  class Data {
333       Expanded data to tagged will throw an exception.       Expanded data to tagged will throw an exception.
334      ==>*      ==>*
335    */    */
336      ESCRIPT_DLL_API
337    void    void
338    tag();    tag();
339    
# Line 316  class Data { Line 341  class Data {
341       \brief       \brief
342       Return true if this Data is expanded.       Return true if this Data is expanded.
343    */    */
344      ESCRIPT_DLL_API
345    bool    bool
346    isExpanded() const;    isExpanded() const;
347    
# Line 323  class Data { Line 349  class Data {
349       \brief       \brief
350       Return true if this Data is tagged.       Return true if this Data is tagged.
351    */    */
352      ESCRIPT_DLL_API
353    bool    bool
354    isTagged() const;    isTagged() const;
355    
# Line 330  class Data { Line 357  class Data {
357       \brief       \brief
358       Return true if this Data is constant.       Return true if this Data is constant.
359    */    */
360      ESCRIPT_DLL_API
361    bool    bool
362    isConstant() const;    isConstant() const;
363    
# Line 337  class Data { Line 365  class Data {
365       \brief       \brief
366       Return true if this Data is empty.       Return true if this Data is empty.
367    */    */
368      ESCRIPT_DLL_API
369    bool    bool
370    isEmpty() const;    isEmpty() const;
371    
# Line 344  class Data { Line 373  class Data {
373       \brief       \brief
374       Return the function space.       Return the function space.
375    */    */
376      ESCRIPT_DLL_API
377    inline    inline
378    const FunctionSpace&    const FunctionSpace&
379    getFunctionSpace() const    getFunctionSpace() const
# Line 355  class Data { Line 385  class Data {
385       \brief       \brief
386       Return a copy of the function space.       Return a copy of the function space.
387    */    */
388      ESCRIPT_DLL_API
389    const FunctionSpace    const FunctionSpace
390    getCopyOfFunctionSpace() const;    getCopyOfFunctionSpace() const;
391    
# Line 362  class Data { Line 393  class Data {
393       \brief       \brief
394       Return the domain.       Return the domain.
395    */    */
396      ESCRIPT_DLL_API
397    inline    inline
398    const AbstractDomain&    const AbstractDomain&
399    getDomain() const    getDomain() const
# Line 373  class Data { Line 405  class Data {
405       \brief       \brief
406       Return a copy of the domain.       Return a copy of the domain.
407    */    */
408      ESCRIPT_DLL_API
409    const AbstractDomain    const AbstractDomain
410    getCopyOfDomain() const;    getCopyOfDomain() const;
411    
# Line 380  class Data { Line 413  class Data {
413       \brief       \brief
414       Return the rank of the point data.       Return the rank of the point data.
415    */    */
416      ESCRIPT_DLL_API
417    inline    inline
418    int    int
419    getDataPointRank() const    getDataPointRank() const
# Line 391  class Data { Line 425  class Data {
425       \brief       \brief
426       Return the number of samples.       Return the number of samples.
427    */    */
428      ESCRIPT_DLL_API
429    inline    inline
430    int    int
431    getNumSamples() const    getNumSamples() const
# Line 402  class Data { Line 437  class Data {
437       \brief       \brief
438       Return the number of data points per sample.       Return the number of data points per sample.
439    */    */
440      ESCRIPT_DLL_API
441    inline    inline
442    int    int
443    getNumDataPointsPerSample() const    getNumDataPointsPerSample() const
# Line 415  class Data { Line 451  class Data {
451       preferred interface but is provided for use by C code.       preferred interface but is provided for use by C code.
452       \param sampleNo - Input - the given sample no.       \param sampleNo - Input - the given sample no.
453    */    */
454      ESCRIPT_DLL_API
455    inline    inline
456    DataAbstract::ValueType::value_type*    DataAbstract::ValueType::value_type*
457    getSampleData(DataAbstract::ValueType::size_type sampleNo)    getSampleData(DataAbstract::ValueType::size_type sampleNo)
# Line 428  class Data { Line 465  class Data {
465       access data that isn't tagged an exception will be thrown.       access data that isn't tagged an exception will be thrown.
466       \param tag - Input - the tag key.       \param tag - Input - the tag key.
467    */    */
468      ESCRIPT_DLL_API
469    inline    inline
470    DataAbstract::ValueType::value_type*    DataAbstract::ValueType::value_type*
471    getSampleDataByTag(int tag)    getSampleDataByTag(int tag)
# Line 451  class Data { Line 489  class Data {
489       \param value - Input - value to assign to data-points associated with       \param value - Input - value to assign to data-points associated with
490                              the given reference number.                              the given reference number.
491    */    */
492      ESCRIPT_DLL_API
493    void    void
494    setRefValue(int ref,    setRefValue(int ref,
495                const boost::python::numeric::array& value);                const boost::python::numeric::array& value);
# Line 470  class Data { Line 509  class Data {
509       \param value - Output - object to receive values from data-points       \param value - Output - object to receive values from data-points
510                               associated with the given reference number.                               associated with the given reference number.
511    */    */
512      ESCRIPT_DLL_API
513    void    void
514    getRefValue(int ref,    getRefValue(int ref,
515                boost::python::numeric::array& value);                boost::python::numeric::array& value);
# Line 482  class Data { Line 522  class Data {
522       \param sampleNo - Input -       \param sampleNo - Input -
523       \param dataPointNo - Input -       \param dataPointNo - Input -
524    */    */
525      ESCRIPT_DLL_API
526    inline    inline
527    DataArrayView    DataArrayView
528    getDataPoint(int sampleNo,    getDataPoint(int sampleNo,
# Line 494  class Data { Line 535  class Data {
535       \brief       \brief
536       Return a reference to the data point shape.       Return a reference to the data point shape.
537    */    */
538      ESCRIPT_DLL_API
539    const DataArrayView::ShapeType&    const DataArrayView::ShapeType&
540    getDataPointShape() const;    getDataPointShape() const;
541    
# Line 501  class Data { Line 543  class Data {
543       \brief       \brief
544       Return the data point shape as a tuple of integers.       Return the data point shape as a tuple of integers.
545    */    */
546      ESCRIPT_DLL_API
547    const boost::python::tuple    const boost::python::tuple
548    getShapeTuple() const;    getShapeTuple() const;
549    
# Line 509  class Data { Line 552  class Data {
552       Return the size of the data point. It is the product of the       Return the size of the data point. It is the product of the
553       data point shape dimensions.       data point shape dimensions.
554    */    */
555      ESCRIPT_DLL_API
556    int    int
557    getDataPointSize() const;    getDataPointSize() const;
558    
# Line 516  class Data { Line 560  class Data {
560       \brief       \brief
561       Return the number of doubles stored for this Data.       Return the number of doubles stored for this Data.
562    */    */
563      ESCRIPT_DLL_API
564    DataArrayView::ValueType::size_type    DataArrayView::ValueType::size_type
565    getLength() const;    getLength() const;
566    
# Line 528  class Data { Line 573  class Data {
573       \param value - Input - Value to associate with given key.       \param value - Input - Value to associate with given key.
574      ==>*      ==>*
575    */    */
576      ESCRIPT_DLL_API
577    void    void
578    setTaggedValue(int tagKey,    setTaggedValue(int tagKey,
579                   const boost::python::object& value);                   const boost::python::object& value);
# Line 541  class Data { Line 587  class Data {
587       \param value - Input - Value to associate with given key.       \param value - Input - Value to associate with given key.
588      ==>*      ==>*
589    */    */
590      ESCRIPT_DLL_API
591    void    void
592    setTaggedValueFromCPP(int tagKey,    setTaggedValueFromCPP(int tagKey,
593                          const DataArrayView& value);                          const DataArrayView& value);
# Line 549  class Data { Line 596  class Data {
596      \brief      \brief
597      Copy other Data object into this Data object where mask is positive.      Copy other Data object into this Data object where mask is positive.
598    */    */
599      ESCRIPT_DLL_API
600    void    void
601    copyWithMask(const Data& other,    copyWithMask(const Data& other,
602                 const Data& mask);                 const Data& mask);
# Line 563  class Data { Line 611  class Data {
611       the result as a Data object.       the result as a Data object.
612       *       *
613    */    */
614      ESCRIPT_DLL_API
615    Data    Data
616    interpolate(const FunctionSpace& functionspace) const;    interpolate(const FunctionSpace& functionspace) const;
617    
# Line 572  class Data { Line 621  class Data {
621       If functionspace is not present the function space of Function(getDomain()) is used.       If functionspace is not present the function space of Function(getDomain()) is used.
622       *       *
623    */    */
624      ESCRIPT_DLL_API
625    Data    Data
626    gradOn(const FunctionSpace& functionspace) const;    gradOn(const FunctionSpace& functionspace) const;
627    
628      ESCRIPT_DLL_API
629    Data    Data
630    grad() const;    grad() const;
631    
# Line 583  class Data { Line 634  class Data {
634       Calculate the integral over the function space domain.       Calculate the integral over the function space domain.
635       *       *
636    */    */
637      ESCRIPT_DLL_API
638    boost::python::numeric::array    boost::python::numeric::array
639    integrate() const;    integrate() const;
640    
# Line 591  class Data { Line 643  class Data {
643       Return a Data with a 1 for +ive values and a 0 for 0 or -ive values.       Return a Data with a 1 for +ive values and a 0 for 0 or -ive values.
644       *       *
645    */    */
646      ESCRIPT_DLL_API
647    Data    Data
648    wherePositive() const;    wherePositive() const;
649    
# Line 599  class Data { Line 652  class Data {
652       Return a Data with a 1 for -ive values and a 0 for +ive or 0 values.       Return a Data with a 1 for -ive values and a 0 for +ive or 0 values.
653       *       *
654    */    */
655      ESCRIPT_DLL_API
656    Data    Data
657    whereNegative() const;    whereNegative() const;
658    
# Line 607  class Data { Line 661  class Data {
661       Return a Data with a 1 for +ive or 0 values and a 0 for -ive values.       Return a Data with a 1 for +ive or 0 values and a 0 for -ive values.
662       *       *
663    */    */
664      ESCRIPT_DLL_API
665    Data    Data
666    whereNonNegative() const;    whereNonNegative() const;
667    
# Line 615  class Data { Line 670  class Data {
670       Return a Data with a 1 for -ive or 0 values and a 0 for +ive values.       Return a Data with a 1 for -ive or 0 values and a 0 for +ive values.
671       *       *
672    */    */
673      ESCRIPT_DLL_API
674    Data    Data
675    whereNonPositive() const;    whereNonPositive() const;
676    
# Line 623  class Data { Line 679  class Data {
679       Return a Data with a 1 for 0 values and a 0 for +ive or -ive values.       Return a Data with a 1 for 0 values and a 0 for +ive or -ive values.
680       *       *
681    */    */
682      ESCRIPT_DLL_API
683    Data    Data
684    whereZero(double tol=0.0) const;    whereZero(double tol=0.0) const;
685    
# Line 631  class Data { Line 688  class Data {
688       Return a Data with a 0 for 0 values and a 1 for +ive or -ive values.       Return a Data with a 0 for 0 values and a 1 for +ive or -ive values.
689       *       *
690    */    */
691      ESCRIPT_DLL_API
692    Data    Data
693    whereNonZero(double tol=0.0) const;    whereNonZero(double tol=0.0) const;
694    
# Line 639  class Data { Line 697  class Data {
697       Return the maximum absolute value of this Data object.       Return the maximum absolute value of this Data object.
698       *       *
699    */    */
700      ESCRIPT_DLL_API
701    double    double
702    Lsup() const;    Lsup() const;
703    
# Line 647  class Data { Line 706  class Data {
706       Return the minimum absolute value of this Data object.       Return the minimum absolute value of this Data object.
707       *       *
708    */    */
709      ESCRIPT_DLL_API
710    double    double
711    Linf() const;    Linf() const;
712    
# Line 655  class Data { Line 715  class Data {
715       Return the maximum value of this Data object.       Return the maximum value of this Data object.
716       *       *
717    */    */
718      ESCRIPT_DLL_API
719    double    double
720    sup() const;    sup() const;
721    
# Line 663  class Data { Line 724  class Data {
724       Return the minimum value of this Data object.       Return the minimum value of this Data object.
725       *       *
726    */    */
727      ESCRIPT_DLL_API
728    double    double
729    inf() const;    inf() const;
730    
# Line 671  class Data { Line 733  class Data {
733       Return the absolute value of each data point of this Data object.       Return the absolute value of each data point of this Data object.
734       *       *
735    */    */
736      ESCRIPT_DLL_API
737    Data    Data
738    abs() const;    abs() const;
739    
# Line 679  class Data { Line 742  class Data {
742       Return the maximum value of each data point of this Data object.       Return the maximum value of each data point of this Data object.
743       *       *
744    */    */
745      ESCRIPT_DLL_API
746    Data    Data
747    maxval() const;    maxval() const;
748    
# Line 687  class Data { Line 751  class Data {
751       Return the minimum value of each data point of this Data object.       Return the minimum value of each data point of this Data object.
752       *       *
753    */    */
754      ESCRIPT_DLL_API
755    Data    Data
756    minval() const;    minval() const;
757    
# Line 695  class Data { Line 760  class Data {
760       Return the (sample number, data-point number) of the data point with       Return the (sample number, data-point number) of the data point with
761       the minimum value in this Data object.       the minimum value in this Data object.
762    */    */
763      ESCRIPT_DLL_API
764    const boost::python::tuple    const boost::python::tuple
765    mindp() const;    mindp() const;
766    
767      ESCRIPT_DLL_API
768    void    void
769    calc_mindp(int& SampleNo,    calc_mindp(int& SampleNo,
770               int& DataPointNo) const;               int& DataPointNo) const;
# Line 708  class Data { Line 775  class Data {
775       -1 for negative values, zero for zero values, 1 for positive values.       -1 for negative values, zero for zero values, 1 for positive values.
776       *       *
777    */    */
778      ESCRIPT_DLL_API
779    Data    Data
780    sign() const;    sign() const;
781    
# Line 717  class Data { Line 785  class Data {
785       Currently this function is restricted to rank 2, square shape, and dimension 3.       Currently this function is restricted to rank 2, square shape, and dimension 3.
786       *       *
787    */    */
788      ESCRIPT_DLL_API
789    Data    Data
790    eigenvalues() const;    eigenvalues() const;
791    
# Line 729  class Data { Line 798  class Data {
798       Currently this function is restricted to rank 2, square shape, and dimension 3       Currently this function is restricted to rank 2, square shape, and dimension 3
799       *       *
800    */    */
801      ESCRIPT_DLL_API
802    const boost::python::tuple    const boost::python::tuple
803    eigenvalues_and_eigenvectors(const double tol=1.e-12) const;    eigenvalues_and_eigenvectors(const double tol=1.e-12) const;
804    
# Line 738  class Data { Line 808  class Data {
808       --* not implemented yet *--       --* not implemented yet *--
809       *       *
810    */    */
811      ESCRIPT_DLL_API
812    Data    Data
813    transpose(int axis) const;    transpose(int axis) const;
814    
# Line 746  class Data { Line 817  class Data {
817       Calculate the trace of each data point of this Data object.       Calculate the trace of each data point of this Data object.
818       *       *
819    */    */
820      ESCRIPT_DLL_API
821    Data    Data
822    trace() const;    trace() const;
823    
# Line 754  class Data { Line 826  class Data {
826       Return the sin of each data point of this Data object.       Return the sin of each data point of this Data object.
827       *       *
828    */    */
829      ESCRIPT_DLL_API
830    Data    Data
831    sin() const;    sin() const;
832    
# Line 762  class Data { Line 835  class Data {
835       Return the cos of each data point of this Data object.       Return the cos of each data point of this Data object.
836       *       *
837    */    */
838      ESCRIPT_DLL_API
839    Data    Data
840    cos() const;    cos() const;
841    
# Line 770  class Data { Line 844  class Data {
844       Return the tan of each data point of this Data object.       Return the tan of each data point of this Data object.
845       *       *
846    */    */
847      ESCRIPT_DLL_API
848    Data    Data
849    tan() const;    tan() const;
850    
# Line 778  class Data { Line 853  class Data {
853       Return the asin of each data point of this Data object.       Return the asin of each data point of this Data object.
854       *       *
855    */    */
856      ESCRIPT_DLL_API
857    Data    Data
858    asin() const;    asin() const;
859    
# Line 786  class Data { Line 862  class Data {
862       Return the acos of each data point of this Data object.       Return the acos of each data point of this Data object.
863       *       *
864    */    */
865      ESCRIPT_DLL_API
866    Data    Data
867    acos() const;    acos() const;
868    
# Line 794  class Data { Line 871  class Data {
871       Return the atan of each data point of this Data object.       Return the atan of each data point of this Data object.
872       *       *
873    */    */
874      ESCRIPT_DLL_API
875    Data    Data
876    atan() const;    atan() const;
877    
# Line 802  class Data { Line 880  class Data {
880       Return the sinh of each data point of this Data object.       Return the sinh of each data point of this Data object.
881       *       *
882    */    */
883      ESCRIPT_DLL_API
884    Data    Data
885    sinh() const;    sinh() const;
886    
# Line 810  class Data { Line 889  class Data {
889       Return the cosh of each data point of this Data object.       Return the cosh of each data point of this Data object.
890       *       *
891    */    */
892      ESCRIPT_DLL_API
893    Data    Data
894    cosh() const;    cosh() const;
895    
# Line 818  class Data { Line 898  class Data {
898       Return the tanh of each data point of this Data object.       Return the tanh of each data point of this Data object.
899       *       *
900    */    */
901      ESCRIPT_DLL_API
902    Data    Data
903    tanh() const;    tanh() const;
904    
# Line 826  class Data { Line 907  class Data {
907       Return the asinh of each data point of this Data object.       Return the asinh of each data point of this Data object.
908       *       *
909    */    */
910      ESCRIPT_DLL_API
911    Data    Data
912    asinh() const;    asinh() const;
913    
# Line 834  class Data { Line 916  class Data {
916       Return the acosh of each data point of this Data object.       Return the acosh of each data point of this Data object.
917       *       *
918    */    */
919      ESCRIPT_DLL_API
920    Data    Data
921    acosh() const;    acosh() const;
922    
# Line 842  class Data { Line 925  class Data {
925       Return the atanh of each data point of this Data object.       Return the atanh of each data point of this Data object.
926       *       *
927    */    */
928      ESCRIPT_DLL_API
929    Data    Data
930    atanh() const;    atanh() const;
931    
# Line 850  class Data { Line 934  class Data {
934       Return the log to base 10 of each data point of this Data object.       Return the log to base 10 of each data point of this Data object.
935       *       *
936    */    */
937      ESCRIPT_DLL_API
938    Data    Data
939    log10() const;    log10() const;
940    
# Line 858  class Data { Line 943  class Data {
943       Return the natural log of each data point of this Data object.       Return the natural log of each data point of this Data object.
944       *       *
945    */    */
946      ESCRIPT_DLL_API
947    Data    Data
948    log() const;    log() const;
949    
# Line 866  class Data { Line 952  class Data {
952       Return the exponential function of each data point of this Data object.       Return the exponential function of each data point of this Data object.
953       *       *
954    */    */
955      ESCRIPT_DLL_API
956    Data    Data
957    exp() const;    exp() const;
958    
# Line 874  class Data { Line 961  class Data {
961       Return the square root of each data point of this Data object.       Return the square root of each data point of this Data object.
962       *       *
963    */    */
964      ESCRIPT_DLL_API
965    Data    Data
966    sqrt() const;    sqrt() const;
967    
# Line 882  class Data { Line 970  class Data {
970       Return the negation of each data point of this Data object.       Return the negation of each data point of this Data object.
971       *       *
972    */    */
973      ESCRIPT_DLL_API
974    Data    Data
975    neg() const;    neg() const;
976    
# Line 891  class Data { Line 980  class Data {
980       Simply returns this object unmodified.       Simply returns this object unmodified.
981       *       *
982    */    */
983      ESCRIPT_DLL_API
984    Data    Data
985    pos() const;    pos() const;
986    
# Line 901  class Data { Line 991  class Data {
991       \param right Input - the power to raise the object to.       \param right Input - the power to raise the object to.
992       *       *
993    */    */
994      ESCRIPT_DLL_API
995    Data    Data
996    powD(const Data& right) const;    powD(const Data& right) const;
997    
# Line 911  class Data { Line 1002  class Data {
1002       \param right Input - the power to raise the object to.       \param right Input - the power to raise the object to.
1003       *       *
1004     */     */
1005      ESCRIPT_DLL_API
1006    Data    Data
1007    powO(const boost::python::object& right) const;    powO(const boost::python::object& right) const;
1008    
# Line 922  class Data { Line 1014  class Data {
1014       *       *
1015     */     */
1016    
1017      ESCRIPT_DLL_API
1018    Data    Data
1019    rpowO(const boost::python::object& left) const;    rpowO(const boost::python::object& left) const;
1020    
# Line 929  class Data { Line 1022  class Data {
1022       \brief       \brief
1023       writes the object to a file in the DX file format       writes the object to a file in the DX file format
1024    */    */
1025      ESCRIPT_DLL_API
1026    void    void
1027    saveDX(std::string fileName) const;    saveDX(std::string fileName) const;
1028    
# Line 936  class Data { Line 1030  class Data {
1030       \brief       \brief
1031       writes the object to a file in the VTK file format       writes the object to a file in the VTK file format
1032    */    */
1033      ESCRIPT_DLL_API
1034    void    void
1035    saveVTK(std::string fileName) const;    saveVTK(std::string fileName) const;
1036    
# Line 945  class Data { Line 1040  class Data {
1040       \param right - Input - The right hand side.       \param right - Input - The right hand side.
1041       *       *
1042    */    */
1043      ESCRIPT_DLL_API
1044    Data& operator+=(const Data& right);    Data& operator+=(const Data& right);
1045      ESCRIPT_DLL_API
1046    Data& operator+=(const boost::python::object& right);    Data& operator+=(const boost::python::object& right);
1047    
1048    /**    /**
# Line 954  class Data { Line 1051  class Data {
1051       \param right - Input - The right hand side.       \param right - Input - The right hand side.
1052       *       *
1053    */    */
1054      ESCRIPT_DLL_API
1055    Data& operator-=(const Data& right);    Data& operator-=(const Data& right);
1056      ESCRIPT_DLL_API
1057    Data& operator-=(const boost::python::object& right);    Data& operator-=(const boost::python::object& right);
1058    
1059   /**   /**
# Line 963  class Data { Line 1062  class Data {
1062       \param right - Input - The right hand side.       \param right - Input - The right hand side.
1063       *       *
1064    */    */
1065      ESCRIPT_DLL_API
1066    Data& operator*=(const Data& right);    Data& operator*=(const Data& right);
1067      ESCRIPT_DLL_API
1068    Data& operator*=(const boost::python::object& right);    Data& operator*=(const boost::python::object& right);
1069    
1070   /**   /**
# Line 972  class Data { Line 1073  class Data {
1073       \param right - Input - The right hand side.       \param right - Input - The right hand side.
1074       *       *
1075    */    */
1076      ESCRIPT_DLL_API
1077    Data& operator/=(const Data& right);    Data& operator/=(const Data& right);
1078      ESCRIPT_DLL_API
1079    Data& operator/=(const boost::python::object& right);    Data& operator/=(const boost::python::object& right);
1080    
1081    /**    /**
1082       \brief       \brief
1083       Returns true if this can be interpolated to functionspace.       Returns true if this can be interpolated to functionspace.
1084    */    */
1085      ESCRIPT_DLL_API
1086    bool    bool
1087    probeInterpolation(const FunctionSpace& functionspace) const;    probeInterpolation(const FunctionSpace& functionspace) const;
1088    
# Line 997  class Data { Line 1101  class Data {
1101       \param key - Input - python slice tuple specifying       \param key - Input - python slice tuple specifying
1102       slice to return.       slice to return.
1103    */    */
1104      ESCRIPT_DLL_API
1105    Data    Data
1106    getItem(const boost::python::object& key) const;    getItem(const boost::python::object& key) const;
1107    
# Line 1011  class Data { Line 1116  class Data {
1116       slice to copy from value.       slice to copy from value.
1117       \param value - Input - Data object to copy from.       \param value - Input - Data object to copy from.
1118    */    */
1119      ESCRIPT_DLL_API
1120    void    void
1121    setItemD(const boost::python::object& key,    setItemD(const boost::python::object& key,
1122             const Data& value);             const Data& value);
1123    
1124      ESCRIPT_DLL_API
1125    void    void
1126    setItemO(const boost::python::object& key,    setItemO(const boost::python::object& key,
1127             const boost::python::object& value);             const boost::python::object& value);
# Line 1027  class Data { Line 1134  class Data {
1134       this Data object.       this Data object.
1135    */    */
1136    template <class UnaryFunction>    template <class UnaryFunction>
1137      ESCRIPT_DLL_API
1138    inline    inline
1139    void    void
1140    unaryOp(UnaryFunction operation);    unaryOp(UnaryFunction operation);
# Line 1038  class Data { Line 1146  class Data {
1146       \param region - Input - Region to copy.       \param region - Input - Region to copy.
1147       *       *
1148    */    */
1149      ESCRIPT_DLL_API
1150    Data    Data
1151    getSlice(const DataArrayView::RegionType& region) const;    getSlice(const DataArrayView::RegionType& region) const;
1152    
# Line 1049  class Data { Line 1158  class Data {
1158       \param region - Input - Region to copy.       \param region - Input - Region to copy.
1159       *       *
1160    */    */
1161      ESCRIPT_DLL_API
1162    void    void
1163    setSlice(const Data& value,    setSlice(const Data& value,
1164             const DataArrayView::RegionType& region);             const DataArrayView::RegionType& region);
# Line 1058  class Data { Line 1168  class Data {
1168       Archive the current Data object to the given file.       Archive the current Data object to the given file.
1169       \param fileName - Input - file to archive to.       \param fileName - Input - file to archive to.
1170    */    */
1171      ESCRIPT_DLL_API
1172    void    void
1173    archiveData(const std::string fileName);    archiveData(const std::string fileName);
1174    
# Line 1069  class Data { Line 1180  class Data {
1180       \param fileName - Input - file to extract from.       \param fileName - Input - file to extract from.
1181       \param fspace - Input - a suitable FunctionSpace descibing the data.       \param fspace - Input - a suitable FunctionSpace descibing the data.
1182    */    */
1183      ESCRIPT_DLL_API
1184    void    void
1185    extractData(const std::string fileName,    extractData(const std::string fileName,
1186                const FunctionSpace& fspace);                const FunctionSpace& fspace);
# Line 1223  Data::initialise(const IValueType& value Line 1335  Data::initialise(const IValueType& value
1335    Operator+    Operator+
1336    Takes two Data objects.    Takes two Data objects.
1337  */  */
1338  Data operator+(const Data& left, const Data& right);  ESCRIPT_DLL_API Data operator+(const Data& left, const Data& right);
1339    
1340  /**  /**
1341    \brief    \brief
1342    Operator-    Operator-
1343    Takes two Data objects.    Takes two Data objects.
1344  */  */
1345  Data operator-(const Data& left, const Data& right);  ESCRIPT_DLL_API Data operator-(const Data& left, const Data& right);
1346    
1347  /**  /**
1348    \brief    \brief
1349    Operator*    Operator*
1350    Takes two Data objects.    Takes two Data objects.
1351  */  */
1352  Data operator*(const Data& left, const Data& right);  ESCRIPT_DLL_API Data operator*(const Data& left, const Data& right);
1353    
1354  /**  /**
1355    \brief    \brief
1356    Operator/    Operator/
1357    Takes two Data objects.    Takes two Data objects.
1358  */  */
1359  Data operator/(const Data& left, const Data& right);  ESCRIPT_DLL_API Data operator/(const Data& left, const Data& right);
1360    
1361  /**  /**
1362    \brief    \brief
# Line 1252  Data operator/(const Data& left, const D Line 1364  Data operator/(const Data& left, const D
1364    Takes LHS Data object and RHS python::object.    Takes LHS Data object and RHS python::object.
1365    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1366  */  */
1367  Data operator+(const Data& left, const boost::python::object& right);  ESCRIPT_DLL_API Data operator+(const Data& left, const boost::python::object& right);
1368    
1369  /**  /**
1370    \brief    \brief
# Line 1260  Data operator+(const Data& left, const b Line 1372  Data operator+(const Data& left, const b
1372    Takes LHS Data object and RHS python::object.    Takes LHS Data object and RHS python::object.
1373    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1374  */  */
1375  Data operator-(const Data& left, const boost::python::object& right);  ESCRIPT_DLL_API Data operator-(const Data& left, const boost::python::object& right);
1376    
1377  /**  /**
1378    \brief    \brief
# Line 1268  Data operator-(const Data& left, const b Line 1380  Data operator-(const Data& left, const b
1380    Takes LHS Data object and RHS python::object.    Takes LHS Data object and RHS python::object.
1381    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1382  */  */
1383  Data operator*(const Data& left, const boost::python::object& right);  ESCRIPT_DLL_API Data operator*(const Data& left, const boost::python::object& right);
1384    
1385  /**  /**
1386    \brief    \brief
# Line 1276  Data operator*(const Data& left, const b Line 1388  Data operator*(const Data& left, const b
1388    Takes LHS Data object and RHS python::object.    Takes LHS Data object and RHS python::object.
1389    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1390  */  */
1391  Data operator/(const Data& left, const boost::python::object& right);  ESCRIPT_DLL_API Data operator/(const Data& left, const boost::python::object& right);
1392    
1393  /**  /**
1394    \brief    \brief
# Line 1284  Data operator/(const Data& left, const b Line 1396  Data operator/(const Data& left, const b
1396    Takes LHS python::object and RHS Data object.    Takes LHS python::object and RHS Data object.
1397    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1398  */  */
1399  Data operator+(const boost::python::object& left, const Data& right);  ESCRIPT_DLL_API Data operator+(const boost::python::object& left, const Data& right);
1400    
1401  /**  /**
1402    \brief    \brief
# Line 1292  Data operator+(const boost::python::obje Line 1404  Data operator+(const boost::python::obje
1404    Takes LHS python::object and RHS Data object.    Takes LHS python::object and RHS Data object.
1405    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1406  */  */
1407  Data operator-(const boost::python::object& left, const Data& right);  ESCRIPT_DLL_API Data operator-(const boost::python::object& left, const Data& right);
1408    
1409  /**  /**
1410    \brief    \brief
# Line 1300  Data operator-(const boost::python::obje Line 1412  Data operator-(const boost::python::obje
1412    Takes LHS python::object and RHS Data object.    Takes LHS python::object and RHS Data object.
1413    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1414  */  */
1415  Data operator*(const boost::python::object& left, const Data& right);  ESCRIPT_DLL_API Data operator*(const boost::python::object& left, const Data& right);
1416    
1417  /**  /**
1418    \brief    \brief
# Line 1308  Data operator*(const boost::python::obje Line 1420  Data operator*(const boost::python::obje
1420    Takes LHS python::object and RHS Data object.    Takes LHS python::object and RHS Data object.
1421    python::object must be convertable to Data type.    python::object must be convertable to Data type.
1422  */  */
1423  Data operator/(const boost::python::object& left, const Data& right);  ESCRIPT_DLL_API Data operator/(const boost::python::object& left, const Data& right);
1424    
1425  /**  /**
1426    \brief    \brief
1427    Output operator    Output operator
1428  */  */
1429  std::ostream& operator<<(std::ostream& o, const Data& data);  ESCRIPT_DLL_API std::ostream& operator<<(std::ostream& o, const Data& data);
1430    
1431  /**  /**
1432    \brief    \brief
# Line 1322  std::ostream& operator<<(std::ostream& o Line 1434  std::ostream& operator<<(std::ostream& o
1434    NB: this operator does very little at this point, and isn't to    NB: this operator does very little at this point, and isn't to
1435    be relied on. Requires further implementation.    be relied on. Requires further implementation.
1436  */  */
1437  //bool operator==(const Data& left, const Data& right);  //ESCRIPT_DLL_API bool operator==(const Data& left, const Data& right);
1438    
1439  /**  /**
1440    \brief    \brief

Legend:
Removed from v.756  
changed lines
  Added in v.757

  ViewVC Help
Powered by ViewVC 1.1.26