GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
libinterp
octave-value
ov-flt-re-diag.h
Go to the documentation of this file.
1
/*
2
3
Copyright (C) 2008-2013 Jaroslav Hajek
4
5
This file is part of Octave.
6
7
Octave is free software; you can redistribute it and/or modify it
8
under the terms of the GNU General Public License as published by the
9
Free Software Foundation; either version 3 of the License, or (at your
10
option) any later version.
11
12
Octave is distributed in the hope that it will be useful, but WITHOUT
13
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15
for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with Octave; see the file COPYING. If not, see
19
<http://www.gnu.org/licenses/>.
20
21
*/
22
23
#if !defined (octave_ov_flt_re_diag_h)
24
#define octave_ov_flt_re_diag_h 1
25
26
#include "
ov-base.h
"
27
#include "
ov-base-diag.h
"
28
#include "
ov-flt-re-mat.h
"
29
#include "
ov-typeinfo.h
"
30
31
// Real diagonal matrix values.
32
33
class
34
OCTINTERP_API
35
octave_float_diag_matrix
36
:
public
octave_base_diag<FloatDiagMatrix, FloatMatrix>
37
{
38
public
:
39
40
octave_float_diag_matrix
(
void
)
41
:
octave_base_diag
<
FloatDiagMatrix
,
FloatMatrix
> () { }
42
43
octave_float_diag_matrix
(
const
FloatDiagMatrix
& m)
44
:
octave_base_diag
<
FloatDiagMatrix
,
FloatMatrix
> (m) { }
45
46
octave_float_diag_matrix
(
const
octave_float_diag_matrix
& m)
47
:
octave_base_diag
<
FloatDiagMatrix
,
FloatMatrix
> (m) { }
48
49
~octave_float_diag_matrix
(
void
) { }
50
51
octave_base_value
*clone (
void
)
const
52
{
return
new
octave_float_diag_matrix
(*
this
); }
53
octave_base_value
*empty_clone (
void
)
const
54
{
return
new
octave_float_diag_matrix
(); }
55
56
type_conv_info numeric_conversion_function (
void
)
const
;
57
58
octave_base_value
*try_narrowing_conversion (
void
);
59
60
builtin_type_t
builtin_type
(
void
)
const
{
return
btyp_float
; }
61
62
bool
is_real_matrix
(
void
)
const
{
return
true
; }
63
64
bool
is_real_type
(
void
)
const
{
return
true
; }
65
66
bool
is_single_type
(
void
)
const
{
return
true
; }
67
68
bool
is_float_type
(
void
)
const
{
return
true
; }
69
70
DiagMatrix
diag_matrix_value (
bool
=
false
)
const
;
71
72
FloatDiagMatrix
float_diag_matrix_value (
bool
=
false
)
const
;
73
74
ComplexDiagMatrix
complex_diag_matrix_value (
bool
=
false
)
const
;
75
76
FloatComplexDiagMatrix
float_complex_diag_matrix_value (
bool
=
false
)
const
;
77
78
bool
save_binary (std::ostream& os,
bool
& save_as_floats);
79
80
bool
load_binary (std::istream& is,
bool
swap,
81
oct_mach_info::float_format
fmt);
82
83
octave_value
map (unary_mapper_t umap)
const
;
84
85
private
:
86
87
bool
chk_valid_scalar (
const
octave_value
&,
88
float
&)
const
;
89
90
DECLARE_OCTAVE_ALLOCATOR
91
92
DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
93
};
94
95
#endif
Generated on Mon Dec 30 2013 03:04:33 for GNU Octave by
1.8.1.2