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-04-04 08:07:37 +00:00
|
|
|
use Arma\IMat;
|
|
|
|
use Arma\Complex;
|
|
|
|
|
2019-02-15 05:44:52 +00:00
|
|
|
/**
|
2019-03-08 14:15:02 +00:00
|
|
|
* Interface for objects with a dense layout (Mat, Col and Row).
|
2019-02-15 05:44:52 +00:00
|
|
|
*
|
|
|
|
* @package Arma\Internal
|
|
|
|
*/
|
2019-03-18 14:49:42 +00:00
|
|
|
interface Dense extends Base
|
2019-02-05 13:31:16 +00:00
|
|
|
{
|
2019-02-14 11:11:36 +00:00
|
|
|
/**
|
|
|
|
* Element-wise equality evaluation of two objects.
|
|
|
|
*
|
|
|
|
* @param static $other
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
|
|
|
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
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
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
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
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
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
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
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
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
|
2019-04-04 08:07:37 +00:00
|
|
|
* @return IMat
|
2019-02-14 11:11:36 +00:00
|
|
|
*/
|
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
|
|
|
*
|
2019-04-04 08:07:37 +00:00
|
|
|
* @param number|Complex $value
|
2019-02-23 02:07:23 +00:00
|
|
|
* @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-05 13:31:16 +00:00
|
|
|
}
|