Struct caminos_lib::pattern::LinearTransform
source · pub struct LinearTransform { /* private fields */ }
Expand description
Matrix by vector multiplication. Origin is given coordinates as within a block of size source_size
.
Then the destination coordinate vector is y=Mx
, with x
being the origin and M
the given matrix
.
This destination vector is converted into an index into a block of size target_size
.
Example configuration:
ⓘ
LinearTransform{
source_size: [4,8,8],
matrix: [
[1,0,0],
[0,1,0],
[0,0,1],
],
target_size: [4,8,8],
legend_name: "Identity",
}
Trait Implementations§
source§impl Debug for LinearTransform
impl Debug for LinearTransform
source§impl Pattern for LinearTransform
impl Pattern for LinearTransform
source§fn initialize(
&mut self,
source_size: usize,
target_size: usize,
_topology: &dyn Topology,
_rng: &mut StdRng
)
fn initialize( &mut self, source_size: usize, target_size: usize, _topology: &dyn Topology, _rng: &mut StdRng )
Fix the input and output size, providing the topology and random number generator.
Careful with using topology in sub-patterns. For example, it may be misleading to use the dragonfly topology when
building a pattern among groups or a pattern among the routers of a single group.
Even just a pattern of routers instead of a pattern of servers can lead to mistakes.
Read the documentation of the traffic or meta-pattern using the pattern to know what its their input and output.
source§impl Quantifiable for LinearTransform
impl Quantifiable for LinearTransform
source§fn total_memory(&self) -> usize
fn total_memory(&self) -> usize
Get the total memory currently being employed by the implementing type. Both stack and heap.
source§fn print_memory_breakdown(&self)
fn print_memory_breakdown(&self)
Prints by stdout how much memory is used per component.
source§fn forecast_total_memory(&self) -> usize
fn forecast_total_memory(&self) -> usize
Get an estimation on how much memory the type could reach during the simulation.
Auto Trait Implementations§
impl RefUnwindSafe for LinearTransform
impl Send for LinearTransform
impl Sync for LinearTransform
impl Unpin for LinearTransform
impl UnwindSafe for LinearTransform
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more