rat-vec

WebJar for rat-vec

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

rat-vec
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

rat-vec
WebJar for rat-vec
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/rat-nest/rat-vec

Download rat-vec

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/rat-vec/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>rat-vec</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/rat-vec/
implementation 'org.webjars.npm:rat-vec:1.1.1'
// https://jarcasting.com/artifacts/org.webjars.npm/rat-vec/
implementation ("org.webjars.npm:rat-vec:1.1.1")
'org.webjars.npm:rat-vec:jar:1.1.1'
<dependency org="org.webjars.npm" name="rat-vec" rev="1.1.1">
  <artifact name="rat-vec" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='rat-vec', version='1.1.1')
)
libraryDependencies += "org.webjars.npm" % "rat-vec" % "1.1.1"
[org.webjars.npm/rat-vec "1.1.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : big-rat jar [1.0.3,2)

Project Modules

There are no modules declared in this project.

rat-vec

Exact rational vector arithmetic.

rat-vec is slow but reliable. You can use it to get quickly and reliably implement geometric algorithms, then go back and smash your head into a wall trying to optimize them with filters and predicates and snap rounding and so on.

This library is built on top of bn.js

Example

var vec = require('rat-vec')

var toFloat = require('rat-vec/to-float')

var add = require('rat-vec/add')

var sub = require('rat-vec/sub')

var dot = require('rat-vec/sub')

Install

npm i rat-vec

API

A rat-vec is an array of big-rats.

var r = require('rat-vec')(v)

Converts a vector of n floating point numbers into an exact rational vector of n+1 big ints.

  • v is a vector of floats, big-rats or strings

Returns A rational vector of big integers

require('rat-vec/is-vec')(v)

Test if v is a rat-vec

var v = require('rat-vec/to-float')(r)

Rounds a vector of big-rats into a

  • r is a vector of n big integers

Returns A vector of n floats representing the closest representable vector

var s = require('rat-vec/add')(a, b)

Returns The vector sum of a and b

var d = require('rat-vec/sub')(a, b)

Returns The vector difference of a and b

var f = require('rat-vec/dot')(a, b)

Returns The dot product of a and b

var v = require('rat-vec/muls')(a, s)

Returns The scalar product of a and s, where s is a float, big-rat or string

var v = require('rat-vec/divs')(a, s)

Returns a divided by the scalar s

var lerp = require('rat-vec/lerp')(a, b, t)

Linearly interpolate between a and b with parameter t

var c = require('rat-vec/cmp')(a, b)

Compares the components of a and b, returns an array of 0,+1,-1 whose components are the result of comparing each value.

var eq = require('rat-vec/equals')(a, b)

Test if two rational vectors are equal.

var h = require('rat-vec/max')(a, b)

Computes the component-wise maximum of a and b

var l = require('rat-vec/min')(a, b)

Computes the component-wise minimum of a and b

var p = require('rat-vec/mul')(a, b)

Computes the component-wise product of a and b

var r = require('rat-vec/recip')(a)

Computes the component-wise reciprocal of a

var q = require('rat-vec/div')(a, b)

Computes the component-wise quotient of a and b

var n = require('rat-vec/neg')(x)

Computes the additive inverse of x

var n = require('rat-vec/abs')(x)

Computes the component-wise absolute value of x

Credits

(c) 2015, MIT License

Rat logo CC licensed, (c) La Tarte Au Citron

org.webjars.npm

rat nest

Exact rational arithmetic for computational geometry

Versions

Version
1.1.1