UNPKG

@stdlib/simulate-iter-lanczos-pulse

Version:

Create an iterator which generates a Lanczos pulse waveform.

8 lines (7 loc) 2.11 kB
"use strict";var s=function(e,r){return function(){return r||e((r={exports:{}}).exports,r),r.exports}};var m=s(function(F,l){ var E=require('@stdlib/assert-is-plain-object/dist'),a=require('@stdlib/assert-has-own-property/dist'),T=require('@stdlib/assert-is-positive-number/dist').isPrimitive,x=require('@stdlib/assert-is-integer/dist').isPrimitive,p=require('@stdlib/assert-is-positive-integer/dist').isPrimitive,I=require('@stdlib/assert-is-nonnegative-integer/dist').isPrimitive,t=require('@stdlib/error-tools-fmtprodmsg/dist');function N(e,r){return E(r)?a(r,"duration")&&(e.duration=r.duration,!p(r.duration))?new TypeError(t('0tN3P',"duration",r.duration)):a(r,"period")&&(e.period=r.period,!p(r.period))?new TypeError(t('0tN3P',"period",r.period)):a(r,"amplitude")&&(e.amplitude=r.amplitude,!T(r.amplitude))?new TypeError(t('0tN4D',"amplitude",r.amplitude)):a(r,"offset")&&(e.offset=r.offset,!x(r.offset))?new TypeError(t('0tN8M',"offset",r.offset)):a(r,"iter")&&(e.iter=r.iter,!I(r.iter))?new TypeError(t('0tN2t',"iter",r.iter)):null:new TypeError(t('0tN2V',r));}l.exports=N });var w=s(function(G,c){ var d=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),g=require('@stdlib/symbol-iterator/dist'),q=require('@stdlib/error-tools-fmtprodmsg/dist'),R=require('@stdlib/math-base-special-sinc/dist'),j=m();function b(e){var r,n,f,u,i,v,o;if(r={duration:-1,period:100,amplitude:1,offset:0,iter:1e308},arguments.length&&(u=j(r,e),u))throw u;if(r.duration===-1&&(r.duration=r.period),r.duration>r.period)throw new RangeError(q('0tN8K',"duration",r.duration));if(r.duration<=2)throw new RangeError(q('0tN8L',"duration",r.duration));return i=(r.period-r.offset)%r.period,i<0&&(i+=r.period),v=2/(r.duration-1),i-=1,o=0,n={},d(n,"next",O),d(n,"return",h),g&&d(n,g,y),n;function O(){return o+=1,f||o>r.iter?{done:!0}:(i=(i+1)%r.period,{value:i<r.duration?r.amplitude*R(v*i-1):0,done:!1})}function h(P){return f=!0,arguments.length?{value:P,done:!0}:{done:!0}}function y(){return b(r)}}c.exports=b });var L=w();module.exports=L; /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map