This repository has been archived on 2020-06-07. You can view files and clone it, but cannot push or open issues or pull requests.
php-armadillo/stubs/internal/Dense.php

106 lines
2.3 KiB
PHP
Raw Normal View History

2019-02-05 13:31:16 +00:00
<?php
2019-02-07 11:39:47 +00:00
namespace Arma\Internal;
2019-02-05 13:31:16 +00:00
2019-02-15 05:44:52 +00:00
/**
2019-02-23 02:07:23 +00:00
* Interface for objects with a dense layout (Mat and Vec).
2019-02-15 05:44:52 +00:00
*
* @package Arma\Internal
*/
2019-02-24 03:39:51 +00:00
interface Dense extends Common
2019-02-05 13:31:16 +00:00
{
2019-02-14 11:11:36 +00:00
/**
* Element-wise division of an object by another object or a scalar.
*
* @param static|number $other
* @return static
*/
2019-02-05 13:31:16 +00:00
function div($other);
2019-02-14 11:11:36 +00:00
/**
* Element-wise equality evaluation of two objects.
*
*
* @param static $other
* @return \Arma\IMat
*/
function equals($other);
2019-02-05 13:31:16 +00:00
2019-02-14 11:11:36 +00:00
/**
* Element-wise non-equality evaluation of two objects.
*
* @param static $other
* @return \Arma\IMat
*/
2019-02-05 13:31:16 +00:00
function notEquals($other);
2019-02-14 11:11:36 +00:00
/**
* Element-wise "greater than" evaluation of two objects.
*
* @param static $other
* @return \Arma\IMat
*/
2019-02-05 13:31:16 +00:00
function greaterThan($other);
2019-02-14 11:11:36 +00:00
/**
* Element-wise "smaller than" evaluation of two objects.
*
* @param static $other
* @return \Arma\IMat
*/
2019-02-05 13:31:16 +00:00
function smallerThan($other);
2019-02-14 11:11:36 +00:00
/**
* Element-wise "not greater than" evaluation of two objects.
*
* @param static $other
* @return \Arma\IMat
*/
2019-02-05 13:31:16 +00:00
function notGreaterThan($other);
2019-02-14 11:11:36 +00:00
/**
* Element-wise "not smaller than" evaluation of two objects.
*
* @param static $other
* @return \Arma\IMat
*/
2019-02-05 13:31:16 +00:00
function notSmallerThan($other);
2019-02-23 02:07:23 +00:00
/**
2019-02-24 09:01:11 +00:00
* Sets the elements to a specified value. The type of value must match the type of elements used by
* the container object.
2019-02-23 02:07:23 +00:00
*
2019-02-24 09:01:11 +00:00
* For matrices, filling is done column-by-column.
2019-02-23 02:07:23 +00:00
*
* @param number|\Arma\Complex $value
* @return void
*/
function fill($value);
/**
2019-02-24 09:01:11 +00:00
* Fill with values provided by a callback function.
2019-02-23 02:07:23 +00:00
*
* For matrices, filling is done column-by-column.
*
2019-02-24 09:01:11 +00:00
* @param callable $callback () => $fill_value
2019-02-23 02:07:23 +00:00
* @return void
*/
function imbue($callback);
2019-02-25 13:56:43 +00:00
/**
* Read/write access to a certain column of the object.
*
* @param int $col_number
* @return \Arma\Colvec (subview)
*/
function col($col_number);
/**
* Read/write access to a certain row of the object.
*
* @param int $row_number
* @return \Arma\Rowvec (subview)
*/
function row($row_number);
2019-02-05 13:31:16 +00:00
}