Skip to content

Instantly share code, notes, and snippets.

View ghalimi's full-sized avatar

Ismael Ghalimi ghalimi

View GitHub Profile
@ghalimi
ghalimi / BITRSHIFT.js
Created January 8, 2013 23:16
BITRSHIFT Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function BITRSHIFT(number, shift) {
// Return error if either number is a non-numeric value
if (isNaN(number) || isNaN(shift)) return '#VALUE!';
// Return error if number is less than 0
if (number < 0) return '#NUM!';
// Return error if number is a non-integer
@ghalimi
ghalimi / COMPLEX.js
Last active December 10, 2015 21:18
COMPLEX Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function COMPLEX(real, imaginary, suffix) {
// Return error if either number is a non-numeric value
if (isNaN(real) || isNaN(imaginary)) return '#VALUE!';
// Set suffix
var suffix = (typeof suffix === 'undefined') ? 'i' : suffix;
// Return error if suffix is neither "i" nor "j"
@ghalimi
ghalimi / CONVERT.js
Created January 10, 2013 16:02
CONVERT Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function CONVERT(number, from_unit, to_unit) {
// Return error if number is a non-numeric value
if (isNaN(number)) return '#VALUE!';
// List of units supported by CONVERT and units defined by the International System of Units
// [Name, Symbol, Alternate symbols, Quantity, International System of Units, Supported by CONVERT, Conversion ratio]
var units = [
["a.u. of action","ħ",null,"action",false,false,1.05457168181818e-34],
@ghalimi
ghalimi / DEC2BIN.js
Last active December 11, 2015 00:18
DEC2BIN Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function DEC2BIN(number, places) {
// Return error if number is not a number
if (isNaN(number)) return '#VALUE!';
// Return error if number is not decimal, is lower than -512, or is greater than 511
if (!/^-?[0-9]{1,3}$/.test(number) || number < -512 || number > 511) return '#NUM!';
// Ignore places and return a 10-character binary number if number is negative
@ghalimi
ghalimi / DEC2OCT.js
Last active December 11, 2015 00:18
DEC2OCT Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function DEC2OCT(number, places) {
// Return error if number is not a number
if (isNaN(number)) return '#VALUE!';
// Return error if number is not decimal, is lower than -549755813888, or is greater than 549755813887
if (!/^-?[0-9]{1,9}$/.test(number) || number < -536870912 || number > 536870911) return '#NUM!';
// Ignore places and return a 10-character octal number if number is negative
@ghalimi
ghalimi / ERFC.js
Created January 13, 2013 16:05
ERFC Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function ERFC(x) {
// Return error if x is not a number
if (isNaN(x)) return '#VALUE!';
// Return ERFC using jStat [http://www.jstat.org/]
return jStat.erfc(x);
}
@ghalimi
ghalimi / ERF.js
Created January 13, 2013 16:06
ERF Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function ERF(lower_bound, upper_bound) {
// Set number2 to zero if undefined
upper_bound = (typeof upper_bound === 'undefined') ? 0 : upper_bound;
// Return error if either number is not a number
if (isNaN(lower_bound) || isNaN(upper_bound)) return '#VALUE!';
// Return ERFC using jStat [http://www.jstat.org/]
@ghalimi
ghalimi / GESTEP.js
Created January 13, 2013 16:38
GESTEP Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function GESTEP(number, step) {
// Set step to zero if undefined
step = (typeof step === 'undefined') ? 0 : step;
// Return error if either number is not a number
if (isNaN(number) || isNaN(step)) return '#VALUE!';
// Return delta
@ghalimi
ghalimi / HEX2OCT.js
Last active December 11, 2015 01:48
HEX2OCT Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function HEX2OCT(number, places) {
// Return error if number is not hexadecimal or contains more than ten characters (10 digits)
if (!/^[0-9A-Fa-f]{1,10}$/.test(number)) return '#NUM!';
// Convert hexadecimal number to decimal
var decimal = parseInt(number, 16);
// Return error if number is positive and greater than 0x1fffffff (536870911)
@ghalimi
ghalimi / OCT2BIN.js
Created January 13, 2013 19:30
OCT2BIN Function
// Copyright (c) 2012 Sutoiku, Inc. (MIT License)
function OCT2BIN(number, places) {
// Return error if number is not hexadecimal or contains more than ten characters (10 digits)
if (!/^[0-7]{1,10}$/.test(number)) return '#NUM!';
// Check if number is negative
var negative = (number.length === 10 && number.substring(0, 1) === '7') ? true : false;
// Convert octal number to decimal